aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-08-11 20:22:41 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-08-11 20:22:41 +0000
commit6eabb2412f6c4c8306fb2f8fd05abf608e29caa9 (patch)
treea85a706a6d7637e50290fb77ee7eabbc48eae4e7 /gcc
parentb6062b273ff29769c373f0c541c6fe76a642a1b0 (diff)
downloadgcc-6eabb2412f6c4c8306fb2f8fd05abf608e29caa9.zip
gcc-6eabb2412f6c4c8306fb2f8fd05abf608e29caa9.tar.gz
gcc-6eabb2412f6c4c8306fb2f8fd05abf608e29caa9.tar.bz2
extend.texi (C++ Signatures): Remove node.
* extend.texi (C++ Signatures): Remove node. * invoke.texi: Remove discussion of -fhandle-signatures, signature, sigof, __signature__, and __sigof__. * Make-lang.in (CXX_SRCS): Remove sig.c. * Makefile.in (CXX_OBJS): Remove sig.o. (sig.o): Remove. * cp-tree.h (CPTI_OPAQUE_TYPE): Remove. (CPTI_SIGNATURE_TYPE): Likewise. (CPTI_SIGTABLE_ENTRY_TYPE): Likewise. (opaque_type_node): Likewise. (signature_type_node): Likewise. (sigtable_entry_type): Likewise. (flag_handle_signatures): Likewise. (lang_type): Remove is_signature, is_signature_pointer, is_signature_reference, has_opaque_typedecls, sigtables_has_been_generated. Adjust dummy. Remove signature, signature_pointer_to, signature_reference_to. (IS_SIGNATURE): Remove. (SET_SIGNATURE): Remove. (CLEAR_SIGNATURE): Remove. (IS_SIGNATURE_POINTER): Remove. (IS_SIGNATURE_REFERENCE): Remove. (SIGNATURE_HAS_OPAQUE_TYPEDECLS): Remove. (SIGTABLE_HAS_BEEN_GENERATED): Remove. (CLASSTYPE_SIGNATURE): Remove. (SIGNATURE_TYPE): Remove. (SIGNATURE_METHOD_VEC): Remove. (SIGNATURE_POINTER_TO): Remove. (SIGNATURE_REFERENCE_TO): Remove. (lang_decl_flags): Remove is_default_implementation. Rename memfunc_pointer_to to saved_tree. (IS_DEFAULT_IMPLEMENTATION): Remove. (DECL_MEMFUNC_POINTER_TO): Remove. (DECL_MEMFUNC_POINTING_TO): Remove. (DECL_SAVED_TREE): Adjust definition. (tag_types): Remove signature_type_node. (SIGNATURE_FIELD_NAME): Remove. (SIGNATURE_FIELD_NAME_FORMAT): Likewise. (SIGNATURE_OPTR_NAME): Likewise. (SIGNATURE_SPTR_NAME): Likewise. (SIGNATURE_POINTER_NAME): Likewise. (SIGNATURE_POINTER_NAME_FORMAT): Likewise. (SIGNATURE_REFERENCE_NAME): Likewise. (SIGNATURE_REFERNECE_NAME_FORMAT): Likewise. (SIGTABLE_PTR_TYPE): Likewise. (SIGTABLE_NAME_FORMAT): Likewise. (SIGTABLE_NAME_FORMAT_LONG): Likewise. (SIGTABLE_TAG_NAME): Likewise. (SIGTABLE_VB_OFF_NAME): Likewise. (SIGTABLE_VT_OFF_NAME): Likewise. (finish_base_specifiers): Change prototype. (build_signature_pointer_type): Remove. (build_signature_reference_type): Remove. (build_signature_pointer_constructor): Remove. (build_signature_method_call): Remove. (build_optr_ref): Likewise. (append_signature_fields): Likewise. (signature_error): Likewise. * call.c (build_this): Remove signature support. (build_over_call): Likewise. (build_new_method_call): Likewise. * class.c (add_implicitly_declared_members): Likewise. (finish_struct_1): Likewise. (finish_struct): Likewise. * cvt.c (cp_convert_to_pointer): Likewise. (convert_to_pointer_force): Likewise. (ocp_convert): Likewise. * decl.c (sigtable_decl_p): Remove. (init_decl_processing): Remove support for signatures. (cp_finish_decl): Likewise. (grokdeclarator): Likewise. (grokparms): Likewise. (xref_tag): Likewise. (start_function): Likewise. (start_method): Likewise. * decl2.c (finish_sigtable_vardecl): Remove. (flag_handle_signatures): Remove. (lang_f_options): Remove handle-signatures. (grokfield): Remove support for signatures. (grokbitfield): Likewise. (finish_file): Likewise. (reparse_absdcl_as_casts): Likewise. * error.c (dump_type_real): Likewise. (dump_function_decl): Likewise. * friend.c (make_friend_class): Likewise. * gxx.gperf: Remove __signature__, signature, __sigof__, sigof. * hash.h: Regenerated. * init.c (build_new_1): Remove support for signatures. * lang-options.h: Remove -fhandle-signatures, -fno-handle-signatures. * lex.c (init_parse): Remove support for signatures. (yyprint): Likewise. * lex.h (rid): Remove RID_SIGNATURE. * method.c (build_decl_overload_real): Remove support for signatures. (hack_identifier): Likewise. * parse.y (base_class): Likewise. (base_class.1): Likewise. (access_specifier): Likewise. * search.c (lookup_member): Likewise. * semantics.c (finish_qualified_object_call_expr): Likewise. (finish_template_type_parm): Likewise. (begin_class_definition): Likewise. (finish_base_specifier): Likewise. * sig.c: Remove. * tree.c (build_cplus_method_type): Remove support for signatures. * typeck.c (require_complete_type): Likewise. (c_sizeof): Likewise. (c_alignof): Likewise. (build_object_ref): Likewise. (build_component_ref): Likewise. (build_indirect_ref): Likewise. (build_c_cast): Likewise. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (signature_error): Remove. (store_init_value): Remove support for signatures. (digest_init): Likewise. (build_x_arrow): Likewise. (build_functional_cast): Likewise. * xref.c (GNU_xref_decl): Likewise. From-SVN: r28677
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cp/Make-lang.in2
-rw-r--r--gcc/cp/Makefile.in4
-rw-r--r--gcc/cp/call.c30
-rw-r--r--gcc/cp/class.c34
-rw-r--r--gcc/cp/cp-tree.h122
-rw-r--r--gcc/cp/cvt.c36
-rw-r--r--gcc/cp/decl.c259
-rw-r--r--gcc/cp/decl2.c64
-rw-r--r--gcc/cp/error.c26
-rw-r--r--gcc/cp/friend.c7
-rw-r--r--gcc/cp/gxx.gperf4
-rw-r--r--gcc/cp/hash.h278
-rw-r--r--gcc/cp/init.c6
-rw-r--r--gcc/cp/lang-options.h2
-rw-r--r--gcc/cp/lex.c14
-rw-r--r--gcc/cp/lex.h1
-rw-r--r--gcc/cp/method.c10
-rw-r--r--gcc/cp/parse.c6651
-rw-r--r--gcc/cp/parse.y56
-rw-r--r--gcc/cp/search.c2
-rw-r--r--gcc/cp/semantics.c72
-rw-r--r--gcc/cp/sig.c1067
-rw-r--r--gcc/cp/tree.c5
-rw-r--r--gcc/cp/typeck.c56
-rw-r--r--gcc/cp/typeck2.c68
-rw-r--r--gcc/cp/xref.c4
-rw-r--r--gcc/extend.texi141
-rw-r--r--gcc/invoke.texi15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig01.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig02.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig03.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig04.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig05.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig06.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig07.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig08.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig09.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig10.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig11.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig12.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig13.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig14.C55
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig15.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig16.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig17.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig18.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig19.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig20.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig21.C56
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig22.C59
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig23.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig24.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig25.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig26.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig27.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig28.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig29.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig30.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig31.C52
60 files changed, 3541 insertions, 6771 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index de83657..080fc15 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Wed Aug 11 12:59:37 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * extend.texi (C++ Signatures): Remove node.
+ * invoke.texi: Remove discussion of -fhandle-signatures,
+ signature, sigof, __signature__, and __sigof__.
+
Wed Aug 11 03:38:25 1999 Jeffrey A Law (law@cygnus.com)
* Makefile.in (JAVAGC): Removed.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 2e681b8..0322855 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -116,7 +116,7 @@ CXX_SRCS = $(srcdir)/cp/call.c $(srcdir)/cp/decl2.c \
$(srcdir)/cp/errfn.c $(srcdir)/cp/rtti.c $(srcdir)/cp/method.c \
$(srcdir)/cp/search.c $(srcdir)/cp/typeck.c $(srcdir)/cp/decl.c \
$(srcdir)/cp/error.c $(srcdir)/cp/friend.c $(srcdir)/cp/init.c \
- $(srcdir)/cp/parse.y $(srcdir)/cp/sig.c $(srcdir)/cp/typeck2.c \
+ $(srcdir)/cp/parse.y $(srcdir)/cp/typeck2.c \
$(srcdir)/cp/repo.c $(srcdir)/cp/semantics.c \
$(srcdir)/cp/dump.c
diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in
index c8be4d6..5860d3d 100644
--- a/gcc/cp/Makefile.in
+++ b/gcc/cp/Makefile.in
@@ -185,7 +185,7 @@ INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config -I$(srcdir)
# Language-specific object files for g++
-CXX_OBJS = call.o decl.o errfn.o expr.o pt.o sig.o typeck2.o \
+CXX_OBJS = call.o decl.o errfn.o expr.o pt.o typeck2.o \
class.o decl2.o error.o lex.o parse.o ptree.o rtti.o spew.o typeck.o cvt.o \
except.o friend.o init.o method.o search.o semantics.o tree.o xref.o \
repo.o dump.o @extra_cxx_objs@
@@ -302,8 +302,6 @@ error.o : error.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../system.h \
$(srcdir)/../toplev.h
errfn.o : errfn.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../system.h \
$(srcdir)/../toplev.h
-sig.o : sig.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h \
- $(srcdir)/../system.h $(srcdir)/../toplev.h
repo.o : repo.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../system.h \
$(srcdir)/../toplev.h
semantics.o: semantics.c $(CONFIG_H) $(CXX_TREE_H) lex.h \
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index fb8f129..a4ed95b 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -2191,11 +2191,7 @@ build_this (obj)
tree obj;
{
/* Fix this to work on non-lvalues. */
- if (IS_SIGNATURE_POINTER (TREE_TYPE (obj))
- || IS_SIGNATURE_REFERENCE (TREE_TYPE (obj)))
- return obj;
- else
- return build_unary_op (ADDR_EXPR, obj, 0);
+ return build_unary_op (ADDR_EXPR, obj, 0);
}
static void
@@ -3899,11 +3895,8 @@ build_over_call (cand, args, flags)
So we can assume that anything passed as 'this' is non-null, and
optimize accordingly. */
- if (TREE_CODE (parmtype) == POINTER_TYPE)
- t = convert_pointer_to_real (TREE_TYPE (parmtype), TREE_VALUE (arg));
- else
- /* This happens with signatures. */
- t = convert_force (parmtype, TREE_VALUE (arg), CONV_C_CAST);
+ my_friendly_assert (TREE_CODE (parmtype) == POINTER_TYPE, 19990811);
+ t = convert_pointer_to_real (TREE_TYPE (parmtype), TREE_VALUE (arg));
converted_args = expr_tree_cons (NULL_TREE, t, converted_args);
parm = TREE_CHAIN (parm);
arg = TREE_CHAIN (arg);
@@ -4084,9 +4077,7 @@ build_over_call (cand, args, flags)
mark_used (fn);
- if (DECL_CLASS_SCOPE_P (fn) && IS_SIGNATURE (DECL_CONTEXT (fn)))
- return build_signature_method_call (fn, converted_args);
- else if (DECL_VINDEX (fn) && (flags & LOOKUP_NONVIRTUAL) == 0)
+ if (DECL_VINDEX (fn) && (flags & LOOKUP_NONVIRTUAL) == 0)
{
tree t, *p = &TREE_VALUE (converted_args);
tree binfo = get_binfo
@@ -4182,10 +4173,7 @@ build_new_method_call (instance, name, args, basetype_path, flags)
basetype = TYPE_MAIN_VARIANT (TREE_TYPE (instance));
/* XXX this should be handled before we get here. */
- if (! IS_AGGR_TYPE (basetype)
- && ! (TYPE_LANG_SPECIFIC (basetype)
- && (IS_SIGNATURE_POINTER (basetype)
- || IS_SIGNATURE_REFERENCE (basetype))))
+ if (! IS_AGGR_TYPE (basetype))
{
if ((flags & LOOKUP_COMPLAIN) && basetype != error_mark_node)
cp_error ("request for member `%D' in `%E', which is of non-aggregate type `%T'",
@@ -4193,14 +4181,6 @@ build_new_method_call (instance, name, args, basetype_path, flags)
return error_mark_node;
}
-
- /* If `instance' is a signature pointer/reference and `name' is
- not a constructor, we are calling a signature member function.
- In that case set the `basetype' to the signature type. */
- if ((IS_SIGNATURE_POINTER (basetype)
- || IS_SIGNATURE_REFERENCE (basetype))
- && TYPE_IDENTIFIER (basetype) != name)
- basetype = SIGNATURE_TYPE (basetype);
}
if (basetype_path == NULL_TREE)
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index a33c889..bc1d581 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -3153,8 +3153,7 @@ add_implicitly_declared_members (t, cant_have_default_ctor,
tree *f;
/* Destructor. */
- if (TYPE_NEEDS_DESTRUCTOR (t) && !TYPE_HAS_DESTRUCTOR (t)
- && !IS_SIGNATURE (t))
+ if (TYPE_NEEDS_DESTRUCTOR (t) && !TYPE_HAS_DESTRUCTOR (t))
{
default_fn = cons_up_default_function (t, name, 0);
check_for_override (default_fn, t);
@@ -3174,8 +3173,7 @@ add_implicitly_declared_members (t, cant_have_default_ctor,
TYPE_NEEDS_DESTRUCTOR (t) |= TYPE_HAS_DESTRUCTOR (t);
/* Default constructor. */
- if (! TYPE_HAS_CONSTRUCTOR (t) && ! cant_have_default_ctor
- && ! IS_SIGNATURE (t))
+ if (! TYPE_HAS_CONSTRUCTOR (t) && ! cant_have_default_ctor)
{
default_fn = cons_up_default_function (t, name, 2);
TREE_CHAIN (default_fn) = implicit_fns;
@@ -3183,7 +3181,7 @@ add_implicitly_declared_members (t, cant_have_default_ctor,
}
/* Copy constructor. */
- if (! TYPE_HAS_INIT_REF (t) && ! IS_SIGNATURE (t) && ! TYPE_FOR_JAVA (t))
+ if (! TYPE_HAS_INIT_REF (t) && ! TYPE_FOR_JAVA (t))
{
/* ARM 12.18: You get either X(X&) or X(const X&), but
not both. --Chip */
@@ -3194,7 +3192,7 @@ add_implicitly_declared_members (t, cant_have_default_ctor,
}
/* Assignment operator. */
- if (! TYPE_HAS_ASSIGN_REF (t) && ! IS_SIGNATURE (t) && ! TYPE_FOR_JAVA (t))
+ if (! TYPE_HAS_ASSIGN_REF (t) && ! TYPE_FOR_JAVA (t))
{
default_fn = cons_up_default_function (t, name,
5 + cant_have_assignment);
@@ -3332,16 +3330,6 @@ finish_struct_1 (t)
TYPE_SIZE (t) = NULL_TREE;
CLASSTYPE_GOT_SEMICOLON (t) = 0;
-#if 0
- /* This is in general too late to do this. I moved the main case up to
- left_curly, what else needs to move? */
- if (! IS_SIGNATURE (t))
- {
- my_friendly_assert (CLASSTYPE_INTERFACE_ONLY (t) == interface_only, 999);
- my_friendly_assert (CLASSTYPE_INTERFACE_KNOWN (t) == ! interface_unknown, 999);
- }
-#endif
-
old = suspend_momentary ();
/* Install struct as DECL_FIELD_CONTEXT of each field decl.
@@ -3578,8 +3566,7 @@ finish_struct_1 (t)
cant_have_default_ctor = 1;
TYPE_HAS_COMPLEX_ASSIGN_REF (t) = 1;
- if (! TYPE_HAS_CONSTRUCTOR (t) && !IS_SIGNATURE (t)
- && extra_warnings)
+ if (! TYPE_HAS_CONSTRUCTOR (t) && extra_warnings)
{
if (DECL_NAME (x))
cp_warning_at ("non-static const member `%#D' in class without a constructor", x);
@@ -3706,10 +3693,6 @@ finish_struct_1 (t)
make it through without complaint. */
abstract_virtuals_error (x, type);
- /* Don't let signatures make it through either. */
- if (IS_SIGNATURE (type))
- signature_error (x, type);
-
if (code == UNION_TYPE)
{
const char *fie = NULL;
@@ -3799,8 +3782,7 @@ finish_struct_1 (t)
TYPE_NEEDS_CONSTRUCTING (t)
|= (TYPE_HAS_CONSTRUCTOR (t) || TYPE_USES_VIRTUAL_BASECLASSES (t)
|| has_virtual || any_default_members);
- if (! IS_SIGNATURE (t))
- CLASSTYPE_NON_AGGREGATE (t)
+ CLASSTYPE_NON_AGGREGATE (t)
= ! aggregate || has_virtual || TYPE_HAS_CONSTRUCTOR (t);
CLASSTYPE_NON_POD_P (t)
= non_pod_class || CLASSTYPE_NON_AGGREGATE (t)
@@ -4347,10 +4329,6 @@ tree
finish_struct (t, attributes)
tree t, attributes;
{
- /* Append the fields we need for constructing signature tables. */
- if (IS_SIGNATURE (t))
- append_signature_fields (t);
-
/* Now that we've got all the field declarations, reverse everything
as necessary. */
unreverse_member_declarations (t);
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index d43009a..1f9a0b2 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -377,9 +377,6 @@ enum cp_tree_index
CPTI_UNION_TYPE,
CPTI_ENUM_TYPE,
CPTI_UNKNOWN_TYPE,
- CPTI_OPAQUE_TYPE,
- CPTI_SIGNATURE_TYPE,
- CPTI_SIGTABLE_ENTRY_TYPE,
CPTI_VTBL_TYPE,
CPTI_VTBL_PTR_TYPE,
CPTI_STD,
@@ -423,9 +420,6 @@ extern tree cp_global_trees[CPTI_MAX];
#define union_type_node cp_global_trees[CPTI_UNION_TYPE]
#define enum_type_node cp_global_trees[CPTI_ENUM_TYPE]
#define unknown_type_node cp_global_trees[CPTI_UNKNOWN_TYPE]
-#define opaque_type_node cp_global_trees[CPTI_OPAQUE_TYPE]
-#define signature_type_node cp_global_trees[CPTI_SIGNATURE_TYPE]
-#define sigtable_entry_type cp_global_trees[CPTI_SIGTABLE_ENTRY_TYPE]
#define vtbl_type_node cp_global_trees[CPTI_VTBL_TYPE]
#define vtbl_ptr_type_node cp_global_trees[CPTI_VTBL_PTR_TYPE]
#define std_node cp_global_trees[CPTI_STD]
@@ -582,10 +576,6 @@ extern int flag_elide_constructors;
extern int flag_ansi;
-/* Nonzero means recognize and handle signature language constructs. */
-
-extern int flag_handle_signatures;
-
/* Nonzero means that member functions defined in class scope are
inline by default. */
@@ -785,24 +775,20 @@ struct lang_type
unsigned use_template : 2;
unsigned got_semicolon : 1;
unsigned ptrmemfunc_flag : 1;
- unsigned is_signature : 1;
-
- unsigned is_signature_pointer : 1;
- unsigned is_signature_reference : 1;
- unsigned has_opaque_typedecls : 1;
- unsigned sigtable_has_been_generated : 1;
unsigned was_anonymous : 1;
+
unsigned has_real_assign_ref : 1;
unsigned has_const_init_ref : 1;
unsigned has_complex_init_ref : 1;
-
unsigned has_complex_assign_ref : 1;
unsigned has_abstract_assign_ref : 1;
unsigned non_aggregate : 1;
unsigned is_partial_instantiation : 1;
unsigned has_mutable : 1;
+
unsigned com_interface : 1;
unsigned non_pod_class : 1;
+
/* When adding a flag here, consider whether or not it ought to
apply to a template instance if it applies to the template.
If so, make sure to copy it in instantiate_class_template! */
@@ -810,7 +796,7 @@ struct lang_type
/* The MIPS compiler gets it wrong if this struct also
does not fill out to a multiple of 4 bytes. Add a
member `dummy' with new bits if you go over the edge. */
- unsigned dummy : 9;
+ unsigned dummy : 14;
} type_flags;
int vsize;
@@ -835,9 +821,6 @@ struct lang_type
union tree_node *methods;
- union tree_node *signature;
- union tree_node *signature_pointer_to;
- union tree_node *signature_reference_to;
union tree_node *template_info;
tree befriending_classes;
};
@@ -888,45 +871,6 @@ struct lang_type
convenient, don't reprocess any methods that appear in its redefinition. */
#define TYPE_REDEFINED(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.redefined)
-/* Nonzero means that this type is a signature. */
-# define IS_SIGNATURE(NODE) (TYPE_LANG_SPECIFIC(NODE)?TYPE_LANG_SPECIFIC(NODE)->type_flags.is_signature:0)
-# define SET_SIGNATURE(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.is_signature=1)
-# define CLEAR_SIGNATURE(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.is_signature=0)
-
-/* Nonzero means that this type is a signature pointer type. */
-# define IS_SIGNATURE_POINTER(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.is_signature_pointer)
-
-/* Nonzero means that this type is a signature reference type. */
-# define IS_SIGNATURE_REFERENCE(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.is_signature_reference)
-
-/* Nonzero means that this signature contains opaque type declarations. */
-#define SIGNATURE_HAS_OPAQUE_TYPEDECLS(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.has_opaque_typedecls)
-
-/* Nonzero means that a signature table has been generated
- for this signature. */
-#define SIGTABLE_HAS_BEEN_GENERATED(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.sigtable_has_been_generated)
-
-/* If NODE is a class, this is the signature type that contains NODE's
- signature after it has been computed using sigof(). */
-#define CLASSTYPE_SIGNATURE(NODE) (TYPE_LANG_SPECIFIC(NODE)->signature)
-
-/* If NODE is a signature pointer or signature reference, this is the
- signature type the pointer/reference points to. */
-#define SIGNATURE_TYPE(NODE) (TYPE_LANG_SPECIFIC(NODE)->signature)
-
-/* If NODE is a signature, this is a vector of all methods defined
- in the signature or in its base types together with their default
- implementations. */
-#define SIGNATURE_METHOD_VEC(NODE) (TYPE_LANG_SPECIFIC(NODE)->signature)
-
-/* If NODE is a signature, this is the _TYPE node that contains NODE's
- signature pointer type. */
-#define SIGNATURE_POINTER_TO(NODE) (TYPE_LANG_SPECIFIC(NODE)->signature_pointer_to)
-
-/* If NODE is a signature, this is the _TYPE node that contains NODE's
- signature reference type. */
-#define SIGNATURE_REFERENCE_TO(NODE) (TYPE_LANG_SPECIFIC(NODE)->signature_reference_to)
-
/* The is the basetype that contains NODE's rtti. */
#define CLASSTYPE_RTTI(NODE) (TYPE_LANG_SPECIFIC(NODE)->rtti)
@@ -1229,30 +1173,27 @@ struct lang_decl_flags
unsigned static_function : 1;
unsigned const_memfunc : 1;
unsigned volatile_memfunc : 1;
-
unsigned abstract_virtual : 1;
unsigned permanent_attr : 1 ;
+
unsigned constructor_for_vbase_attr : 1;
unsigned mutable_flag : 1;
- unsigned is_default_implementation : 1;
unsigned saved_inline : 1;
unsigned use_template : 2;
-
unsigned nonconverting : 1;
unsigned declared_inline : 1;
unsigned not_really_extern : 1;
+
unsigned needs_final_overrider : 1;
unsigned bitfield : 1;
unsigned defined_in_class : 1;
- unsigned dummy : 4;
+ unsigned dummy : 5;
tree access;
tree context;
- /* In a template FUNCTION_DECL, this is DECL_SAVED_TREE.
- In a non-template FUNCTION_DECL, this is DECL_MEMFUNC_POINTER_TO.
- In a FIELD_DECL, this is DECL_MEMFUNC_POINTING_TO. */
- tree memfunc_pointer_to;
+ /* In a template FUNCTION_DECL, this is DECL_SAVED_TREE. */
+ tree saved_tree;
union {
/* In a FUNCTION_DECL, this is DECL_TEMPLATE_INFO. */
@@ -1323,10 +1264,6 @@ struct lang_decl
#define SET_DECL_TINFO_FN_P(NODE) \
(DECL_LANG_SPECIFIC((NODE))->decl_flags.mutable_flag = 1)
-/* For FUNCTION_DECLs: nonzero means that this function is a default
- implementation of a signature method. */
-#define IS_DEFAULT_IMPLEMENTATION(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.is_default_implementation)
-
/* Nonzero for _DECL means that this decl appears in (or will appear
in) as a member in a RECORD_TYPE or UNION_TYPE node. It is also for
detecting circularity in case members are multiply defined. In the
@@ -1477,15 +1414,6 @@ struct lang_decl
#define DECL_SAVED_INLINE(DECL) \
(DECL_LANG_SPECIFIC(DECL)->decl_flags.saved_inline)
-/* For a FUNCTION_DECL: if this function was declared inside a signature
- declaration, this is the corresponding member function pointer that was
- created for it. */
-#define DECL_MEMFUNC_POINTER_TO(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.memfunc_pointer_to)
-
-/* For a FIELD_DECL: this points to the signature member function from
- which this signature member function pointer was created. */
-#define DECL_MEMFUNC_POINTING_TO(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.memfunc_pointer_to)
-
/* For a VAR_DECL or FUNCTION_DECL: template-specific information. */
#define DECL_TEMPLATE_INFO(NODE) \
(DECL_LANG_SPECIFIC(NODE)->decl_flags.u.template_info)
@@ -1573,7 +1501,8 @@ struct lang_decl
/* In a template FUNCTION_DECL, the tree structure that will be
substituted into to obtain instantiations. */
-#define DECL_SAVED_TREE(NODE) DECL_MEMFUNC_POINTER_TO (NODE)
+#define DECL_SAVED_TREE(NODE) \
+ (DECL_LANG_SPECIFIC ((NODE))->decl_flags.saved_tree)
#define COMPOUND_STMT_NO_SCOPE(NODE) TREE_LANG_FLAG_0 (NODE)
#define NEW_EXPR_USE_GLOBAL(NODE) TREE_LANG_FLAG_0 (NODE)
@@ -2201,8 +2130,7 @@ extern int flag_new_for_scope;
(TREE_COMPLEXITY ((NODE)))
/* An enumeration of the kind of tags that C++ accepts. */
-enum tag_types { record_type, class_type, union_type, enum_type,
- signature_type };
+enum tag_types { record_type, class_type, union_type, enum_type };
/* The various kinds of lvalues we distinguish. */
typedef enum cp_lvalue_kind {
@@ -2492,21 +2420,6 @@ extern int current_function_parms_stored;
#define VTABLE_PFN_NAME "__pfn"
#define VTABLE_DELTA2_NAME "__delta2"
-#define SIGNATURE_FIELD_NAME "__s_"
-#define SIGNATURE_FIELD_NAME_FORMAT "__s_%s"
-#define SIGNATURE_OPTR_NAME "__optr"
-#define SIGNATURE_SPTR_NAME "__sptr"
-#define SIGNATURE_POINTER_NAME "__sp_"
-#define SIGNATURE_POINTER_NAME_FORMAT "__%s%s%ssp_%s"
-#define SIGNATURE_REFERENCE_NAME "__sr_"
-#define SIGNATURE_REFERENCE_NAME_FORMAT "__%s%s%ssr_%s"
-
-#define SIGTABLE_PTR_TYPE "__sigtbl_ptr_type"
-#define SIGTABLE_NAME_FORMAT "__st_%s_%s"
-#define SIGTABLE_NAME_FORMAT_LONG "__st_%s_%s_%d"
-#define SIGTABLE_TAG_NAME "__tag"
-#define SIGTABLE_VB_OFF_NAME "__vb_off"
-#define SIGTABLE_VT_OFF_NAME "__vt_off"
#define EXCEPTION_CLEANUP_NAME "exception cleanup"
#define THIS_NAME_P(ID_NODE) (strcmp(IDENTIFIER_POINTER (ID_NODE), "this") == 0)
@@ -3423,19 +3336,11 @@ extern tree finish_member_class_template PROTO((tree));
extern void finish_template_decl PROTO((tree));
extern tree finish_template_type PROTO((tree, tree, int));
extern void enter_scope_of PROTO((tree));
-extern tree finish_base_specifier PROTO((tree, tree, int));
+extern tree finish_base_specifier PROTO((tree, tree));
extern void finish_member_declaration PROTO((tree));
extern void check_multiple_declarators PROTO((void));
extern tree finish_typeof PROTO((tree));
-/* in sig.c */
-extern tree build_signature_pointer_type PROTO((tree));
-extern tree build_signature_reference_type PROTO((tree));
-extern tree build_signature_pointer_constructor PROTO((tree, tree));
-extern tree build_signature_method_call PROTO((tree, tree));
-extern tree build_optr_ref PROTO((tree));
-extern void append_signature_fields PROTO((tree));
-
/* in spew.c */
extern void init_spew PROTO((void));
extern int peekyylex PROTO((void));
@@ -3612,7 +3517,6 @@ extern tree error_not_base_type PROTO((tree, tree));
extern tree binfo_or_else PROTO((tree, tree));
extern void readonly_error PROTO((tree, const char *, int));
extern int abstract_virtuals_error PROTO((tree, tree));
-extern void signature_error PROTO((tree, tree));
extern void incomplete_type_error PROTO((tree, tree));
extern void my_friendly_abort PROTO((int))
ATTRIBUTE_NORETURN;
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index 72cbcaf..388c7b8 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -234,10 +234,6 @@ cp_convert_to_pointer (type, expr)
my_friendly_assert (form != OFFSET_TYPE, 186);
- if (TYPE_LANG_SPECIFIC (intype)
- && (IS_SIGNATURE_POINTER (intype) || IS_SIGNATURE_REFERENCE (intype)))
- return convert_to_pointer (type, build_optr_ref (expr));
-
if (integer_zerop (expr))
{
if (TYPE_PTRMEMFUNC_P (type))
@@ -287,15 +283,6 @@ convert_to_pointer_force (type, expr)
return expr;
}
- /* Convert signature pointer/reference to `void *' first. */
- if (form == RECORD_TYPE
- && (IS_SIGNATURE_POINTER (intype) || IS_SIGNATURE_REFERENCE (intype)))
- {
- expr = build_optr_ref (expr);
- intype = TREE_TYPE (expr);
- form = TREE_CODE (intype);
- }
-
if (form == POINTER_TYPE)
{
intype = TYPE_MAIN_VARIANT (intype);
@@ -801,29 +788,6 @@ ocp_convert (type, expr, convtype, flags)
dtype = TYPE_MAIN_VARIANT (dtype);
- /* Conversion of object pointers or signature pointers/references
- to signature pointers/references. */
-
- if (TYPE_LANG_SPECIFIC (type)
- && (IS_SIGNATURE_POINTER (type) || IS_SIGNATURE_REFERENCE (type)))
- {
- tree constructor = build_signature_pointer_constructor (type, expr);
- tree sig_ty = SIGNATURE_TYPE (type);
- tree sig_ptr;
-
- if (constructor == error_mark_node)
- return error_mark_node;
-
- sig_ptr = get_temp_name (type, 1);
- DECL_INITIAL (sig_ptr) = constructor;
- CLEAR_SIGNATURE (sig_ty);
- cp_finish_decl (sig_ptr, constructor, NULL_TREE, 0, 0);
- SET_SIGNATURE (sig_ty);
- TREE_READONLY (sig_ptr) = 1;
-
- return sig_ptr;
- }
-
/* Conversion between aggregate types. New C++ semantics allow
objects of derived type to be cast to objects of base type.
Old semantics only allowed this between pointers.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index c628ebf..3dd53e9 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -239,8 +239,6 @@ tree error_mark_list;
tree class_star_type_node;
tree class_type_node, record_type_node, union_type_node, enum_type_node;
tree unknown_type_node;
- tree opaque_type_node, signature_type_node;
- tree sigtable_entry_type;
Array type `vtable_entry_type[]'
@@ -1809,18 +1807,6 @@ vtype_decl_p (t, data)
&& CLASSTYPE_VSIZE (TREE_TYPE (t)));
}
-/* Returns non-zero if T is a signature table. */
-
-int
-sigtable_decl_p (t, data)
- tree t;
- void *data ATTRIBUTE_UNUSED;
-{
- return (TREE_CODE (t) == VAR_DECL
- && TREE_TYPE (t) != error_mark_node
- && IS_SIGNATURE (TREE_TYPE (t)));
-}
-
/* Return the declarations that are members of the namespace NS. */
tree
@@ -6119,7 +6105,6 @@ init_decl_processing ()
tree fields[20];
int wchar_type_size;
tree array_domain_type;
- tree vb_off_identifier = NULL_TREE;
/* Have to make these distinct before we try using them. */
lang_name_cplusplus = get_identifier ("C++");
@@ -6197,12 +6182,6 @@ init_decl_processing ()
delta_identifier = get_identifier (VTABLE_DELTA_NAME);
delta2_identifier = get_identifier (VTABLE_DELTA2_NAME);
pfn_or_delta2_identifier = get_identifier ("__pfn_or_delta2");
- if (flag_handle_signatures)
- {
- tag_identifier = get_identifier (SIGTABLE_TAG_NAME);
- vb_off_identifier = get_identifier (SIGTABLE_VB_OFF_NAME);
- vt_off_identifier = get_identifier (SIGTABLE_VT_OFF_NAME);
- }
/* Define `int' and `char' first so that dbx will output them first. */
@@ -6449,11 +6428,6 @@ init_decl_processing ()
TYPE_POINTER_TO (unknown_type_node) = unknown_type_node;
TYPE_REFERENCE_TO (unknown_type_node) = unknown_type_node;
- /* This is for handling opaque types in signatures. */
- opaque_type_node = copy_node (ptr_type_node);
- TYPE_MAIN_VARIANT (opaque_type_node) = opaque_type_node;
- record_builtin_type (RID_MAX, 0, opaque_type_node);
-
/* This is special for C++ so functions can be overloaded. */
wchar_type_node
= TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (WCHAR_TYPE)));
@@ -6520,44 +6494,6 @@ init_decl_processing ()
layout_type (vtbl_ptr_type_node);
record_builtin_type (RID_MAX, NULL_PTR, vtbl_ptr_type_node);
- /* Simplify life by making a "sigtable_entry_type". Give its
- fields names so that the debugger can use them. */
-
- if (flag_handle_signatures)
- {
- sigtable_entry_type = make_lang_type (RECORD_TYPE);
- fields[0] = build_lang_field_decl (FIELD_DECL, tag_identifier,
- delta_type_node);
- fields[1] = build_lang_field_decl (FIELD_DECL, vb_off_identifier,
- delta_type_node);
- fields[2] = build_lang_field_decl (FIELD_DECL, delta_identifier,
- delta_type_node);
- fields[3] = build_lang_field_decl (FIELD_DECL, index_identifier,
- delta_type_node);
- fields[4] = build_lang_field_decl (FIELD_DECL, pfn_identifier,
- ptr_type_node);
-
- /* Set the alignment to the max of the alignment of ptr_type_node and
- delta_type_node. Double alignment wastes a word on the Sparc. */
- finish_builtin_type (sigtable_entry_type, SIGTABLE_PTR_TYPE, fields, 4,
- (TYPE_ALIGN (ptr_type_node) > TYPE_ALIGN (delta_type_node))
- ? ptr_type_node
- : delta_type_node);
-
- /* Make this part of an invisible union. */
- fields[5] = copy_node (fields[4]);
- TREE_TYPE (fields[5]) = delta_type_node;
- DECL_NAME (fields[5]) = vt_off_identifier;
- DECL_MODE (fields[5]) = TYPE_MODE (delta_type_node);
- DECL_SIZE (fields[5]) = TYPE_SIZE (delta_type_node);
- TREE_UNSIGNED (fields[5]) = 0;
- TREE_CHAIN (fields[4]) = fields[5];
-
- sigtable_entry_type = build_qualified_type (sigtable_entry_type,
- TYPE_QUAL_CONST);
- record_builtin_type (RID_MAX, SIGTABLE_PTR_TYPE, sigtable_entry_type);
- }
-
std_node = build_decl (NAMESPACE_DECL,
get_identifier (flag_honor_std ? "fake std":"std"),
void_type_node);
@@ -7544,8 +7480,7 @@ cp_finish_decl (decl, init, asmspec_tree, need_pop, flags)
init = NULL_TREE;
else if (DECL_EXTERNAL (decl))
;
- else if (TREE_CODE (type) == REFERENCE_TYPE
- || (TYPE_LANG_SPECIFIC (type) && IS_SIGNATURE_REFERENCE (type)))
+ else if (TREE_CODE (type) == REFERENCE_TYPE)
{
if (TREE_STATIC (decl))
make_decl_rtl (decl, NULL_PTR,
@@ -7902,14 +7837,6 @@ cp_finish_decl (decl, init, asmspec_tree, need_pop, flags)
|| TREE_CODE (type) == METHOD_TYPE))
abstract_virtuals_error (decl, TREE_TYPE (type));
- if (TYPE_LANG_SPECIFIC (core_type) && IS_SIGNATURE (core_type))
- signature_error (decl, core_type);
- else if ((TREE_CODE (type) == FUNCTION_TYPE
- || TREE_CODE (type) == METHOD_TYPE)
- && TYPE_LANG_SPECIFIC (TREE_TYPE (type))
- && IS_SIGNATURE (TREE_TYPE (type)))
- signature_error (decl, TREE_TYPE (type));
-
if (TREE_CODE (decl) == FUNCTION_DECL)
;
else if (DECL_EXTERNAL (decl)
@@ -8994,7 +8921,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
int explicit_int = 0;
int explicit_char = 0;
int defaulted_int = 0;
- int opaque_typedef = 0;
tree typedef_decl = NULL_TREE;
const char *name;
tree typedef_type = NULL_TREE;
@@ -9484,10 +9410,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
typedef_type = type;
/* No type at all: default to `int', and set DEFAULTED_INT
- because it was not a user-defined typedef.
- Except when we have a `typedef' inside a signature, in
- which case the type defaults to `unknown type' and is
- instantiated when assigning to a signature pointer or ref. */
+ because it was not a user-defined typedef. */
if (type == NULL_TREE
&& (RIDBIT_SETP (RID_SIGNED, specbits)
@@ -9509,15 +9432,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
type = build_pointer_type (ctor_return_type);
else if (return_type == return_conversion)
type = ctor_return_type;
- else if (current_class_type
- && IS_SIGNATURE (current_class_type)
- && RIDBIT_SETP (RID_TYPEDEF, specbits)
- && (decl_context == FIELD || decl_context == NORMAL))
- {
- explicit_int = 0;
- opaque_typedef = 1;
- type = copy_node (opaque_type_node);
- }
else
{
/* We handle `main' specially here, because 'main () { }' is so
@@ -9799,37 +9713,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
&& ANON_AGGR_TYPE_P (TREE_VALUE (declspecs)))
decl_context = FIELD;
- /* Give error if `const,' `volatile,' `inline,' `friend,' or `virtual'
- is used in a signature member function declaration. */
- if (decl_context == FIELD
- && IS_SIGNATURE (current_class_type)
- && RIDBIT_NOTSETP (RID_TYPEDEF, specbits))
- {
- if (type_quals != TYPE_UNQUALIFIED)
- {
- error ("type qualifiers specified for signature member function `%s'", name);
- type_quals = TYPE_UNQUALIFIED;
- }
- if (inlinep)
- {
- error ("`inline' specified for signature member function `%s'", name);
- /* Later, we'll make signature member functions inline. */
- inlinep = 0;
- }
- if (friendp)
- {
- error ("`friend' declaration in signature definition");
- friendp = 0;
- }
- if (virtualp)
- {
- error ("`virtual' specified for signature member function `%s'",
- name);
- /* Later, we'll make signature member functions virtual. */
- virtualp = 0;
- }
- }
-
/* Warn about storage classes that are invalid for certain
kinds of declarations (parameters, typenames, etc.). */
@@ -9844,7 +9727,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
else if (RIDBIT_SETP (RID_TYPEDEF, specbits))
;
else if (decl_context == FIELD
- && ! IS_SIGNATURE (current_class_type)
/* C++ allows static class elements */
&& RIDBIT_SETP (RID_STATIC, specbits))
/* C++ also allows inlines and signed and unsigned elements,
@@ -9867,11 +9749,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
op = IDENTIFIER_OPNAME_P (tmp);
}
error ("storage class specified for %s `%s'",
- IS_SIGNATURE (current_class_type)
- ? (op
- ? "signature member operator"
- : "signature member function")
- : (op ? "member operator" : "field"),
+ op ? "member operator" : "field",
op ? operator_name_string (tmp) : name);
}
else
@@ -9881,12 +9759,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
RIDBIT_RESET (RID_REGISTER, specbits);
RIDBIT_RESET (RID_AUTO, specbits);
RIDBIT_RESET (RID_EXTERN, specbits);
-
- if (decl_context == FIELD && IS_SIGNATURE (current_class_type))
- {
- RIDBIT_RESET (RID_STATIC, specbits);
- staticp = 0;
- }
}
}
else if (RIDBIT_SETP (RID_EXTERN, specbits) && initialized && !funcdef_flag)
@@ -10290,13 +10162,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
error ("return value type specifier for constructor ignored");
}
type = build_pointer_type (ctype);
- if (decl_context == FIELD
- && IS_SIGNATURE (current_class_type))
- {
- error ("constructor not allowed in signature");
- return void_type_node;
- }
- else if (decl_context == FIELD)
+ if (decl_context == FIELD)
{
if (! member_function_or_else (ctype, current_class_type,
"constructor for alien class `%s' cannot be member"))
@@ -10403,31 +10269,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
but to the target of the pointer. */
type_quals = TYPE_UNQUALIFIED;
- if (IS_SIGNATURE (type))
- {
- if (TREE_CODE (declarator) == ADDR_EXPR)
- {
- if (CLASSTYPE_METHOD_VEC (type) == NULL_TREE
- && TYPE_SIZE (type))
- cp_warning ("empty signature `%T' used in signature reference declaration",
- type);
-#if 0
- type = build_signature_reference_type (type);
-#else
- sorry ("signature reference");
- return NULL_TREE;
-#endif
- }
- else
- {
- if (CLASSTYPE_METHOD_VEC (type) == NULL_TREE
- && TYPE_SIZE (type))
- cp_warning ("empty signature `%T' used in signature pointer declaration",
- type);
- type = build_signature_pointer_type (type);
- }
- }
- else if (TREE_CODE (declarator) == ADDR_EXPR)
+ if (TREE_CODE (declarator) == ADDR_EXPR)
{
if (TREE_CODE (type) == VOID_TYPE)
error ("invalid type: `void &'");
@@ -10736,8 +10578,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
cp_pedwarn ("ANSI C++ forbids nested type `%D' with same name as enclosing class",
declarator);
decl = build_lang_decl (TYPE_DECL, declarator, type);
- if (IS_SIGNATURE (current_class_type) && opaque_typedef)
- SIGNATURE_HAS_OPAQUE_TYPEDECLS (current_class_type) = 1;
}
else
{
@@ -10851,11 +10691,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
/* Note that the grammar rejects storage classes
in typenames, fields or parameters. */
if (type_quals != TYPE_UNQUALIFIED)
- {
- if (IS_SIGNATURE (type))
- error ("type qualifiers specified for signature type");
- type_quals = TYPE_UNQUALIFIED;
- }
+ type_quals = TYPE_UNQUALIFIED;
/* Special case: "friend class foo" looks like a TYPENAME context. */
if (friendp)
@@ -10965,16 +10801,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
bad_specifiers (decl, "parameter", virtualp, quals != NULL_TREE,
inlinep, friendp, raises != NULL_TREE);
- if (current_class_type
- && IS_SIGNATURE (current_class_type))
- {
- if (inlinep)
- error ("parameter of signature member function declared `inline'");
- if (RIDBIT_SETP (RID_AUTO, specbits))
- error ("parameter of signature member function declared `auto'");
- if (RIDBIT_SETP (RID_REGISTER, specbits))
- error ("parameter of signature member function declared `register'");
- }
/* Compute the type actually passed in the parmlist,
for the case where there is no prototype.
@@ -11671,13 +11497,6 @@ grokparms (first_parm, funcdef_flag)
}
else if (abstract_virtuals_error (decl, type))
any_error = 1; /* Seems like a good idea. */
- else if (TREE_CODE (type) == RECORD_TYPE
- && TYPE_LANG_SPECIFIC (type)
- && IS_SIGNATURE (type))
- {
- signature_error (decl, type);
- any_error = 1; /* Seems like a good idea. */
- }
else if (POINTER_TYPE_P (type))
{
tree t = type;
@@ -12208,8 +12027,6 @@ tag_name (code)
return "union ";
case enum_type:
return "enum";
- case signature_type:
- return "signature";
default:
my_friendly_abort (981122);
}
@@ -12255,7 +12072,6 @@ xref_tag (code_type_node, name, globalize)
{
case record_type:
case class_type:
- case signature_type:
code = RECORD_TYPE;
break;
case union_type:
@@ -12420,17 +12236,6 @@ xref_tag (code_type_node, name, globalize)
ref = make_lang_type (code);
TYPE_CONTEXT (ref) = context;
- if (tag_code == signature_type)
- {
- SET_SIGNATURE (ref);
- /* Since a signature type will be turned into the type
- of signature tables, it's not only an interface. */
- CLASSTYPE_INTERFACE_ONLY (ref) = 0;
- SET_CLASSTYPE_INTERFACE_KNOWN (ref);
- /* A signature doesn't have a vtable. */
- CLASSTYPE_VTABLE_NEEDS_WRITING (ref) = 0;
- }
-
#ifdef NONNESTED_CLASSES
/* Class types don't nest the way enums do. */
class_binding_level = (struct binding_level *)0;
@@ -12464,7 +12269,7 @@ xref_tag (code_type_node, name, globalize)
{
if (tag_code == class_type)
CLASSTYPE_DECLARED_CLASS (ref) = 1;
- else if (tag_code == record_type || tag_code == signature_type)
+ else if (tag_code == record_type)
CLASSTYPE_DECLARED_CLASS (ref) = 0;
}
@@ -13305,35 +13110,28 @@ start_function (declspecs, declarator, attrs, pre_parsed_p)
we keep the consistency between `current_class_type'
and `current_class_ptr'. */
tree t = current_function_parms;
-
+ int i;
+
my_friendly_assert (t != NULL_TREE
&& TREE_CODE (t) == PARM_DECL, 162);
-
- if (TREE_CODE (TREE_TYPE (t)) == POINTER_TYPE)
- {
- int i;
-
- if (! hack_decl_function_context (decl1))
- temporary_allocation ();
- i = suspend_momentary ();
-
- /* Normally, build_indirect_ref returns
- current_class_ref whenever current_class_ptr is
- dereferenced. This time, however, we want it to
- *create* current_class_ref, so we temporarily clear
- current_class_ptr to fool it. */
- current_class_ptr = NULL_TREE;
- current_class_ref = build_indirect_ref (t, NULL_PTR);
- current_class_ptr = t;
-
- resume_momentary (i);
- if (! hack_decl_function_context (decl1))
- end_temporary_allocation ();
- }
- else
- /* We're having a signature pointer here. */
- current_class_ref = current_class_ptr = t;
-
+ my_friendly_assert (TREE_CODE (TREE_TYPE (t)) == POINTER_TYPE,
+ 19990811);
+
+ if (! hack_decl_function_context (decl1))
+ temporary_allocation ();
+ i = suspend_momentary ();
+
+ /* Normally, build_indirect_ref returns current_class_ref
+ whenever current_class_ptr is dereferenced. This time,
+ however, we want it to *create* current_class_ref, so we
+ temporarily clear current_class_ptr to fool it. */
+ current_class_ptr = NULL_TREE;
+ current_class_ref = build_indirect_ref (t, NULL_PTR);
+ current_class_ptr = t;
+
+ resume_momentary (i);
+ if (! hack_decl_function_context (decl1))
+ end_temporary_allocation ();
}
}
else
@@ -14273,9 +14071,6 @@ start_method (declspecs, declarator, attrlist)
/* Not a function, tell parser to report parse error. */
return NULL_TREE;
- if (IS_SIGNATURE (current_class_type))
- IS_DEFAULT_IMPLEMENTATION (fndecl) = 1;
-
if (DECL_IN_AGGR_P (fndecl))
{
if (IDENTIFIER_ERROR_LOCUS (DECL_ASSEMBLER_NAME (fndecl)) != current_class_type)
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index c5a492f..8141d76 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -73,7 +73,6 @@ static void mark_vtable_entries PROTO((tree));
static void grok_function_init PROTO((tree, tree));
static int finish_vtable_vardecl PROTO((tree *, void *));
static int prune_vtable_vardecl PROTO((tree *, void *));
-static int finish_sigtable_vardecl PROTO((tree *, void *));
static int is_namespace_ancestor PROTO((tree, tree));
static void add_using_namespace PROTO((tree, tree, int));
static tree ambiguous_decl PROTO((tree, tree, tree,int));
@@ -385,10 +384,6 @@ int flag_this_is_variable;
int flag_elide_constructors = 1;
-/* Nonzero means recognize and handle signature language constructs. */
-
-int flag_handle_signatures;
-
/* Nonzero means that member functions defined in class scope are
inline by default. */
@@ -509,7 +504,6 @@ lang_f_options[] =
{"for-scope", &flag_new_for_scope, 2},
{"gnu-keywords", &flag_no_gnu_keywords, 0},
{"handle-exceptions", &flag_exceptions, 1},
- {"handle-signatures", &flag_handle_signatures, 1},
{"honor-std", &flag_honor_std, 1},
{"huge-objects", &flag_huge_objects, 1},
{"implement-inlines", &flag_implement_inlines, 1},
@@ -1648,13 +1642,6 @@ grokfield (declarator, declspecs, init, asmspec_tree, attrlist)
return value;
}
- if (IS_SIGNATURE (current_class_type)
- && TREE_CODE (value) != FUNCTION_DECL)
- {
- error ("field declaration not allowed in signature");
- return void_type_node;
- }
-
if (DECL_IN_AGGR_P (value))
{
cp_error ("`%D' is already defined in `%T'", value,
@@ -1667,13 +1654,7 @@ grokfield (declarator, declspecs, init, asmspec_tree, attrlist)
if (init)
{
- if (IS_SIGNATURE (current_class_type)
- && TREE_CODE (value) == FUNCTION_DECL)
- {
- error ("function declarations cannot have initializers in signature");
- init = NULL_TREE;
- }
- else if (TREE_CODE (value) == FUNCTION_DECL)
+ if (TREE_CODE (value) == FUNCTION_DECL)
{
grok_function_init (value, init);
init = NULL_TREE;
@@ -1771,12 +1752,6 @@ grokfield (declarator, declspecs, init, asmspec_tree, attrlist)
if (DECL_FRIEND_P (value))
return void_type_node;
-#if 0 /* Just because a fn is declared doesn't mean we'll try to define it. */
- if (current_function_decl && ! IS_SIGNATURE (current_class_type))
- cp_error ("method `%#D' of local class must be defined in class body",
- value);
-#endif
-
DECL_IN_AGGR_P (value) = 1;
return value;
}
@@ -1818,12 +1793,6 @@ grokbitfield (declarator, declspecs, width)
return NULL_TREE;
}
- if (IS_SIGNATURE (current_class_type))
- {
- error ("field declaration not allowed in signature");
- return void_type_node;
- }
-
if (DECL_IN_AGGR_P (value))
{
cp_error ("`%D' is already defined in the class %T", value,
@@ -2729,20 +2698,6 @@ prune_vtable_vardecl (t, data)
return 1;
}
-static int
-finish_sigtable_vardecl (t, data)
- tree *t;
- void *data ATTRIBUTE_UNUSED;
-{
- /* We don't need to mark sigtable entries as addressable here as is done
- for vtables. Since sigtables, unlike vtables, are always written out,
- that was already done in build_signature_table_constructor. */
-
- rest_of_decl_compilation (*t, NULL_PTR, 1, 1);
- *t = TREE_CHAIN (*t);
- return 1;
-}
-
/* Determines the proper settings of TREE_PUBLIC and DECL_EXTERNAL for an
inline function or template instantiation at end-of-file. */
@@ -3587,14 +3542,9 @@ finish_file ()
them now. */
instantiate_pending_templates ();
- /* Write out signature-tables and virtual tables as required.
- Note that writing out the virtual table for a template class
- may cause the instantiation of members of that class. */
- if (flag_handle_signatures
- && walk_globals (sigtable_decl_p,
- finish_sigtable_vardecl,
- /*data=*/0))
- reconsider = 1;
+ /* Write out virtual tables as required. Note that writing out
+ the virtual table for a template class may cause the
+ instantiation of members of that class. */
if (walk_globals (vtable_decl_p,
finish_vtable_vardecl,
/*data=*/0))
@@ -3800,12 +3750,6 @@ reparse_absdcl_as_casts (decl, expr)
type = groktypename (TREE_VALUE (TREE_OPERAND (decl, 1)));
decl = TREE_OPERAND (decl, 0);
- if (IS_SIGNATURE (type))
- {
- error ("cast specifies signature type");
- return error_mark_node;
- }
-
expr = digest_init (type, expr, (tree *) 0);
if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
{
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 0279701..9c911ad 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -227,18 +227,7 @@ dump_type_real (t, v, canonical_name)
case RECORD_TYPE:
case UNION_TYPE:
case ENUMERAL_TYPE:
- if (TYPE_LANG_SPECIFIC (t)
- && (IS_SIGNATURE_POINTER (t) || IS_SIGNATURE_REFERENCE (t)))
- {
- dump_qualifiers (t, after);
- dump_type_real (SIGNATURE_TYPE (t), v, canonical_name);
- if (IS_SIGNATURE_POINTER (t))
- OB_PUTC ('*');
- else
- OB_PUTC ('&');
- }
- else
- dump_aggr_type (t, v, canonical_name);
+ dump_aggr_type (t, v, canonical_name);
break;
case TYPE_DECL:
@@ -356,8 +345,6 @@ aggr_variety (t)
return "union";
else if (TYPE_LANG_SPECIFIC (t) && CLASSTYPE_DECLARED_CLASS (t))
return "class";
- else if (TYPE_LANG_SPECIFIC (t) && IS_SIGNATURE (t))
- return "signature";
else
return "struct";
}
@@ -1035,15 +1022,8 @@ dump_function_decl (t, v)
dump_type_suffix (TREE_TYPE (fntype), 1, 0);
if (TREE_CODE (fntype) == METHOD_TYPE)
- {
- if (IS_SIGNATURE (cname))
- /* We look at the type pointed to by the `optr' field of `this.' */
- dump_qualifiers
- (TREE_TYPE (TREE_TYPE (TYPE_FIELDS (TREE_VALUE (TYPE_ARG_TYPES (fntype))))), before);
- else
- dump_qualifiers
- (TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (fntype))), before);
- }
+ dump_qualifiers (TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (fntype))),
+ before);
if (v >= 2)
dump_exception_spec (TYPE_RAISES_EXCEPTIONS (fntype), 0);
diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c
index a2d0c4d..410eaf5 100644
--- a/gcc/cp/friend.c
+++ b/gcc/cp/friend.c
@@ -243,12 +243,7 @@ make_friend_class (type, friend_type)
tree classes;
int is_template_friend;
- if (IS_SIGNATURE (type))
- {
- error ("`friend' declaration in signature definition");
- return;
- }
- if (IS_SIGNATURE (friend_type) || ! IS_AGGR_TYPE (friend_type))
+ if (! IS_AGGR_TYPE (friend_type))
{
cp_error ("invalid type `%T' declared `friend'", friend_type);
return;
diff --git a/gcc/cp/gxx.gperf b/gcc/cp/gxx.gperf
index d18014b..4c191c5 100644
--- a/gcc/cp/gxx.gperf
+++ b/gcc/cp/gxx.gperf
@@ -25,10 +25,8 @@ __real, REALPART, RID_UNUSED
__real__, REALPART, RID_UNUSED
__restrict, CV_QUALIFIER, RID_RESTRICT
__restrict__, CV_QUALIFIER, RID_RESTRICT
-__signature__, AGGR, RID_SIGNATURE /* Extension */,
__signed, TYPESPEC, RID_SIGNED
__signed__, TYPESPEC, RID_SIGNED
-__sigof__, SIGOF, RID_UNUSED /* Extension */,
__typeof, TYPEOF, RID_UNUSED
__typeof__, TYPEOF, RID_UNUSED
__volatile, CV_QUALIFIER, RID_VOLATILE
@@ -84,9 +82,7 @@ register, SCSPEC, RID_REGISTER,
reinterpret_cast, REINTERPRET_CAST, RID_UNUSED,
return, RETURN_KEYWORD, RID_UNUSED,
short, TYPESPEC, RID_SHORT,
-signature, AGGR, RID_SIGNATURE /* Extension */,
signed, TYPESPEC, RID_SIGNED,
-sigof, SIGOF, RID_UNUSED /* Extension */,
sizeof, SIZEOF, RID_UNUSED,
static, SCSPEC, RID_STATIC,
static_cast, STATIC_CAST, RID_UNUSED,
diff --git a/gcc/cp/hash.h b/gcc/cp/hash.h
index 047243f..4d7fac7 100644
--- a/gcc/cp/hash.h
+++ b/gcc/cp/hash.h
@@ -1,14 +1,14 @@
-/* C code produced by gperf version 2.7 */
-/* Command-line: gperf -L C -F , 0, 0 -p -j1 -g -o -t -N is_reserved_word -k1,4,7,$ ../../../../egcs/gcc/cp/gxx.gperf */
+/* C code produced by gperf version 2.7.1 (19981006 egcs) */
+/* Command-line: gperf -L 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 { const char *name; short token; enum rid rid;};
-#define TOTAL_KEYWORDS 107
+#define TOTAL_KEYWORDS 103
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 16
#define MIN_HASH_VALUE 4
-#define MAX_HASH_VALUE 244
-/* maximum key range = 241, duplicates = 0 */
+#define MAX_HASH_VALUE 274
+/* maximum key range = 271, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -18,34 +18,34 @@ hash (str, len)
register const char *str;
register unsigned int len;
{
- static unsigned char asso_values[] =
+ static unsigned short asso_values[] =
{
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 0, 245, 92, 3, 3,
- 0, 0, 75, 24, 0, 90, 245, 10, 31, 49,
- 23, 74, 0, 24, 30, 37, 6, 77, 10, 19,
- 5, 4, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 0, 275, 97, 1, 19,
+ 40, 0, 12, 68, 0, 74, 275, 0, 11, 67,
+ 27, 0, 70, 6, 96, 43, 6, 37, 3, 10,
+ 8, 104, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275
};
register int hval = len;
@@ -79,156 +79,158 @@ is_reserved_word (str, len)
{
{"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
{"else", ELSE, RID_UNUSED,},
- {"", 0, 0},
- {"delete", DELETE, RID_UNUSED,},
- {"case", CASE, RID_UNUSED,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
{"__real__", REALPART, RID_UNUSED},
- {"double", TYPESPEC, RID_DOUBLE,},
+ {"", 0, 0},
{"true", CXX_TRUE, RID_UNUSED,},
- {"catch", CATCH, RID_UNUSED,},
- {"typeid", TYPEID, RID_UNUSED,},
- {"try", TRY, RID_UNUSED,},
- {"void", TYPESPEC, RID_VOID,},
- {"", 0, 0}, {"", 0, 0},
- {"private", VISSPEC, RID_PRIVATE,},
+ {"or_eq", ASSIGN, RID_UNUSED,},
+ {"export", SCSPEC, RID_EXPORT,},
{"", 0, 0}, {"", 0, 0},
- {"template", TEMPLATE, RID_TEMPLATE,},
- {"protected", VISSPEC, RID_PROTECTED,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"__const__", CV_QUALIFIER, RID_CONST},
+ {"__volatile", CV_QUALIFIER, RID_VOLATILE},
+ {"__real", REALPART, RID_UNUSED},
+ {"__volatile__", CV_QUALIFIER, RID_VOLATILE},
+ {"__const", CV_QUALIFIER, RID_CONST},
+ {"xor_eq", ASSIGN, RID_UNUSED,},
+ {"throw", THROW, RID_UNUSED,},
+ {"__complex__", TYPESPEC, RID_COMPLEX},
+ {"case", CASE, RID_UNUSED,},
+ {"typeof", TYPEOF, RID_UNUSED,},
+ {"", 0, 0},
+ {"while", WHILE, RID_UNUSED,},
+ {"bool", TYPESPEC, RID_BOOL,},
+ {"__complex", TYPESPEC, RID_COMPLEX},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
{"extern", SCSPEC, RID_EXTERN,},
{"", 0, 0}, {"", 0, 0},
{"not", '!', RID_UNUSED,},
- {"", 0, 0}, {"", 0, 0},
- {"xor_eq", ASSIGN, RID_UNUSED,},
+ {"typedef", SCSPEC, RID_TYPEDEF,},
+ {"virtual", SCSPEC, RID_VIRTUAL,},
+ {"not_eq", EQCOMPARE, RID_UNUSED,},
+ {"new", NEW, RID_UNUSED,},
{"", 0, 0},
- {"__real", REALPART, RID_UNUSED},
- {"xor", '^', RID_UNUSED,},
- {"compl", '~', RID_UNUSED,},
- {"public", VISSPEC, RID_PUBLIC,},
+ {"do", DO, RID_UNUSED,},
+ {"catch", CATCH, RID_UNUSED,},
+ {"", 0, 0}, {"", 0, 0},
+ {"delete", DELETE, RID_UNUSED,},
+ {"double", TYPESPEC, RID_DOUBLE,},
{"__extension__", EXTENSION, RID_UNUSED},
- {"__restrict__", CV_QUALIFIER, RID_RESTRICT},
- {"", 0, 0},
+ {"__alignof__", ALIGNOF, RID_UNUSED},
{"__asm__", ASM_KEYWORD, RID_UNUSED},
- {"new", NEW, RID_UNUSED,},
- {"__restrict", CV_QUALIFIER, RID_RESTRICT},
{"", 0, 0},
- {"__wchar_t", TYPESPEC, RID_WCHAR /* Unique to ANSI C++ */,},
- {"switch", SWITCH, RID_UNUSED,},
+ {"typeid", TYPEID, RID_UNUSED,},
{"", 0, 0},
- {"const", CV_QUALIFIER, RID_CONST,},
- {"static", SCSPEC, RID_STATIC,},
- {"not_eq", EQCOMPARE, RID_UNUSED,},
+ {"__null", CONSTANT, RID_NULL},
+ {"switch", SWITCH, RID_UNUSED,},
+ {"", 0, 0}, {"", 0, 0},
+ {"friend", SCSPEC, RID_FRIEND,},
+ {"__alignof", ALIGNOF, RID_UNUSED},
+ {"false", CXX_FALSE, RID_UNUSED,},
+ {"sizeof", SIZEOF, RID_UNUSED,},
{"__inline", SCSPEC, RID_INLINE},
- {"while", WHILE, RID_UNUSED,},
+ {"", 0, 0},
{"__inline__", SCSPEC, RID_INLINE},
- {"__imag__", IMAGPART, RID_UNUSED},
{"", 0, 0},
- {"const_cast", CONST_CAST, RID_UNUSED,},
{"static_cast", STATIC_CAST, RID_UNUSED,},
{"", 0, 0}, {"", 0, 0},
+ {"union", AGGR, RID_UNION,},
+ {"continue", CONTINUE, RID_UNUSED,},
+ {"", 0, 0},
+ {"goto", GOTO, RID_UNUSED,},
+ {"const", CV_QUALIFIER, RID_CONST,},
+ {"static", SCSPEC, RID_STATIC,},
+ {"__imag__", IMAGPART, RID_UNUSED},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"private", VISSPEC, RID_PRIVATE,},
{"typename", TYPENAME_KEYWORD, RID_UNUSED,},
{"", 0, 0},
- {"__alignof__", ALIGNOF, RID_UNUSED},
- {"signed", TYPESPEC, RID_SIGNED,},
- {"char", TYPESPEC, RID_CHAR,},
+ {"int", TYPESPEC, RID_INT,},
+ {"__signed__", TYPESPEC, RID_SIGNED},
+ {"", 0, 0}, {"", 0, 0},
+ {"void", TYPESPEC, RID_VOID,},
+ {"if", IF, RID_UNUSED,},
{"", 0, 0},
- {"bool", TYPESPEC, RID_BOOL,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"do", DO, RID_UNUSED,},
+ {"template", TEMPLATE, RID_TEMPLATE,},
+ {"__attribute", ATTRIBUTE, RID_UNUSED},
+ {"struct", AGGR, RID_RECORD,},
+ {"__attribute__", ATTRIBUTE, RID_UNUSED},
+ {"", 0, 0}, {"", 0, 0},
+ {"this", THIS, RID_UNUSED,},
+ {"const_cast", CONST_CAST, RID_UNUSED,},
+ {"or", OROR, RID_UNUSED,},
+ {"explicit", SCSPEC, RID_EXPLICIT,},
{"", 0, 0},
- {"short", TYPESPEC, RID_SHORT,},
- {"__imag", IMAGPART, RID_UNUSED},
+ {"auto", SCSPEC, RID_AUTO,},
+ {"bitor", '|', RID_UNUSED,},
+ {"break", BREAK, RID_UNUSED,},
{"", 0, 0},
- {"friend", SCSPEC, RID_FRIEND,},
+ {"compl", '~', RID_UNUSED,},
+ {"public", VISSPEC, RID_PUBLIC,},
+ {"xor", '^', RID_UNUSED,},
+ {"__restrict__", CV_QUALIFIER, RID_RESTRICT},
+ {"and_eq", ASSIGN, RID_UNUSED,},
{"class", AGGR, RID_CLASS,},
- {"long", TYPESPEC, RID_LONG,},
- {"this", THIS, RID_UNUSED,},
- {"virtual", SCSPEC, RID_VIRTUAL,},
- {"export", SCSPEC, RID_EXPORT,},
- {"typeof", TYPEOF, RID_UNUSED,},
+ {"for", FOR, RID_UNUSED,},
+ {"__restrict", CV_QUALIFIER, RID_RESTRICT},
+ {"try", TRY, RID_UNUSED,},
{"__typeof__", TYPEOF, RID_UNUSED},
- {"__const__", CV_QUALIFIER, RID_CONST},
- {"__volatile", CV_QUALIFIER, RID_VOLATILE},
{"__asm", ASM_KEYWORD, RID_UNUSED},
- {"__volatile__", CV_QUALIFIER, RID_VOLATILE},
- {"__const", CV_QUALIFIER, RID_CONST},
- {"continue", CONTINUE, RID_UNUSED,},
- {"and", ANDAND, RID_UNUSED,},
- {"", 0, 0}, {"", 0, 0},
+ {"signed", TYPESPEC, RID_SIGNED,},
+ {"__label__", LABEL, RID_UNUSED},
+ {"", 0, 0},
+ {"volatile", CV_QUALIFIER, RID_VOLATILE,},
+ {"float", TYPESPEC, RID_FLOAT,},
+ {"", 0, 0},
{"__signed", TYPESPEC, RID_SIGNED},
- {"int", TYPESPEC, RID_INT,},
- {"__signed__", TYPESPEC, RID_SIGNED},
- {"bitand", '&', RID_UNUSED,},
- {"enum", ENUM, RID_UNUSED,},
- {"or_eq", ASSIGN, RID_UNUSED,},
- {"throw", THROW, RID_UNUSED,},
- {"reinterpret_cast", REINTERPRET_CAST, RID_UNUSED,},
- {"or", OROR, RID_UNUSED,},
- {"__attribute", ATTRIBUTE, RID_UNUSED},
- {"for", FOR, RID_UNUSED,},
- {"__attribute__", ATTRIBUTE, RID_UNUSED},
- {"break", BREAK, RID_UNUSED,},
- {"default", DEFAULT, RID_UNUSED,},
- {"bitor", '|', RID_UNUSED,},
- {"dynamic_cast", DYNAMIC_CAST, RID_UNUSED,},
- {"__null", CONSTANT, RID_NULL},
{"", 0, 0},
- {"__complex__", TYPESPEC, RID_COMPLEX},
- {"false", CXX_FALSE, RID_UNUSED,},
- {"sizeof", SIZEOF, RID_UNUSED,},
- {"__complex", TYPESPEC, RID_COMPLEX},
+ {"__typeof", TYPEOF, RID_UNUSED},
{"", 0, 0}, {"", 0, 0},
- {"and_eq", ASSIGN, RID_UNUSED,},
{"__builtin_va_arg", VA_ARG, RID_UNUSED},
- {"namespace", NAMESPACE, RID_UNUSED,},
- {"", 0, 0},
- {"struct", AGGR, RID_RECORD,},
{"", 0, 0}, {"", 0, 0},
+ {"__wchar_t", TYPESPEC, RID_WCHAR /* Unique to ANSI C++ */,},
+ {"protected", VISSPEC, RID_PROTECTED,},
+ {"", 0, 0},
+ {"namespace", NAMESPACE, RID_UNUSED,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
{"using", USING, RID_UNUSED,},
- {"", 0, 0}, {"", 0, 0},
- {"__label__", LABEL, RID_UNUSED},
- {"", 0, 0}, {"", 0, 0},
- {"explicit", SCSPEC, RID_EXPLICIT,},
- {"return", RETURN_KEYWORD, RID_UNUSED,},
+ {"enum", ENUM, RID_UNUSED,},
{"", 0, 0},
- {"__alignof", ALIGNOF, RID_UNUSED},
+ {"and", ANDAND, RID_UNUSED,},
+ {"__imag", IMAGPART, RID_UNUSED},
{"", 0, 0}, {"", 0, 0},
- {"volatile", CV_QUALIFIER, RID_VOLATILE,},
+ {"bitand", '&', RID_UNUSED,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"short", TYPESPEC, RID_SHORT,},
+ {"long", TYPESPEC, RID_LONG,},
{"", 0, 0}, {"", 0, 0},
- {"asm", ASM_KEYWORD, RID_UNUSED,},
- {"", 0, 0},
- {"signature", AGGR, RID_SIGNATURE /* Extension */,},
+ {"inline", SCSPEC, RID_INLINE,},
{"", 0, 0},
- {"mutable", SCSPEC, RID_MUTABLE,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"register", SCSPEC, RID_REGISTER,},
+ {"default", DEFAULT, RID_UNUSED,},
{"", 0, 0}, {"", 0, 0},
- {"__typeof", TYPEOF, RID_UNUSED},
- {"", 0, 0},
- {"typedef", SCSPEC, RID_TYPEDEF,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"if", IF, RID_UNUSED,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"__sigof__", SIGOF, RID_UNUSED /* Extension */,},
{"unsigned", TYPESPEC, RID_UNSIGNED,},
- {"goto", GOTO, RID_UNUSED,},
- {"", 0, 0},
- {"float", TYPESPEC, RID_FLOAT,},
- {"union", AGGR, RID_UNION,},
{"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"inline", SCSPEC, RID_INLINE,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"sigof", SIGOF, RID_UNUSED /* Extension */,},
+ {"return", RETURN_KEYWORD, RID_UNUSED,},
+ {"asm", ASM_KEYWORD, RID_UNUSED,},
{"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"__signature__", AGGR, RID_SIGNATURE /* Extension */,},
+ {"mutable", SCSPEC, RID_MUTABLE,},
+ {"", 0, 0}, {"", 0, 0},
+ {"dynamic_cast", DYNAMIC_CAST, RID_UNUSED,},
{"", 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},
{"operator", OPERATOR, RID_UNUSED,},
{"", 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},
+ {"char", TYPESPEC, RID_CHAR,},
+ {"", 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},
+ {"reinterpret_cast", REINTERPRET_CAST, RID_UNUSED,},
+ {"", 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},
- {"auto", SCSPEC, RID_AUTO,}
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"register", SCSPEC, RID_REGISTER,}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 90e9d90..3a70672 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -2214,12 +2214,6 @@ build_new_1 (exp)
if (abstract_virtuals_error (NULL_TREE, true_type))
return error_mark_node;
- if (TYPE_LANG_SPECIFIC (true_type) && IS_SIGNATURE (true_type))
- {
- signature_error (NULL_TREE, true_type);
- return error_mark_node;
- }
-
/* When we allocate an array, and the corresponding deallocation
function takes a second argument of type size_t, and that's the
"usual deallocation function", we allocate some extra space at
diff --git a/gcc/cp/lang-options.h b/gcc/cp/lang-options.h
index e919965..c0a4a34 100644
--- a/gcc/cp/lang-options.h
+++ b/gcc/cp/lang-options.h
@@ -56,8 +56,6 @@ DEFINE_LANG_NAME ("C++")
{ "-fno-gnu-keywords", "Do not recognise GNU defined keywords" },
{ "-fhandle-exceptions", "" },
{ "-fno-handle-exceptions", "" },
- { "-fhandle-signatures", "Handle signature language constructs" },
- { "-fno-handle-signatures", "" },
{ "-fhonor-std", "Treat the namespace `std' as a normal namespace" },
{ "-fno-honor-std", "" },
{ "-fhuge-objects", "Enable support for huge objects" },
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 81ec12e..30eaa85 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -733,11 +733,6 @@ init_parse (filename)
/* This is for ANSI C++. */
ridpointers[(int) RID_MUTABLE] = get_identifier ("mutable");
- /* Signature handling extensions. */
- signature_type_node = build_int_2 (signature_type, 0);
- TREE_TYPE (signature_type_node) = signature_type_node;
- ridpointers[(int) RID_SIGNATURE] = signature_type_node;
-
/* Create the built-in __null node. Note that we can't yet call for
type_for_size here because integer_type_node and so forth are not
set up. Therefore, we don't set the type of these nodes until
@@ -850,13 +845,6 @@ init_parse (filename)
UNSET_RESERVED_WORD ("headof");
}
- if (! flag_handle_signatures || flag_no_gnu_keywords)
- {
- /* Easiest way to not recognize signature
- handling extensions... */
- UNSET_RESERVED_WORD ("signature");
- UNSET_RESERVED_WORD ("sigof");
- }
if (flag_no_asm || flag_no_gnu_keywords)
UNSET_RESERVED_WORD ("typeof");
if (! flag_operator_names)
@@ -941,8 +929,6 @@ yyprint (file, yychar, yylval)
fprintf (file, " `union'");
else if (yylval.ttype == enum_type_node)
fprintf (file, " `enum'");
- else if (yylval.ttype == signature_type_node)
- fprintf (file, " `signature'");
else
my_friendly_abort (80);
break;
diff --git a/gcc/cp/lex.h b/gcc/cp/lex.h
index 5c2a1d1..8f997ad 100644
--- a/gcc/cp/lex.h
+++ b/gcc/cp/lex.h
@@ -76,7 +76,6 @@ enum rid
RID_PROTECTED,
RID_EXCEPTION,
RID_TEMPLATE,
- RID_SIGNATURE,
RID_NULL,
/* Before adding enough to get up to 64, the RIDBIT_* macros
will have to be changed a little. */
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 3cc4df2..4fb10a8 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1654,12 +1654,7 @@ build_decl_overload_real (dname, parms, ret_type, tparms, targs,
if (for_method)
{
- tree this_type = TREE_VALUE (parms);
-
- if (TREE_CODE (this_type) == RECORD_TYPE) /* a signature pointer */
- this_type = SIGNATURE_TYPE (this_type);
- else
- this_type = TREE_TYPE (this_type);
+ tree this_type = TREE_TYPE (TREE_VALUE (parms));
build_mangled_name_for_type (this_type);
@@ -1948,9 +1943,6 @@ hack_identifier (value, name)
if (TREE_CODE (value) == OVERLOAD)
value = OVL_CURRENT (value);
- if (IS_SIGNATURE (DECL_CLASS_CONTEXT (value)))
- return value;
-
decl = maybe_dummy_object (DECL_CLASS_CONTEXT (value), 0);
value = build_component_ref (decl, name, NULL_TREE, 1);
}
diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c
index 15c67d0..6dccedc 100644
--- a/gcc/cp/parse.c
+++ b/gcc/cp/parse.c
@@ -215,7 +215,7 @@ parse_decl(declarator, specs_attrs, attributes, initialized, decl)
-#define YYFINAL 1673
+#define YYFINAL 1667
#define YYFLAG -32768
#define YYNTBASE 112
@@ -312,43 +312,43 @@ static const short yyprhs[] = { 0,
1606, 1608, 1609, 1611, 1612, 1614, 1616, 1619, 1622, 1625,
1628, 1631, 1634, 1637, 1640, 1643, 1647, 1652, 1656, 1659,
1663, 1665, 1666, 1670, 1673, 1676, 1678, 1680, 1681, 1684,
- 1688, 1690, 1695, 1697, 1701, 1703, 1705, 1710, 1715, 1718,
- 1721, 1725, 1729, 1730, 1732, 1736, 1739, 1742, 1744, 1747,
- 1750, 1753, 1756, 1759, 1762, 1765, 1767, 1770, 1773, 1777,
- 1780, 1783, 1788, 1793, 1796, 1798, 1804, 1809, 1811, 1812,
- 1814, 1818, 1819, 1821, 1825, 1827, 1829, 1831, 1833, 1838,
- 1843, 1848, 1853, 1858, 1862, 1867, 1872, 1877, 1882, 1886,
- 1889, 1891, 1893, 1897, 1899, 1903, 1906, 1908, 1916, 1917,
- 1920, 1922, 1925, 1926, 1929, 1934, 1939, 1942, 1947, 1949,
- 1952, 1956, 1960, 1963, 1966, 1970, 1972, 1977, 1982, 1986,
- 1990, 1993, 1995, 1997, 2000, 2002, 2004, 2007, 2010, 2012,
- 2015, 2019, 2023, 2026, 2029, 2033, 2035, 2039, 2043, 2046,
- 2049, 2053, 2055, 2060, 2064, 2069, 2073, 2075, 2078, 2081,
- 2084, 2087, 2090, 2092, 2095, 2100, 2105, 2108, 2110, 2112,
- 2114, 2116, 2119, 2124, 2127, 2130, 2133, 2136, 2138, 2141,
- 2144, 2147, 2150, 2154, 2156, 2159, 2163, 2168, 2171, 2174,
- 2177, 2180, 2183, 2186, 2191, 2194, 2196, 2199, 2202, 2206,
- 2208, 2212, 2215, 2219, 2222, 2225, 2229, 2231, 2235, 2240,
- 2242, 2245, 2249, 2252, 2255, 2257, 2261, 2264, 2267, 2269,
- 2272, 2276, 2278, 2282, 2289, 2294, 2299, 2303, 2309, 2313,
- 2317, 2321, 2324, 2326, 2328, 2331, 2334, 2337, 2338, 2340,
- 2342, 2345, 2349, 2351, 2354, 2355, 2359, 2360, 2361, 2367,
- 2369, 2370, 2373, 2375, 2377, 2379, 2382, 2383, 2388, 2390,
- 2391, 2392, 2398, 2399, 2400, 2408, 2409, 2410, 2411, 2412,
- 2425, 2426, 2427, 2435, 2436, 2442, 2443, 2451, 2452, 2457,
- 2460, 2463, 2466, 2470, 2477, 2486, 2497, 2510, 2515, 2519,
- 2522, 2525, 2527, 2529, 2531, 2533, 2535, 2536, 2537, 2544,
- 2545, 2546, 2552, 2554, 2557, 2558, 2559, 2565, 2567, 2569,
- 2573, 2577, 2580, 2583, 2586, 2589, 2592, 2594, 2597, 2598,
- 2600, 2601, 2603, 2605, 2606, 2608, 2610, 2614, 2619, 2621,
- 2625, 2626, 2628, 2630, 2632, 2635, 2638, 2641, 2643, 2646,
- 2649, 2650, 2654, 2656, 2658, 2660, 2663, 2666, 2669, 2674,
- 2677, 2680, 2683, 2686, 2689, 2692, 2694, 2697, 2699, 2702,
- 2704, 2706, 2707, 2708, 2710, 2711, 2716, 2719, 2721, 2723,
- 2727, 2728, 2732, 2736, 2740, 2742, 2745, 2748, 2751, 2754,
- 2757, 2760, 2763, 2766, 2769, 2772, 2775, 2778, 2781, 2784,
- 2787, 2790, 2793, 2796, 2799, 2802, 2805, 2808, 2811, 2815,
- 2818, 2821, 2824, 2827, 2831, 2834, 2837, 2842, 2847, 2851
+ 1688, 1690, 1695, 1697, 1701, 1703, 1705, 1708, 1711, 1715,
+ 1719, 1720, 1722, 1726, 1729, 1732, 1734, 1737, 1740, 1743,
+ 1746, 1749, 1752, 1755, 1757, 1760, 1763, 1767, 1770, 1773,
+ 1778, 1783, 1786, 1788, 1794, 1799, 1801, 1802, 1804, 1808,
+ 1809, 1811, 1815, 1817, 1819, 1821, 1823, 1828, 1833, 1838,
+ 1843, 1848, 1852, 1857, 1862, 1867, 1872, 1876, 1879, 1881,
+ 1883, 1887, 1889, 1893, 1896, 1898, 1906, 1907, 1910, 1912,
+ 1915, 1916, 1919, 1924, 1929, 1932, 1937, 1939, 1942, 1946,
+ 1950, 1953, 1956, 1960, 1962, 1967, 1972, 1976, 1980, 1983,
+ 1985, 1987, 1990, 1992, 1994, 1997, 2000, 2002, 2005, 2009,
+ 2013, 2016, 2019, 2023, 2025, 2029, 2033, 2036, 2039, 2043,
+ 2045, 2050, 2054, 2059, 2063, 2065, 2068, 2071, 2074, 2077,
+ 2080, 2082, 2085, 2090, 2095, 2098, 2100, 2102, 2104, 2106,
+ 2109, 2114, 2117, 2120, 2123, 2126, 2128, 2131, 2134, 2137,
+ 2140, 2144, 2146, 2149, 2153, 2158, 2161, 2164, 2167, 2170,
+ 2173, 2176, 2181, 2184, 2186, 2189, 2192, 2196, 2198, 2202,
+ 2205, 2209, 2212, 2215, 2219, 2221, 2225, 2230, 2232, 2235,
+ 2239, 2242, 2245, 2247, 2251, 2254, 2257, 2259, 2262, 2266,
+ 2268, 2272, 2279, 2284, 2289, 2293, 2299, 2303, 2307, 2311,
+ 2314, 2316, 2318, 2321, 2324, 2327, 2328, 2330, 2332, 2335,
+ 2339, 2341, 2344, 2345, 2349, 2350, 2351, 2357, 2359, 2360,
+ 2363, 2365, 2367, 2369, 2372, 2373, 2378, 2380, 2381, 2382,
+ 2388, 2389, 2390, 2398, 2399, 2400, 2401, 2402, 2415, 2416,
+ 2417, 2425, 2426, 2432, 2433, 2441, 2442, 2447, 2450, 2453,
+ 2456, 2460, 2467, 2476, 2487, 2500, 2505, 2509, 2512, 2515,
+ 2517, 2519, 2521, 2523, 2525, 2526, 2527, 2534, 2535, 2536,
+ 2542, 2544, 2547, 2548, 2549, 2555, 2557, 2559, 2563, 2567,
+ 2570, 2573, 2576, 2579, 2582, 2584, 2587, 2588, 2590, 2591,
+ 2593, 2595, 2596, 2598, 2600, 2604, 2609, 2611, 2615, 2616,
+ 2618, 2620, 2622, 2625, 2628, 2631, 2633, 2636, 2639, 2640,
+ 2644, 2646, 2648, 2650, 2653, 2656, 2659, 2664, 2667, 2670,
+ 2673, 2676, 2679, 2682, 2684, 2687, 2689, 2692, 2694, 2696,
+ 2697, 2698, 2700, 2701, 2706, 2709, 2711, 2713, 2717, 2718,
+ 2722, 2726, 2730, 2732, 2735, 2738, 2741, 2744, 2747, 2750,
+ 2753, 2756, 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780,
+ 2783, 2786, 2789, 2792, 2795, 2798, 2801, 2805, 2808, 2811,
+ 2814, 2817, 2821, 2824, 2827, 2832, 2837, 2841
};
static const short yyrhs[] = { -1,
@@ -522,8 +522,7 @@ static const short yyrhs[] = { -1,
277, 0, 269, 59, 0, 275, 0, 273, 0, 0,
63, 393, 0, 63, 393, 278, 0, 279, 0, 278,
60, 393, 279, 0, 280, 0, 281, 393, 280, 0,
- 321, 0, 307, 0, 30, 93, 186, 108, 0, 30,
- 93, 225, 108, 0, 38, 393, 0, 7, 393, 0,
+ 321, 0, 307, 0, 38, 393, 0, 7, 393, 0,
281, 38, 393, 0, 281, 7, 393, 0, 0, 284,
0, 282, 283, 284, 0, 282, 283, 0, 38, 63,
0, 285, 0, 284, 285, 0, 286, 61, 0, 286,
@@ -695,43 +694,43 @@ static const short yyrline[] = { 0,
2160, 2184, 2186, 2189, 2191, 2196, 2198, 2200, 2202, 2204,
2206, 2210, 2218, 2221, 2223, 2227, 2234, 2240, 2246, 2252,
2262, 2268, 2272, 2279, 2307, 2317, 2323, 2326, 2329, 2331,
- 2335, 2337, 2341, 2346, 2352, 2355, 2356, 2377, 2400, 2402,
- 2406, 2417, 2431, 2432, 2433, 2434, 2437, 2452, 2457, 2463,
- 2465, 2470, 2472, 2474, 2476, 2478, 2480, 2483, 2493, 2500,
- 2525, 2531, 2534, 2537, 2539, 2550, 2555, 2558, 2563, 2566,
- 2573, 2583, 2586, 2593, 2603, 2605, 2608, 2610, 2613, 2620,
- 2628, 2635, 2641, 2647, 2655, 2659, 2664, 2668, 2671, 2676,
- 2678, 2686, 2688, 2692, 2695, 2700, 2704, 2710, 2721, 2724,
- 2728, 2732, 2740, 2745, 2751, 2754, 2756, 2758, 2764, 2766,
- 2775, 2778, 2780, 2782, 2784, 2788, 2791, 2794, 2796, 2798,
- 2800, 2804, 2807, 2818, 2828, 2830, 2831, 2835, 2843, 2845,
- 2853, 2856, 2858, 2860, 2862, 2866, 2869, 2872, 2874, 2876,
- 2878, 2882, 2885, 2888, 2890, 2892, 2894, 2896, 2903, 2907,
- 2912, 2916, 2921, 2923, 2927, 2930, 2932, 2935, 2937, 2938,
- 2941, 2943, 2945, 2951, 2962, 2968, 2974, 2988, 2990, 2994,
- 3008, 3010, 3012, 3016, 3022, 3035, 3037, 3041, 3054, 3060,
- 3062, 3063, 3064, 3072, 3077, 3086, 3087, 3091, 3094, 3100,
- 3106, 3109, 3111, 3113, 3115, 3119, 3123, 3127, 3130, 3134,
- 3136, 3145, 3148, 3150, 3152, 3154, 3156, 3158, 3160, 3162,
- 3166, 3170, 3174, 3178, 3180, 3182, 3184, 3186, 3188, 3190,
- 3192, 3194, 3202, 3204, 3205, 3206, 3209, 3215, 3217, 3222,
- 3224, 3227, 3241, 3244, 3247, 3251, 3254, 3261, 3263, 3266,
- 3268, 3270, 3273, 3276, 3279, 3282, 3284, 3287, 3291, 3293,
- 3299, 3301, 3302, 3304, 3309, 3311, 3313, 3315, 3317, 3320,
- 3321, 3323, 3326, 3327, 3330, 3330, 3333, 3333, 3336, 3336,
- 3338, 3340, 3342, 3344, 3350, 3356, 3359, 3362, 3368, 3370,
- 3372, 3376, 3378, 3379, 3380, 3382, 3385, 3388, 3391, 3397,
- 3401, 3403, 3406, 3408, 3411, 3415, 3417, 3420, 3422, 3425,
- 3442, 3448, 3456, 3458, 3460, 3464, 3467, 3468, 3476, 3480,
- 3484, 3487, 3488, 3494, 3497, 3500, 3502, 3506, 3511, 3514,
- 3524, 3529, 3530, 3537, 3540, 3543, 3545, 3548, 3550, 3560,
- 3574, 3578, 3581, 3583, 3587, 3591, 3594, 3597, 3599, 3603,
- 3605, 3612, 3619, 3622, 3626, 3630, 3634, 3640, 3644, 3649,
- 3651, 3654, 3659, 3665, 3676, 3679, 3681, 3685, 3693, 3696,
- 3700, 3703, 3705, 3707, 3713, 3718, 3721, 3723, 3725, 3727,
- 3729, 3731, 3733, 3735, 3737, 3739, 3741, 3743, 3745, 3747,
- 3749, 3751, 3753, 3755, 3757, 3759, 3761, 3763, 3765, 3767,
- 3769, 3771, 3773, 3775, 3777, 3779, 3781, 3783, 3786, 3788
+ 2335, 2337, 2341, 2344, 2348, 2351, 2354, 2356, 2360, 2371,
+ 2385, 2386, 2387, 2388, 2391, 2400, 2405, 2411, 2413, 2418,
+ 2420, 2422, 2424, 2426, 2428, 2431, 2441, 2448, 2473, 2479,
+ 2482, 2485, 2487, 2498, 2503, 2506, 2511, 2514, 2521, 2531,
+ 2534, 2541, 2551, 2553, 2556, 2558, 2561, 2568, 2576, 2583,
+ 2589, 2595, 2603, 2607, 2612, 2616, 2619, 2624, 2626, 2634,
+ 2636, 2640, 2643, 2648, 2652, 2658, 2669, 2672, 2676, 2680,
+ 2688, 2693, 2699, 2702, 2704, 2706, 2712, 2714, 2723, 2726,
+ 2728, 2730, 2732, 2736, 2739, 2742, 2744, 2746, 2748, 2752,
+ 2755, 2766, 2776, 2778, 2779, 2783, 2791, 2793, 2801, 2804,
+ 2806, 2808, 2810, 2814, 2817, 2820, 2822, 2824, 2826, 2830,
+ 2833, 2836, 2838, 2840, 2842, 2844, 2851, 2855, 2860, 2864,
+ 2869, 2871, 2875, 2878, 2880, 2883, 2885, 2886, 2889, 2891,
+ 2893, 2899, 2910, 2916, 2922, 2936, 2938, 2942, 2956, 2958,
+ 2960, 2964, 2970, 2983, 2985, 2989, 3002, 3008, 3010, 3011,
+ 3012, 3020, 3025, 3034, 3035, 3039, 3042, 3048, 3054, 3057,
+ 3059, 3061, 3063, 3067, 3071, 3075, 3078, 3082, 3084, 3093,
+ 3096, 3098, 3100, 3102, 3104, 3106, 3108, 3110, 3114, 3118,
+ 3122, 3126, 3128, 3130, 3132, 3134, 3136, 3138, 3140, 3142,
+ 3150, 3152, 3153, 3154, 3157, 3163, 3165, 3170, 3172, 3175,
+ 3189, 3192, 3195, 3199, 3202, 3209, 3211, 3214, 3216, 3218,
+ 3221, 3224, 3227, 3230, 3232, 3235, 3239, 3241, 3247, 3249,
+ 3250, 3252, 3257, 3259, 3261, 3263, 3265, 3268, 3269, 3271,
+ 3274, 3275, 3278, 3278, 3281, 3281, 3284, 3284, 3286, 3288,
+ 3290, 3292, 3298, 3304, 3307, 3310, 3316, 3318, 3320, 3324,
+ 3326, 3327, 3328, 3330, 3333, 3336, 3339, 3345, 3349, 3351,
+ 3354, 3356, 3359, 3363, 3365, 3368, 3370, 3373, 3390, 3396,
+ 3404, 3406, 3408, 3412, 3415, 3416, 3424, 3428, 3432, 3435,
+ 3436, 3442, 3445, 3448, 3450, 3454, 3459, 3462, 3472, 3477,
+ 3478, 3485, 3488, 3491, 3493, 3496, 3498, 3508, 3522, 3526,
+ 3529, 3531, 3535, 3539, 3542, 3545, 3547, 3551, 3553, 3560,
+ 3567, 3570, 3574, 3578, 3582, 3588, 3592, 3597, 3599, 3602,
+ 3607, 3613, 3624, 3627, 3629, 3633, 3641, 3644, 3648, 3651,
+ 3653, 3655, 3661, 3666, 3669, 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, 3734, 3736
};
#endif
@@ -859,43 +858,43 @@ static const short yyr1[] = { 0,
261, 267, 267, 268, 268, 269, 269, 269, 269, 269,
269, 270, 271, 271, 271, 272, 272, 272, 272, 272,
273, 274, 273, 273, 275, 276, 276, 277, 277, 277,
- 278, 278, 279, 279, 280, 280, 280, 280, 281, 281,
- 281, 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, 298, 298, 298, 299, 299,
- 300, 300, 301, 302, 303, 303, 303, 303, 304, 304,
- 305, 305, 305, 305, 305, 305, 306, 306, 306, 306,
- 306, 306, 307, 307, 308, 308, 308, 309, 310, 310,
- 311, 311, 311, 311, 311, 311, 312, 312, 312, 312,
- 312, 312, 313, 313, 313, 313, 313, 313, 314, 314,
- 315, 315, 316, 316, 317, 317, 317, 318, 318, 318,
- 319, 319, 319, 320, 320, 320, 320, 321, 321, 322,
- 322, 322, 322, 323, 323, 323, 323, 324, 324, 324,
- 324, 324, 324, 325, 326, 326, 326, 327, 327, 328,
- 329, 329, 329, 329, 329, 329, 329, 330, 330, 331,
- 331, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 333, 333, 333, 333, 333, 333, 333, 333,
- 333, 333, 334, 334, 334, 334, 335, 336, 336, 337,
- 337, 338, 339, 339, 341, 340, 343, 344, 342, 345,
- 346, 345, 347, 347, 348, 348, 349, 348, 348, 350,
- 351, 348, 352, 353, 348, 354, 355, 356, 357, 348,
- 358, 359, 348, 360, 348, 361, 348, 362, 348, 348,
+ 278, 278, 279, 279, 280, 280, 281, 281, 281, 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, 298, 298, 298, 299, 299, 300, 300,
+ 301, 302, 303, 303, 303, 303, 304, 304, 305, 305,
+ 305, 305, 305, 305, 306, 306, 306, 306, 306, 306,
+ 307, 307, 308, 308, 308, 309, 310, 310, 311, 311,
+ 311, 311, 311, 311, 312, 312, 312, 312, 312, 312,
+ 313, 313, 313, 313, 313, 313, 314, 314, 315, 315,
+ 316, 316, 317, 317, 317, 318, 318, 318, 319, 319,
+ 319, 320, 320, 320, 320, 321, 321, 322, 322, 322,
+ 322, 323, 323, 323, 323, 324, 324, 324, 324, 324,
+ 324, 325, 326, 326, 326, 327, 327, 328, 329, 329,
+ 329, 329, 329, 329, 329, 330, 330, 331, 331, 332,
+ 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 334, 334, 334, 334, 335, 336, 336, 337, 337, 338,
+ 339, 339, 341, 340, 343, 344, 342, 345, 346, 345,
+ 347, 347, 348, 348, 349, 348, 348, 350, 351, 348,
+ 352, 353, 348, 354, 355, 356, 357, 348, 358, 359,
+ 348, 360, 348, 361, 348, 362, 348, 348, 348, 348,
348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
- 348, 348, 348, 348, 348, 348, 364, 365, 363, 367,
- 368, 366, 369, 369, 371, 372, 370, 373, 373, 374,
- 374, 375, 375, 375, 375, 376, 376, 376, 377, 377,
- 378, 378, 378, 379, 379, 380, 380, 381, 382, 382,
- 383, 383, 383, 384, 384, 384, 384, 384, 384, 384,
- 386, 385, 387, 387, 388, 388, 388, 388, 388, 389,
- 389, 390, 390, 390, 390, 390, 390, 391, 391, 392,
- 392, 393, 394, 394, 395, 395, 395, 396, 397, 397,
- 398, 398, 398, 398, 399, 400, 400, 400, 400, 400,
+ 348, 348, 348, 348, 364, 365, 363, 367, 368, 366,
+ 369, 369, 371, 372, 370, 373, 373, 374, 374, 375,
+ 375, 375, 375, 376, 376, 376, 377, 377, 378, 378,
+ 378, 379, 379, 380, 380, 381, 382, 382, 383, 383,
+ 383, 384, 384, 384, 384, 384, 384, 384, 386, 385,
+ 387, 387, 388, 388, 388, 388, 388, 389, 389, 390,
+ 390, 390, 390, 390, 390, 391, 391, 392, 392, 393,
+ 394, 394, 395, 395, 395, 396, 397, 397, 398, 398,
+ 398, 398, 399, 400, 400, 400, 400, 400, 400, 400,
400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
- 400, 400, 400, 400, 400, 400, 400, 400, 400, 400
+ 400, 400, 400, 400, 400, 400, 400, 400
};
static const short yyr2[] = { 0,
@@ -950,1440 +949,1415 @@ static const short yyr2[] = { 0,
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, 0, 1, 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, 2,
- 1, 1, 3, 1, 3, 2, 1, 7, 0, 2,
- 1, 2, 0, 2, 4, 4, 2, 4, 1, 2,
- 3, 3, 2, 2, 3, 1, 4, 4, 3, 3,
- 2, 1, 1, 2, 1, 1, 2, 2, 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, 1,
- 2, 3, 2, 2, 1, 3, 2, 2, 1, 2,
- 3, 1, 3, 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,
+ 1, 4, 1, 3, 1, 1, 2, 2, 3, 3,
+ 0, 1, 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, 2, 1, 1,
+ 3, 1, 3, 2, 1, 7, 0, 2, 1, 2,
+ 0, 2, 4, 4, 2, 4, 1, 2, 3, 3,
+ 2, 2, 3, 1, 4, 4, 3, 3, 2, 1,
+ 1, 2, 1, 1, 2, 2, 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, 1, 2, 3,
+ 2, 2, 1, 3, 2, 2, 1, 2, 3, 1,
+ 3, 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, 3, 2,
- 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
+ 2, 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, 282, 638, 639, 0,
- 389, 401, 581, 0, 11, 0, 0, 0, 10, 486,
- 845, 0, 0, 0, 167, 670, 283, 284, 83, 0,
- 0, 832, 0, 45, 0, 0, 13, 25, 0, 27,
- 8, 0, 16, 15, 89, 110, 86, 0, 640, 171,
- 303, 280, 304, 616, 0, 376, 0, 375, 394, 0,
+ 12, 12, 5, 0, 4, 0, 282, 636, 637, 0,
+ 389, 401, 579, 0, 11, 0, 0, 0, 10, 486,
+ 843, 0, 0, 0, 167, 668, 283, 284, 83, 0,
+ 0, 830, 0, 45, 0, 0, 13, 25, 0, 27,
+ 8, 0, 16, 15, 89, 110, 86, 0, 638, 171,
+ 303, 280, 304, 614, 0, 376, 0, 375, 394, 0,
414, 393, 431, 400, 0, 501, 502, 508, 507, 506,
- 481, 388, 605, 402, 606, 108, 302, 627, 603, 0,
- 641, 579, 0, 0, 281, 81, 82, 178, 644, 178,
- 645, 178, 285, 167, 140, 141, 142, 143, 144, 472,
- 474, 0, 666, 0, 475, 0, 0, 0, 0, 141,
+ 481, 388, 603, 402, 604, 108, 302, 625, 601, 0,
+ 639, 577, 0, 0, 281, 81, 82, 178, 642, 178,
+ 643, 178, 285, 167, 140, 141, 142, 143, 144, 472,
+ 474, 0, 664, 0, 475, 0, 0, 0, 0, 141,
142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
- 0, 476, 648, 0, 654, 0, 0, 0, 37, 0,
- 0, 31, 0, 0, 47, 0, 178, 646, 0, 0,
- 0, 614, 609, 0, 0, 0, 613, 0, 0, 0,
- 0, 303, 0, 294, 583, 0, 0, 302, 579, 28,
+ 0, 476, 646, 0, 652, 0, 0, 0, 37, 0,
+ 0, 31, 0, 0, 47, 0, 178, 644, 0, 0,
+ 0, 612, 607, 0, 0, 0, 611, 0, 0, 0,
+ 0, 303, 0, 294, 581, 0, 0, 302, 577, 28,
0, 26, 3, 46, 0, 64, 389, 0, 0, 8,
67, 63, 66, 89, 0, 0, 0, 400, 90, 14,
- 0, 429, 0, 0, 447, 87, 79, 647, 583, 0,
- 579, 80, 0, 0, 0, 106, 0, 410, 366, 596,
- 367, 602, 0, 579, 391, 390, 78, 109, 377, 0,
+ 0, 429, 0, 0, 447, 87, 79, 645, 581, 0,
+ 577, 80, 0, 0, 0, 106, 0, 410, 366, 594,
+ 367, 600, 0, 577, 391, 390, 78, 109, 377, 0,
412, 392, 107, 383, 407, 408, 378, 396, 398, 387,
409, 0, 75, 432, 487, 488, 489, 490, 505, 149,
148, 150, 492, 493, 172, 499, 491, 0, 0, 494,
- 495, 508, 832, 504, 477, 582, 395, 0, 426, 639,
- 0, 668, 171, 631, 632, 628, 608, 642, 0, 607,
- 604, 0, 880, 876, 875, 873, 855, 860, 861, 0,
- 867, 866, 852, 853, 851, 870, 859, 856, 857, 858,
- 862, 863, 849, 850, 846, 847, 848, 872, 864, 865,
- 854, 871, 0, 868, 778, 394, 779, 841, 285, 282,
- 581, 307, 355, 0, 0, 0, 0, 0, 351, 349,
+ 495, 508, 830, 504, 477, 580, 395, 0, 426, 637,
+ 0, 666, 171, 629, 630, 626, 606, 640, 0, 605,
+ 602, 0, 878, 874, 873, 871, 853, 858, 859, 0,
+ 865, 864, 850, 851, 849, 868, 857, 854, 855, 856,
+ 860, 861, 847, 848, 844, 845, 846, 870, 862, 863,
+ 852, 869, 0, 866, 776, 394, 777, 839, 285, 282,
+ 579, 307, 355, 0, 0, 0, 0, 0, 351, 349,
322, 353, 354, 0, 0, 0, 0, 0, 283, 284,
276, 0, 0, 186, 185, 0, 187, 188, 0, 0,
189, 0, 0, 179, 180, 0, 250, 0, 253, 184,
306, 215, 0, 0, 308, 309, 0, 182, 373, 394,
- 374, 633, 334, 324, 0, 0, 0, 0, 178, 0,
- 484, 470, 0, 667, 665, 0, 190, 191, 0, 0,
- 0, 436, 3, 21, 29, 662, 658, 659, 661, 663,
- 660, 140, 141, 142, 0, 143, 144, 650, 651, 655,
- 652, 649, 0, 292, 293, 291, 630, 629, 33, 32,
- 49, 0, 157, 0, 0, 394, 155, 0, 0, 610,
- 612, 0, 611, 141, 142, 278, 279, 298, 0, 620,
- 297, 0, 619, 0, 305, 283, 284, 0, 0, 0,
- 296, 295, 624, 0, 0, 12, 0, 167, 9, 9,
+ 374, 631, 334, 324, 0, 0, 0, 0, 178, 0,
+ 484, 470, 0, 665, 663, 0, 190, 191, 0, 0,
+ 0, 436, 3, 21, 29, 660, 656, 657, 659, 661,
+ 658, 140, 141, 142, 0, 143, 144, 648, 649, 653,
+ 650, 647, 0, 292, 293, 291, 628, 627, 33, 32,
+ 49, 0, 157, 0, 0, 394, 155, 0, 0, 608,
+ 610, 0, 609, 141, 142, 278, 279, 298, 0, 618,
+ 297, 0, 617, 0, 305, 283, 284, 0, 0, 0,
+ 296, 295, 622, 0, 0, 12, 0, 167, 9, 9,
70, 0, 65, 0, 0, 71, 74, 0, 428, 430,
- 122, 93, 127, 767, 0, 85, 84, 92, 125, 0,
- 0, 123, 88, 626, 0, 0, 587, 0, 835, 0,
- 0, 594, 589, 0, 593, 0, 0, 0, 0, 0,
- 579, 429, 0, 77, 583, 579, 601, 0, 380, 381,
+ 122, 93, 127, 765, 0, 85, 84, 92, 125, 0,
+ 0, 123, 88, 624, 0, 0, 585, 0, 833, 0,
+ 0, 592, 587, 0, 591, 0, 0, 0, 0, 0,
+ 577, 429, 0, 77, 581, 577, 599, 0, 380, 381,
0, 76, 429, 385, 384, 386, 379, 399, 416, 415,
178, 496, 500, 498, 0, 503, 509, 0, 397, 429,
- 579, 94, 0, 0, 0, 0, 579, 100, 580, 615,
- 639, 669, 171, 0, 0, 869, 874, 396, 579, 579,
- 0, 579, 879, 178, 0, 0, 0, 222, 0, 0,
+ 577, 94, 0, 0, 0, 0, 577, 100, 578, 613,
+ 637, 667, 171, 0, 0, 867, 872, 396, 577, 577,
+ 0, 577, 877, 178, 0, 0, 0, 222, 0, 0,
224, 237, 238, 0, 0, 0, 0, 0, 0, 277,
221, 218, 217, 219, 0, 0, 0, 0, 0, 306,
0, 0, 0, 216, 176, 177, 300, 0, 220, 0,
0, 251, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 316, 0, 318, 320, 321, 359,
- 358, 0, 0, 241, 241, 0, 226, 577, 0, 234,
- 356, 348, 0, 0, 832, 337, 340, 341, 0, 0,
- 368, 689, 685, 0, 583, 579, 579, 579, 370, 692,
- 0, 637, 372, 0, 0, 371, 336, 0, 331, 350,
- 332, 352, 634, 0, 333, 175, 175, 0, 165, 0,
- 394, 163, 485, 574, 571, 0, 484, 572, 484, 0,
+ 358, 0, 0, 241, 241, 0, 226, 575, 0, 234,
+ 356, 348, 0, 0, 830, 337, 340, 341, 0, 0,
+ 368, 687, 683, 0, 581, 577, 577, 577, 370, 690,
+ 0, 635, 372, 0, 0, 371, 336, 0, 331, 350,
+ 332, 352, 632, 0, 333, 175, 175, 0, 165, 0,
+ 394, 163, 485, 572, 569, 0, 484, 570, 484, 0,
403, 0, 0, 404, 405, 406, 442, 443, 444, 441,
- 0, 434, 437, 0, 3, 0, 653, 178, 656, 0,
- 41, 42, 0, 53, 0, 0, 57, 61, 50, 831,
- 826, 0, 373, 394, 53, 374, 830, 59, 168, 153,
- 151, 168, 175, 301, 618, 617, 305, 0, 621, 0,
+ 0, 434, 437, 0, 3, 0, 651, 178, 654, 0,
+ 41, 42, 0, 53, 0, 0, 57, 61, 50, 829,
+ 824, 0, 373, 394, 53, 374, 828, 59, 168, 153,
+ 151, 168, 175, 301, 616, 615, 305, 0, 619, 0,
18, 20, 89, 9, 9, 73, 72, 0, 128, 357,
- 0, 715, 91, 713, 453, 0, 449, 448, 214, 0,
- 213, 584, 625, 0, 808, 0, 803, 394, 0, 802,
- 804, 833, 815, 0, 0, 623, 590, 592, 591, 0,
- 0, 0, 0, 0, 0, 579, 600, 0, 424, 423,
- 411, 599, 0, 835, 595, 382, 413, 425, 429, 0,
- 497, 638, 639, 832, 0, 832, 640, 510, 511, 513,
- 832, 516, 515, 0, 545, 639, 0, 536, 0, 0,
- 548, 0, 121, 116, 0, 171, 549, 552, 0, 0,
- 528, 0, 119, 427, 835, 801, 178, 178, 643, 178,
- 835, 801, 579, 97, 579, 103, 878, 877, 841, 841,
- 841, 0, 0, 0, 0, 637, 0, 0, 0, 0,
- 0, 394, 0, 0, 0, 312, 0, 310, 311, 0,
- 248, 181, 282, 638, 639, 283, 284, 0, 0, 454,
- 482, 0, 275, 274, 793, 792, 0, 272, 271, 269,
- 270, 268, 267, 266, 263, 264, 265, 261, 262, 256,
- 257, 258, 259, 260, 254, 255, 0, 0, 0, 0,
- 0, 241, 228, 245, 0, 0, 227, 579, 579, 0,
- 579, 576, 677, 0, 0, 0, 0, 0, 339, 0,
- 343, 0, 345, 0, 0, 688, 687, 680, 684, 683,
- 831, 393, 0, 0, 702, 0, 0, 835, 369, 835,
- 690, 579, 801, 583, 689, 685, 0, 0, 579, 0,
- 393, 0, 0, 0, 0, 170, 174, 286, 168, 161,
- 159, 168, 0, 473, 485, 570, 0, 212, 211, 210,
- 209, 436, 0, 0, 24, 0, 0, 657, 0, 38,
- 44, 43, 55, 52, 53, 0, 48, 0, 0, 689,
- 685, 0, 822, 579, 825, 827, 0, 823, 824, 54,
- 492, 0, 158, 168, 168, 156, 169, 299, 17, 19,
- 69, 89, 417, 145, 133, 146, 147, 0, 126, 129,
- 0, 0, 0, 0, 714, 708, 450, 0, 124, 588,
- 585, 807, 821, 810, 0, 586, 806, 820, 809, 805,
- 834, 817, 828, 818, 811, 816, 837, 0, 0, 0,
- 0, 421, 598, 597, 420, 175, 520, 0, 519, 832,
- 832, 832, 0, 579, 801, 544, 537, 549, 538, 429,
- 429, 534, 535, 532, 533, 579, 801, 282, 638, 0,
- 416, 117, 540, 550, 555, 556, 416, 416, 0, 0,
- 416, 115, 541, 553, 416, 0, 429, 0, 529, 530,
- 531, 429, 96, 0, 0, 0, 0, 102, 0, 835,
- 801, 835, 801, 843, 842, 844, 287, 323, 223, 225,
- 0, 329, 330, 0, 0, 0, 0, 311, 314, 0,
- 0, 0, 0, 249, 0, 315, 317, 319, 0, 0,
- 0, 0, 229, 247, 0, 0, 674, 672, 0, 675,
- 583, 235, 0, 0, 178, 346, 0, 0, 0, 681,
- 686, 682, 693, 579, 701, 699, 700, 691, 835, 0,
- 697, 0, 0, 635, 636, 689, 685, 0, 0, 335,
- 166, 168, 168, 164, 575, 573, 471, 435, 433, 282,
- 0, 22, 30, 664, 56, 51, 58, 62, 0, 688,
- 684, 689, 685, 0, 393, 603, 0, 579, 690, 60,
- 154, 152, 68, 0, 131, 0, 135, 0, 137, 0,
- 139, 0, 768, 0, 202, 716, 0, 709, 710, 0,
- 451, 689, 685, 0, 306, 0, 633, 829, 0, 0,
- 838, 839, 0, 0, 0, 0, 0, 0, 418, 173,
- 0, 0, 0, 522, 521, 514, 835, 0, 539, 447,
- 447, 835, 0, 0, 0, 429, 429, 0, 429, 429,
- 0, 429, 0, 527, 478, 0, 447, 579, 289, 288,
- 290, 579, 99, 0, 105, 0, 0, 0, 0, 0,
- 0, 0, 457, 0, 455, 252, 273, 243, 242, 240,
- 230, 0, 244, 246, 673, 671, 678, 676, 0, 236,
- 0, 0, 338, 342, 344, 835, 695, 579, 696, 162,
- 160, 0, 438, 440, 0, 688, 684, 689, 685, 0,
- 579, 608, 690, 132, 130, 0, 0, 0, 0, 445,
- 0, 0, 282, 638, 639, 717, 730, 733, 736, 741,
- 0, 0, 0, 0, 0, 0, 0, 0, 283, 762,
- 770, 0, 789, 766, 765, 764, 0, 725, 0, 0,
- 394, 0, 704, 723, 729, 703, 724, 763, 0, 711,
- 452, 0, 636, 819, 813, 814, 812, 0, 836, 422,
- 0, 517, 518, 512, 112, 579, 543, 547, 114, 579,
- 429, 429, 564, 447, 282, 638, 0, 551, 557, 558,
- 416, 416, 447, 447, 0, 447, 554, 467, 542, 835,
- 835, 579, 579, 239, 0, 0, 0, 0, 456, 0,
- 0, 231, 232, 679, 347, 288, 698, 835, 0, 688,
- 684, 0, 690, 134, 136, 138, 775, 769, 773, 0,
- 712, 707, 205, 782, 784, 785, 0, 0, 721, 0,
- 0, 0, 748, 750, 751, 752, 0, 0, 0, 0,
- 0, 0, 0, 783, 0, 365, 790, 0, 726, 363,
- 416, 0, 364, 0, 416, 0, 0, 0, 203, 706,
- 705, 727, 761, 760, 311, 840, 419, 835, 835, 563,
- 560, 562, 0, 0, 429, 429, 429, 559, 561, 546,
- 0, 95, 101, 835, 835, 325, 326, 327, 328, 458,
- 0, 233, 694, 439, 689, 685, 0, 0, 0, 774,
- 446, 194, 0, 718, 731, 720, 0, 0, 0, 0,
- 0, 744, 0, 753, 0, 759, 39, 144, 34, 144,
- 0, 35, 771, 0, 361, 362, 0, 0, 0, 360,
- 204, 721, 111, 113, 429, 429, 569, 447, 447, 469,
- 0, 468, 463, 98, 104, 578, 393, 0, 776, 201,
- 0, 394, 0, 721, 0, 734, 722, 708, 787, 737,
- 0, 0, 0, 0, 749, 758, 40, 36, 0, 0,
- 728, 568, 566, 565, 567, 0, 0, 480, 0, 0,
- 0, 195, 416, 719, 206, 732, 208, 0, 788, 0,
- 786, 742, 746, 745, 772, 794, 0, 466, 465, 459,
- 86, 89, 780, 781, 777, 429, 708, 192, 0, 0,
- 198, 0, 197, 721, 0, 0, 0, 795, 796, 754,
- 0, 464, 0, 207, 0, 735, 738, 743, 747, 0,
- 794, 0, 0, 462, 0, 461, 199, 193, 0, 0,
- 0, 755, 797, 460, 0, 0, 798, 0, 0, 200,
- 739, 799, 0, 756, 0, 0, 0, 740, 800, 757,
- 0, 0, 0
+ 0, 713, 91, 711, 453, 0, 449, 448, 214, 0,
+ 213, 582, 623, 0, 806, 0, 801, 394, 0, 800,
+ 802, 831, 813, 0, 0, 621, 588, 590, 589, 0,
+ 0, 0, 0, 0, 0, 577, 598, 0, 424, 423,
+ 411, 597, 0, 833, 593, 382, 413, 425, 429, 0,
+ 497, 636, 637, 830, 830, 638, 510, 511, 513, 830,
+ 516, 515, 0, 543, 637, 0, 534, 0, 0, 546,
+ 0, 121, 116, 0, 171, 547, 550, 0, 0, 526,
+ 0, 119, 427, 833, 799, 178, 178, 641, 178, 833,
+ 799, 577, 97, 577, 103, 876, 875, 839, 839, 839,
+ 0, 0, 0, 0, 635, 0, 0, 0, 0, 0,
+ 394, 0, 0, 0, 312, 0, 310, 311, 0, 248,
+ 181, 282, 636, 637, 283, 284, 0, 0, 454, 482,
+ 0, 275, 274, 791, 790, 0, 272, 271, 269, 270,
+ 268, 267, 266, 263, 264, 265, 261, 262, 256, 257,
+ 258, 259, 260, 254, 255, 0, 0, 0, 0, 0,
+ 241, 228, 245, 0, 0, 227, 577, 577, 0, 577,
+ 574, 675, 0, 0, 0, 0, 0, 339, 0, 343,
+ 0, 345, 0, 0, 686, 685, 678, 682, 681, 829,
+ 393, 0, 0, 700, 0, 0, 833, 369, 833, 688,
+ 577, 799, 581, 687, 683, 0, 0, 577, 0, 393,
+ 0, 0, 0, 0, 170, 174, 286, 168, 161, 159,
+ 168, 0, 473, 485, 568, 0, 212, 211, 210, 209,
+ 436, 0, 0, 24, 0, 0, 655, 0, 38, 44,
+ 43, 55, 52, 53, 0, 48, 0, 0, 687, 683,
+ 0, 820, 577, 823, 825, 0, 821, 822, 54, 492,
+ 0, 158, 168, 168, 156, 169, 299, 17, 19, 69,
+ 89, 417, 145, 133, 146, 147, 0, 126, 129, 0,
+ 0, 0, 0, 712, 706, 450, 0, 124, 586, 583,
+ 805, 819, 808, 0, 584, 804, 818, 807, 803, 832,
+ 815, 826, 816, 809, 814, 835, 0, 0, 0, 0,
+ 421, 596, 595, 420, 175, 518, 517, 830, 830, 830,
+ 0, 577, 799, 542, 535, 547, 536, 429, 429, 532,
+ 533, 530, 531, 577, 799, 282, 636, 0, 416, 117,
+ 538, 548, 553, 554, 416, 416, 0, 0, 416, 115,
+ 539, 551, 416, 0, 429, 0, 527, 528, 529, 429,
+ 96, 0, 0, 0, 0, 102, 0, 833, 799, 833,
+ 799, 841, 840, 842, 287, 323, 223, 225, 0, 329,
+ 330, 0, 0, 0, 0, 311, 314, 0, 0, 0,
+ 0, 249, 0, 315, 317, 319, 0, 0, 0, 0,
+ 229, 247, 0, 0, 672, 670, 0, 673, 581, 235,
+ 0, 0, 178, 346, 0, 0, 0, 679, 684, 680,
+ 691, 577, 699, 697, 698, 689, 833, 0, 695, 0,
+ 0, 633, 634, 687, 683, 0, 0, 335, 166, 168,
+ 168, 164, 573, 571, 471, 435, 433, 282, 0, 22,
+ 30, 662, 56, 51, 58, 62, 0, 686, 682, 687,
+ 683, 0, 393, 601, 0, 577, 688, 60, 154, 152,
+ 68, 0, 131, 0, 135, 0, 137, 0, 139, 0,
+ 766, 0, 202, 714, 0, 707, 708, 0, 451, 687,
+ 683, 0, 306, 0, 631, 827, 0, 0, 836, 837,
+ 0, 0, 0, 0, 0, 0, 418, 173, 0, 520,
+ 519, 514, 833, 0, 537, 447, 447, 833, 0, 0,
+ 0, 429, 429, 0, 429, 429, 0, 429, 0, 525,
+ 478, 0, 447, 577, 289, 288, 290, 577, 99, 0,
+ 105, 0, 0, 0, 0, 0, 0, 0, 457, 0,
+ 455, 252, 273, 243, 242, 240, 230, 0, 244, 246,
+ 671, 669, 676, 674, 0, 236, 0, 0, 338, 342,
+ 344, 833, 693, 577, 694, 162, 160, 0, 438, 440,
+ 0, 686, 682, 687, 683, 0, 577, 606, 688, 132,
+ 130, 0, 0, 0, 0, 445, 0, 0, 282, 636,
+ 637, 715, 728, 731, 734, 739, 0, 0, 0, 0,
+ 0, 0, 0, 0, 283, 760, 768, 0, 787, 764,
+ 763, 762, 0, 723, 0, 0, 394, 0, 702, 721,
+ 727, 701, 722, 761, 0, 709, 452, 0, 634, 817,
+ 811, 812, 810, 0, 834, 422, 0, 512, 112, 577,
+ 541, 545, 114, 577, 429, 429, 562, 447, 282, 636,
+ 0, 549, 555, 556, 416, 416, 447, 447, 0, 447,
+ 552, 467, 540, 833, 833, 577, 577, 239, 0, 0,
+ 0, 0, 456, 0, 0, 231, 232, 677, 347, 288,
+ 696, 833, 0, 686, 682, 0, 688, 134, 136, 138,
+ 773, 767, 771, 0, 710, 705, 205, 780, 782, 783,
+ 0, 0, 719, 0, 0, 0, 746, 748, 749, 750,
+ 0, 0, 0, 0, 0, 0, 0, 781, 0, 365,
+ 788, 0, 724, 363, 416, 0, 364, 0, 416, 0,
+ 0, 0, 203, 704, 703, 725, 759, 758, 311, 838,
+ 419, 833, 833, 561, 558, 560, 0, 0, 429, 429,
+ 429, 557, 559, 544, 0, 95, 101, 833, 833, 325,
+ 326, 327, 328, 458, 0, 233, 692, 439, 687, 683,
+ 0, 0, 0, 772, 446, 194, 0, 716, 729, 718,
+ 0, 0, 0, 0, 0, 742, 0, 751, 0, 757,
+ 39, 144, 34, 144, 0, 35, 769, 0, 361, 362,
+ 0, 0, 0, 360, 204, 719, 111, 113, 429, 429,
+ 567, 447, 447, 469, 0, 468, 463, 98, 104, 576,
+ 393, 0, 774, 201, 0, 394, 0, 719, 0, 732,
+ 720, 706, 785, 735, 0, 0, 0, 0, 747, 756,
+ 40, 36, 0, 0, 726, 566, 564, 563, 565, 0,
+ 0, 480, 0, 0, 0, 195, 416, 717, 206, 730,
+ 208, 0, 786, 0, 784, 740, 744, 743, 770, 792,
+ 0, 466, 465, 459, 86, 89, 778, 779, 775, 429,
+ 706, 192, 0, 0, 198, 0, 197, 719, 0, 0,
+ 0, 793, 794, 752, 0, 464, 0, 207, 0, 733,
+ 736, 741, 745, 0, 792, 0, 0, 462, 0, 461,
+ 199, 193, 0, 0, 0, 753, 795, 460, 0, 0,
+ 796, 0, 0, 200, 737, 797, 0, 754, 0, 0,
+ 0, 738, 798, 755, 0, 0, 0
};
-static const short yydefgoto[] = { 1671,
+static const short yydefgoto[] = { 1665,
436, 2, 437, 165, 712, 332, 181, 3, 4, 37,
- 675, 373, 1344, 676, 791, 1345, 1346, 393, 1452, 680,
- 41, 792, 402, 686, 963, 687, 688, 689, 43, 172,
- 173, 44, 455, 184, 180, 45, 46, 806, 1091, 812,
- 1093, 47, 794, 795, 185, 186, 456, 719, 999, 1000,
- 654, 1001, 234, 48, 985, 984, 702, 699, 1163, 1162,
- 942, 939, 136, 983, 49, 236, 50, 936, 567, 333,
- 334, 335, 336, 1347, 1620, 1514, 1622, 1561, 1655, 1206,
- 1596, 1617, 367, 928, 337, 1281, 880, 606, 887, 338,
+ 675, 373, 1340, 676, 790, 1341, 1342, 393, 1446, 680,
+ 41, 791, 402, 686, 962, 687, 688, 689, 43, 172,
+ 173, 44, 455, 184, 180, 45, 46, 805, 1089, 811,
+ 1091, 47, 793, 794, 185, 186, 456, 719, 998, 999,
+ 654, 1000, 234, 48, 984, 983, 702, 699, 1161, 1160,
+ 941, 938, 136, 982, 49, 236, 50, 935, 567, 333,
+ 334, 335, 336, 1343, 1614, 1508, 1616, 1555, 1649, 1204,
+ 1590, 1611, 367, 927, 337, 1277, 879, 606, 886, 338,
339, 368, 341, 359, 52, 255, 681, 418, 154, 53,
- 54, 342, 562, 343, 344, 345, 346, 457, 347, 1348,
- 499, 627, 348, 1349, 56, 217, 692, 349, 218, 539,
- 219, 197, 210, 60, 482, 500, 1371, 759, 1228, 198,
- 211, 61, 510, 760, 62, 63, 671, 672, 673, 1321,
- 462, 850, 851, 1611, 1612, 1588, 1552, 1491, 64, 659,
- 361, 508, 1398, 1553, 1113, 655, 65, 66, 67, 68,
- 69, 242, 70, 71, 244, 778, 779, 780, 781, 799,
- 1078, 800, 801, 802, 1063, 1073, 1064, 1388, 1065, 1066,
- 1389, 1390, 656, 657, 658, 607, 918, 351, 465, 466,
+ 54, 342, 562, 343, 344, 345, 346, 457, 347, 1344,
+ 499, 627, 348, 1345, 56, 217, 692, 349, 218, 539,
+ 219, 197, 210, 60, 482, 500, 1367, 759, 1226, 198,
+ 211, 61, 510, 760, 62, 63, 671, 672, 673, 1317,
+ 462, 849, 850, 1605, 1606, 1582, 1546, 1485, 64, 659,
+ 361, 508, 1392, 1547, 1111, 655, 65, 66, 67, 68,
+ 69, 242, 70, 71, 244, 777, 778, 779, 780, 798,
+ 1076, 799, 800, 801, 1061, 1071, 1062, 1382, 1063, 1064,
+ 1383, 1384, 656, 657, 658, 607, 917, 351, 465, 466,
191, 480, 473, 200, 73, 74, 75, 142, 143, 157,
- 77, 132, 352, 353, 354, 79, 355, 81, 783, 123,
- 124, 125, 515, 105, 82, 356, 892, 893, 913, 908,
- 630, 1352, 1353, 1207, 1208, 1209, 723, 1354, 1006, 1355,
- 1437, 1564, 1517, 1518, 1356, 1357, 1542, 1438, 1565, 1439,
- 1598, 1440, 1600, 1649, 1665, 1441, 1624, 1574, 1625, 1523,
- 458, 720, 1319, 1358, 1455, 1579, 1428, 1429, 1509, 1591,
- 1563, 1559, 1359, 1570, 1458, 857, 1627, 1628, 1629, 1663,
- 739, 914, 1026, 1220, 1367, 741, 742, 743, 1022, 744,
- 148, 1024, 746, 1222, 1223, 533, 84, 85
+ 77, 132, 352, 353, 354, 79, 355, 81, 782, 123,
+ 124, 125, 515, 105, 82, 356, 891, 892, 912, 907,
+ 630, 1348, 1349, 1205, 1206, 1207, 723, 1350, 1005, 1351,
+ 1431, 1558, 1511, 1512, 1352, 1353, 1536, 1432, 1559, 1433,
+ 1592, 1434, 1594, 1643, 1659, 1435, 1618, 1568, 1619, 1517,
+ 458, 720, 1315, 1354, 1449, 1573, 1422, 1423, 1503, 1585,
+ 1557, 1553, 1355, 1564, 1452, 856, 1621, 1622, 1623, 1657,
+ 739, 913, 1025, 1218, 1363, 741, 742, 743, 1021, 744,
+ 148, 1023, 746, 1220, 1221, 533, 84, 85
};
-static const short yypact[] = { 139,
- 143,-32768,-32768, 5151,-32768, 160, 75, 170, 427, 171,
- 239,-32768,-32768, 1485,-32768, 172, 199, 237,-32768,-32768,
--32768, 1423, 1651, 1270, 285,-32768, 328, 476,-32768, 3953,
- 3953,-32768, 580,-32768, 5151, 326,-32768,-32768, 372,-32768,
- 72, 4716,-32768,-32768, 368, 834, 431, 463, 437,-32768,
--32768,-32768,-32768, 333, 3529,-32768, 6663,-32768, 1406, 439,
--32768, 495,-32768,-32768, 926, 178,-32768, 494,-32768,-32768,
- 507, 5858,-32768,-32768,-32768, 1135,-32768,-32768,-32768, 1904,
--32768,-32768, 533, 3674, 525,-32768,-32768, 11333,-32768, 11333,
--32768, 11333,-32768,-32768,-32768, 170, 427, 328, 560,-32768,
- 569, 437,-32768, 461,-32768, 533, 11424, 11424, 563,-32768,
--32768,-32768,-32768,-32768, 625, 603, 493, 548, 624, 611,
- 643,-32768,-32768, 1626,-32768, 950, 170, 427,-32768, 328,
- 560,-32768, 2368, 1524, 645, 8527, 11333,-32768, 11333, 4209,
- 4918,-32768,-32768, 2975, 589, 4918,-32768, 1212, 5212, 5212,
- 580, 618, 626,-32768, 629, 1201, 657, 675,-32768,-32768,
- 726,-32768, 639,-32768, 6539,-32768,-32768, 285, 4339, 683,
--32768,-32768,-32768, 368, 7613, 12313, 709, 748,-32768,-32768,
- 718, 495, 813, 115, 515, 772,-32768,-32768, 725, 121,
--32768,-32768, 5419, 5419, 4518, 1135, 715,-32768,-32768, 349,
--32768,-32768, 3093,-32768,-32768,-32768,-32768,-32768, 1406, 737,
--32768, 495, 1135,-32768,-32768,-32768, 1541, 1406,-32768, 495,
--32768, 7613,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 770,-32768, 437,-32768, 495, 1738, 1711,-32768,
--32768, 494,-32768,-32768,-32768,-32768, 838, 533,-32768, 593,
- 1925,-32768, 174,-32768,-32768,-32768,-32768,-32768, 5819,-32768,
--32768, 286,-32768, 762, 765,-32768,-32768,-32768,-32768, 800,
+static const short yypact[] = { 131,
+ 215,-32768,-32768, 6330,-32768, 67, 149, 64, 151, 163,
+ 102,-32768,-32768, 1060,-32768, 152, 177, 201,-32768,-32768,
+-32768, 862, 986, 2200, 241,-32768, 296, 404,-32768, 3864,
+ 3864,-32768, 8054,-32768, 6330, 288,-32768,-32768, 326,-32768,
+ 49, 6732,-32768,-32768, 315, 876, 357, 350, 385,-32768,
+-32768,-32768,-32768, 402, 5747,-32768, 4343,-32768, 2560, 763,
+-32768, 445,-32768,-32768, 1626, 366,-32768, 391,-32768,-32768,
+ 421, 2404,-32768,-32768,-32768, 947,-32768,-32768,-32768, 1656,
+-32768,-32768, 795, 4628, 419,-32768,-32768, 10831,-32768, 10831,
+-32768, 10831,-32768,-32768,-32768, 64, 151, 296, 446,-32768,
+ 469, 385,-32768, 1423,-32768, 795, 10922, 10922, 442,-32768,
+-32768,-32768,-32768,-32768, 79, 457, 418, 756, 771, 496,
+ 507,-32768,-32768, 1220,-32768, 1200, 64, 151,-32768, 296,
+ 446,-32768, 1278, 518, 489, 11976, 10831,-32768, 10831, 12155,
+ 4022,-32768,-32768, 2368, 1154, 4022,-32768, 1384, 4238, 4238,
+ 8054, 464, 486,-32768, 504, 633, 497, 524,-32768,-32768,
+ 615,-32768, 529,-32768, 3682,-32768,-32768, 241, 7725, 547,
+-32768,-32768,-32768, 315, 5451, 12021, 802, 586,-32768,-32768,
+ 561, 445, 660, 94, 196, 611,-32768,-32768, 570, 272,
+-32768,-32768, 5510, 5510, 12176, 947, 908,-32768,-32768, 515,
+-32768,-32768, 3323,-32768,-32768,-32768,-32768,-32768, 2560, 919,
+-32768, 445, 947,-32768,-32768,-32768, 2762, 2560,-32768, 445,
+-32768, 5451,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768, 621,-32768, 385,-32768, 445, 1288, 1540,-32768,
+-32768, 391,-32768,-32768,-32768,-32768, 831, 795,-32768, 625,
+ 1480,-32768, 304,-32768,-32768,-32768,-32768,-32768, 6066,-32768,
+-32768, 770,-32768, 631, 638,-32768,-32768,-32768,-32768, 644,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 761,-32768,-32768, 838, 5858, 246,-32768,-32768,
- 781,-32768,-32768, 12062, 12153, 12244, 12244, 793,-32768,-32768,
--32768,-32768,-32768, 799, 822, 829, 831, 833, 850, 560,
- 11515, 1835, 12244,-32768,-32768, 12244,-32768,-32768, 12244, 9006,
--32768, 12244, 219, 852,-32768, 12244,-32768, 11606,-32768, 12308,
- 235, 1053, 1673, 11697,-32768, 907, 2813,-32768, 1062, 2659,
- 4116,-32768, 271,-32768, 2540, 2147, 219, 219, 11333, 8527,
- 941,-32768, 1835,-32768,-32768, 816, 881, 8333, 844, 848,
- 853, 1453, 639,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 603, 493, 548, 1835, 624, 611, 894, 643,-32768,
- 915,-32768, 1222, 170, 427,-32768,-32768,-32768,-32768,-32768,
--32768, 4631,-32768, 7613, 8107, 2220,-32768, 219, 438,-32768,
--32768, 678,-32768, 898, 899,-32768,-32768,-32768, 4918,-32768,
--32768, 4918,-32768, 867,-32768,-32768,-32768, 1201, 1201, 1201,
--32768,-32768,-32768, 5819, 85, 868, 871,-32768,-32768,-32768,
--32768, 8527,-32768, 854, 860,-32768,-32768, 726,-32768, 495,
--32768,-32768,-32768,-32768, 133,-32768,-32768,-32768,-32768, 9558,
- 11515,-32768,-32768,-32768, 11515, 875,-32768, 8821, 104, 4951,
- 6784,-32768,-32768, 6784,-32768, 6875, 6875, 4518, 6997, 874,
--32768, 495, 7613,-32768, 877,-32768,-32768, 7348, 1541, 1406,
- 7613,-32768, 495,-32768,-32768, 495, 1541,-32768, 960,-32768,
- 11333, 770,-32768,-32768, 1738,-32768, 3300, 3998, 838, 495,
--32768,-32768, 918, 920, 945, 921,-32768,-32768,-32768,-32768,
- 699,-32768, 377, 892, 905,-32768,-32768, 838,-32768,-32768,
- 1022,-32768,-32768, 11333, 11515, 781, 9006,-32768, 386, 9006,
--32768,-32768,-32768, 11515, 11424, 6459, 6459, 6459, 6459, 12432,
--32768,-32768,-32768,-32768, 909, 11789, 11789, 9006, 910, 74,
- 925, 969, 927,-32768,-32768,-32768,-32768, 11333,-32768, 9097,
- 9006,-32768, 11515, 11515, 9649, 11515, 11515, 11515, 11515, 11515,
- 11515, 11515, 11515, 11515, 11515, 11515, 11515, 11515, 11515, 11515,
- 11515, 11515, 11515, 11515,-32768, 11515,-32768,-32768,-32768,-32768,
--32768, 11515, 11515,-32768,-32768, 2473, 517, 1393, 10195,-32768,
--32768,-32768, 982, 1925, 1030, 402, 465, 484, 2871, 589,
--32768, 2259, 2259, 5052, 929, 962, 995,-32768,-32768, 571,
- 10693, 306,-32768, 1057, 533,-32768,-32768, 11515,-32768,-32768,
--32768,-32768,-32768, 102, 525,-32768,-32768, 219,-32768, 7613,
- 2278,-32768,-32768, 983,-32768, 947, 997,-32768, 941, 894,
--32768, 9922, 10013,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 80,-32768, 972, 963, 639, 1222, 1018, 11333,-32768, 1014,
--32768,-32768, 1524, 1747, 1046, 262, 1019, 1020,-32768,-32768,
- 2004, 12313, 2004, 3372, 926, 7003,-32768, 1023,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768, 987, 988,-32768, 1039,
--32768,-32768, 368,-32768,-32768,-32768,-32768, 91, 227, 1041,
- 969,-32768,-32768,-32768,-32768, 8912, 12432,-32768, 881, 999,
- 8333,-32768,-32768, 1003,-32768, 1015, 423, 6401, 1017,-32768,
- 208, 7151, 1040, 1063, 583,-32768,-32768,-32768,-32768, 6784,
- 6784, 7531, 7531, 6997, 1057,-32768,-32768, 7348,-32768, 1065,
--32768,-32768, 1016, 104,-32768, 1541,-32768,-32768, 495, 1061,
--32768, 493, 548,-32768, 1049,-32768, 643, 1079,-32768,-32768,
- 366,-32768,-32768, 1867,-32768, 702, 1335,-32768, 11515, 5922,
--32768, 5922, 216, 216, 253, 585, 3892, 7274, 92, 4410,
--32768, 191, 216,-32768, 104, 6607, 11333, 11333,-32768, 11333,
- 104, 6607,-32768,-32768,-32768,-32768,-32768,-32768, 1932, 1932,
- 1932, 219, 1044, 1045, 10969, 995, 1051, 12387, 1052, 1056,
- 1093, 2767, 1095, 1097, 1102,-32768, 1073,-32768,-32768, 1074,
--32768,-32768, 1124, 83, 89, 497, 90, 11515, 1127,-32768,
- 1133, 1090, 12432, 12432,-32768,-32768, 1138, 8146, 12360, 10219,
- 5760, 2602, 5270, 4057, 3214, 3214, 3214, 2414, 2414, 1410,
- 1410, 309, 309, 309,-32768,-32768, 1094, 1100, 1103, 11515,
- 11424,-32768, 517,-32768, 9558, 11515,-32768,-32768,-32768, 11515,
--32768,-32768, 1111, 12244, 1108, 1122, 1148, 1183,-32768, 11515,
--32768, 11515,-32768, 11515, 809, 3450,-32768,-32768, 3450,-32768,
- 99, 809, 1125, 1126,-32768, 1128, 6459, 104,-32768, 104,
- 5229,-32768, 6607, 1136, 7995, 7995, 8286, 1130, 11606, 1141,
- 2025, 3563, 2147, 1077, 1142,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 11515,-32768, 1835,-32768, 1137,-32768, 12432,-32768,
- 12432, 1453, 1143, 11880,-32768, 1145, 1196,-32768, 219,-32768,
--32768,-32768,-32768,-32768, 1911, 4631,-32768, 6459, 11333, 2529,
- 2529, 2212,-32768,-32768,-32768,-32768, 3093,-32768,-32768,-32768,
- 994, 11515,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 368,-32768, 603,-32768, 624, 611, 11515, 1184,-32768,
- 602, 615, 694, 969,-32768, 103,-32768, 67,-32768,-32768,
--32768,-32768,-32768,-32768, 10785,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 1063, 1195,-32768,-32768,-32768, 6459, 1751, 1751,
- 1842,-32768,-32768,-32768, 1213,-32768,-32768, 11424,-32768,-32768,
--32768,-32768, 1719,-32768, 6607, 12432,-32768, 3193,-32768, 495,
- 495,-32768,-32768,-32768,-32768,-32768, 6607, 665, 454, 11515,
- 960,-32768, 1221,-32768,-32768,-32768, 554, 666, 1904, 589,
- 705, 216, 1223,-32768, 884, 1224, 495, 4820,-32768,-32768,
--32768, 495,-32768, 1176, 219, 219, 219,-32768, 1177, 104,
- 6607, 104, 6607,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 6459,-32768,-32768, 1202, 1203, 1206, 1208, 987,-32768, 8174,
- 9558, 9191, 1179,-32768, 11515,-32768,-32768,-32768, 1199, 1197,
- 1204, 6459,-32768,-32768, 1205, 101, 374, 374, 1207, 374,
--32768,-32768, 12244, 1302, 11333,-32768, 1209, 1211, 1214,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 104, 1216,
--32768, 1210, 2025,-32768,-32768, 2706, 2706, 3546, 4016,-32768,
--32768,-32768,-32768,-32768, 12432,-32768,-32768,-32768,-32768, 206,
- 1229,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 3832, 2965,
- 2965, 3082, 3082, 2212, 3852, 125, 3093,-32768, 3391, 12308,
--32768,-32768,-32768, 1234,-32768, 227,-32768, 11515,-32768, 11515,
--32768, 11515,-32768, 1835,-32768,-32768, 8634, 1283,-32768, 9282,
--32768, 10877, 10877, 8727, 238, 1236, 359,-32768, 9558, 9373,
--32768,-32768, 242, 2099, 2099, 2350, 2350, 9558,-32768,-32768,
- 1239, 1241, 3300,-32768,-32768,-32768, 104, 1248,-32768, 1267,
- 1267, 104, 1251, 11515, 11515, 7646, 495, 6138, 495, 495,
- 1172, 495, 6330,-32768,-32768, 5737, 1267,-32768,-32768, 1305,
--32768,-32768,-32768, 1255,-32768, 1257, 1260, 11515, 11515, 11515,
- 11515, 9558,-32768, 1309,-32768,-32768, 12432,-32768,-32768,-32768,
- 559, 1204,-32768,-32768,-32768,-32768,-32768,-32768, 1262,-32768,
- 1328, 219,-32768,-32768,-32768, 104,-32768,-32768,-32768,-32768,
--32768, 11515,-32768,-32768, 3852, 2965, 2965, 3773, 3773, 6855,
--32768, 412, 3391,-32768,-32768, 1269, 1272, 1273, 1286,-32768,
- 876, 268, 1321, 764, 775,-32768,-32768,-32768,-32768,-32768,
- 11515, 1322, 1325, 1330, 11060, 955, 1835, 622, 692,-32768,
--32768, 11151, 1385,-32768,-32768,-32768, 1334,-32768, 7172, 7408,
- 2356, 8429,-32768,-32768, 1383,-32768,-32768,-32768, 10304,-32768,
--32768, 1292, 1818,-32768,-32768,-32768,-32768, 6459,-32768,-32768,
- 9558,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 7646, 7646,-32768, 1267, 703, 826, 11515,-32768,-32768,-32768,
- 960, 960, 1267, 1267, 699, 1267,-32768,-32768,-32768, 104,
- 104,-32768,-32768,-32768, 1294, 1299, 1300, 1303,-32768, 9558,
- 11515,-32768, 559,-32768,-32768,-32768,-32768, 104, 1304, 5387,
- 5387, 1057, 6024,-32768,-32768,-32768,-32768, 1286,-32768, 1835,
--32768,-32768,-32768,-32768,-32768,-32768, 697, 697, 969, 1323,
- 1324, 6698,-32768,-32768,-32768,-32768, 1357, 11515, 1369, 1379,
- 1408, 2106, 2120,-32768, 969,-32768,-32768, 1341,-32768,-32768,
- 960, 878,-32768, 889, 960, 11242, 906, 300,-32768,-32768,
--32768,-32768,-32768,-32768, 441,-32768,-32768, 104, 104,-32768,
--32768,-32768, 11515, 11515, 7646, 495, 495,-32768,-32768,-32768,
- 6180,-32768,-32768, 104, 104,-32768,-32768,-32768,-32768,-32768,
- 1354,-32768,-32768,-32768, 6274, 6274, 5993, 1348, 1375,-32768,
--32768,-32768, 11424,-32768,-32768,-32768, 1454, 10600, 5587, 11424,
- 11515,-32768, 10412,-32768, 1414,-32768,-32768, 1421,-32768, 1408,
- 2106,-32768,-32768, 726,-32768,-32768, 11971, 11971, 9467,-32768,
--32768, 969,-32768,-32768, 7646, 7646,-32768, 1267, 1267,-32768,
- 10104,-32768,-32768,-32768,-32768,-32768, 1348, 7731,-32768,-32768,
- 1371, 432, 7613, 969, 10506,-32768,-32768, 103,-32768,-32768,
- 1416, 1377, 12410, 10412,-32768,-32768,-32768,-32768, 1286, 108,
--32768,-32768,-32768,-32768,-32768, 1376, 12343, 1400, 1391, 1392,
- 969,-32768, 960,-32768,-32768,-32768,-32768, 708,-32768, 9740,
--32768,-32768,-32768,-32768, 1286, 1491, 1443,-32768,-32768,-32768,
- 431, 368,-32768,-32768,-32768, 495, 103,-32768, 11515, 1444,
--32768, 1452,-32768, 969, 10412, 1428, 145, 1463,-32768,-32768,
- 154,-32768, 1461,-32768, 1424,-32768,-32768,-32768,-32768, 11515,
- 1491, 1470, 1491,-32768, 133,-32768,-32768,-32768, 9831, 1429,
- 201,-32768,-32768,-32768, 9558, 1431,-32768, 1525, 1490,-32768,
--32768,-32768, 329,-32768, 10506, 1535, 1492,-32768,-32768,-32768,
- 1556, 1557,-32768
+-32768,-32768, 629,-32768,-32768, 831, 2404, 182,-32768,-32768,
+ 690,-32768,-32768, 11560, 11651, 11742, 11742, 701,-32768,-32768,
+-32768,-32768,-32768, 722, 678, 745, 755, 767, 943, 446,
+ 11013, 1764, 11742,-32768,-32768, 11742,-32768,-32768, 11742, 8412,
+-32768, 11742, 543, 800,-32768, 11742,-32768, 11104,-32768, 12433,
+ 369, 1553, 2934, 11195,-32768, 853, 3244,-32768, 1595, 4989,
+ 5987,-32768, 410,-32768, 1793, 2656, 543, 543, 10831, 11976,
+ 535,-32768, 1764,-32768,-32768, 778, 815, 12340, 781, 786,
+ 805, 1400, 529,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 457, 418, 756, 1764, 771, 496, 803, 507,-32768,
+ 860,-32768, 868, 64, 151,-32768,-32768,-32768,-32768,-32768,
+-32768, 6108,-32768, 5451, 2178, 1839,-32768, 543, 577,-32768,
+-32768, 812,-32768, 859, 872,-32768,-32768,-32768, 4022,-32768,
+-32768, 4022,-32768, 820,-32768,-32768,-32768, 633, 633, 633,
+-32768,-32768,-32768, 6066, 72, 841, 849,-32768,-32768,-32768,
+-32768, 11976,-32768, 1018, 1020,-32768,-32768, 615,-32768, 445,
+-32768,-32768,-32768,-32768, 114,-32768,-32768,-32768,-32768, 8964,
+ 11013,-32768,-32768,-32768, 11013, 854,-32768, 7021, 112, 12196,
+ 6441,-32768,-32768, 6441,-32768, 7262, 7262, 12176, 12237, 879,
+-32768, 445, 5451,-32768, 873,-32768,-32768, 12094, 2762, 2560,
+ 5451,-32768, 445,-32768,-32768, 445, 2762,-32768, 982,-32768,
+ 10831, 621,-32768,-32768, 1288,-32768, 1189, 4503, 831, 445,
+-32768,-32768, 951, 954, 959, 958,-32768,-32768,-32768,-32768,
+ 1007,-32768, 420, 883, 926,-32768,-32768, 831,-32768,-32768,
+ 896,-32768,-32768, 10831, 11013, 690, 8412,-32768, 423, 8412,
+-32768,-32768,-32768, 11013, 10922, 3179, 3179, 3179, 3179, 12411,
+-32768,-32768,-32768,-32768, 932, 11287, 11287, 8412, 941, 61,
+ 946, 988, 950,-32768,-32768,-32768,-32768, 10831,-32768, 8503,
+ 8412,-32768, 11013, 11013, 9055, 11013, 11013, 11013, 11013, 11013,
+ 11013, 11013, 11013, 11013, 11013, 11013, 11013, 11013, 11013, 11013,
+ 11013, 11013, 11013, 11013,-32768, 11013,-32768,-32768,-32768,-32768,
+-32768, 11013, 11013,-32768,-32768, 3082, 337, 833, 9601,-32768,
+-32768,-32768, 1013, 1480, 1078, 444, 520, 563, 1860, 1154,
+-32768, 1421, 1421, 5141, 962, 999, 1046,-32768,-32768, 600,
+ 10099, 1711,-32768, 939, 795,-32768,-32768, 11013,-32768,-32768,
+-32768,-32768,-32768, 264, 419,-32768,-32768, 543,-32768, 5451,
+ 2853,-32768,-32768, 1031,-32768, 995, 1047,-32768, 535, 803,
+-32768, 9328, 9419,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 103,-32768, 1016, 1005, 529, 868, 1068, 10831,-32768, 1067,
+-32768,-32768, 518, 1319, 1095, 273, 1071, 1091,-32768,-32768,
+ 2743, 12021, 2743, 3527, 1626, 11811,-32768, 1098,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, 1036, 1057,-32768, 1105,
+-32768,-32768, 315,-32768,-32768,-32768,-32768, 96, 331, 1104,
+ 988,-32768,-32768,-32768,-32768, 8318, 12411,-32768, 815, 1063,
+ 12340,-32768,-32768, 1064,-32768, 1069, 170, 4146, 1072,-32768,
+ 189, 11871, 1116, 1120, 575,-32768,-32768,-32768,-32768, 6441,
+ 6441, 12135, 12135, 12237, 939,-32768,-32768, 12094,-32768, 1122,
+-32768,-32768, 1058, 112,-32768, 2762,-32768,-32768, 445, 1113,
+-32768, 418, 756,-32768,-32768, 507, 1130,-32768,-32768, 321,
+-32768,-32768, 1979,-32768, 1197, 501,-32768, 11013, 5403,-32768,
+ 5403, 99, 99, 336, 583, 2287, 7135, 53, 5058,-32768,
+ 186, 99,-32768, 112, 6496, 10831, 10831,-32768, 10831, 112,
+ 6496,-32768,-32768,-32768,-32768,-32768,-32768, 967, 967, 967,
+ 543, 1090, 1092, 10467, 1046, 1102, 12366, 1107, 1108, 1137,
+ 5728, 1141, 1143, 1150,-32768, 1121,-32768,-32768, 1123,-32768,
+-32768, 1167, 406, 634, 77, 567, 11013, 1169,-32768, 1146,
+ 1126, 12411, 12411,-32768,-32768, 1175, 12451, 7304, 8078, 4526,
+ 4063, 3194, 4207, 2423, 2423, 2423, 2363, 2363, 1527, 1527,
+ 915, 915, 915,-32768,-32768, 1131, 1132, 1139, 11013, 10922,
+-32768, 337,-32768, 8964, 11013,-32768,-32768,-32768, 11013,-32768,
+-32768, 1149, 11742, 1140, 1164, 1181, 1218,-32768, 11013,-32768,
+ 11013,-32768, 11013, 389, 2977,-32768,-32768, 2977,-32768, 115,
+ 389, 1159, 1162,-32768, 1163, 3179, 112,-32768, 112, 3446,
+-32768, 6496, 1165, 10283, 10283, 5878, 1171, 11104, 1177, 2159,
+ 4339, 2656, 978, 1187,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 11013,-32768, 1764,-32768, 1180,-32768, 12411,-32768, 12411,
+ 1400, 1190, 11378,-32768, 1188, 1212,-32768, 543,-32768,-32768,
+-32768,-32768,-32768, 1749, 6108,-32768, 3179, 10831, 1883, 1883,
+ 4805,-32768,-32768,-32768,-32768, 3323,-32768,-32768,-32768, 1070,
+ 11013,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 315,-32768, 457,-32768, 771, 496, 11013, 1239,-32768, 593,
+ 612, 622, 988,-32768, 84,-32768, 123,-32768,-32768,-32768,
+-32768,-32768,-32768, 10191,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 1120, 1236,-32768,-32768,-32768, 3179, 1948, 1948, 2223,
+-32768,-32768,-32768, 1240,-32768,-32768,-32768,-32768,-32768,-32768,
+ 1470,-32768, 6496, 12411,-32768, 3756,-32768, 445, 445,-32768,
+-32768,-32768,-32768,-32768, 6496, 553, 658, 11013, 982,-32768,
+ 1248,-32768,-32768,-32768, 195, 640, 1656, 1154, 657, 99,
+ 1252,-32768, 723, 1251, 445, 6586,-32768,-32768,-32768, 445,
+-32768, 1207, 543, 543, 543,-32768, 1213, 112, 6496, 112,
+ 6496,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 3179,-32768,
+-32768, 1232, 1238, 1250, 1254, 1036,-32768, 12274, 8964, 8597,
+ 1224,-32768, 11013,-32768,-32768,-32768, 1241, 1244, 1245, 3179,
+-32768,-32768, 1246, 355, 653, 653, 1255, 653,-32768,-32768,
+ 11742, 1347, 10831,-32768, 1257, 1262, 1267,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, 112, 1274,-32768, 1270,
+ 2159,-32768,-32768, 2048, 2048, 6891, 4726,-32768,-32768,-32768,
+-32768,-32768, 12411,-32768,-32768,-32768,-32768, 207, 1276,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, 3303, 2078, 2078, 2304,
+ 2304, 4805, 3372, 166, 3323,-32768, 2674, 12433,-32768,-32768,
+-32768, 1282,-32768, 331,-32768, 11013,-32768, 11013,-32768, 11013,
+-32768, 1764,-32768,-32768, 8167, 1329,-32768, 8688,-32768, 10375,
+ 10375, 7983, 297, 1284, 320,-32768, 8964, 8779,-32768,-32768,
+ 223, 2550, 2550, 1093, 1093, 8964,-32768,-32768, 1189,-32768,
+-32768,-32768, 112, 1285,-32768, 1298, 1298, 112, 1287, 11013,
+ 11013, 8214, 445, 6285, 445, 445, 1012, 445, 6486,-32768,
+-32768, 7823, 1298,-32768,-32768, 1343,-32768,-32768,-32768, 1293,
+-32768, 1294, 1307, 11013, 11013, 11013, 11013, 8964,-32768, 1353,
+-32768,-32768, 12411,-32768,-32768,-32768, 541, 1245,-32768,-32768,
+-32768,-32768,-32768,-32768, 1306,-32768, 1372, 543,-32768,-32768,
+-32768, 112,-32768,-32768,-32768,-32768,-32768, 11013,-32768,-32768,
+ 3372, 2078, 2078, 3076, 3076, 7405,-32768, 348, 2674,-32768,
+-32768, 1313, 1321, 1324, 1338,-32768, 1061, 235, 1373, 696,
+ 766,-32768,-32768,-32768,-32768,-32768, 11013, 1380, 1374, 1386,
+ 10558, 522, 1764, 904, 686,-32768,-32768, 10649, 1436,-32768,
+-32768,-32768, 1387,-32768, 7486, 11916, 5255, 6192,-32768,-32768,
+ 1434,-32768,-32768,-32768, 9710,-32768,-32768, 1345, 424,-32768,
+-32768,-32768,-32768, 3179,-32768,-32768, 8964,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 8214, 8214,-32768, 1298, 734, 824,
+ 11013,-32768,-32768,-32768, 982, 982, 1298, 1298, 1007, 1298,
+-32768,-32768,-32768, 112, 112,-32768,-32768,-32768, 1348, 1351,
+ 1352, 1354,-32768, 8964, 11013,-32768, 541,-32768,-32768,-32768,
+-32768, 112, 1357, 4445, 4445, 939, 6713,-32768,-32768,-32768,
+-32768, 1338,-32768, 1764,-32768,-32768,-32768,-32768,-32768,-32768,
+ 679, 679, 988, 1358, 1402, 7870,-32768,-32768,-32768,-32768,
+ 1416, 11013, 1435, 1439, 1445, 1992, 2096,-32768, 988,-32768,
+-32768, 1408,-32768,-32768, 982, 1065,-32768, 1079, 982, 10740,
+ 1094, 263,-32768,-32768,-32768,-32768,-32768,-32768, 426,-32768,
+-32768, 112, 112,-32768,-32768,-32768, 11013, 11013, 8214, 445,
+ 445,-32768,-32768,-32768, 5606,-32768,-32768, 112, 112,-32768,
+-32768,-32768,-32768,-32768, 1394,-32768,-32768,-32768, 7452, 7452,
+ 12076, 2017, 1414,-32768,-32768,-32768, 10922,-32768,-32768,-32768,
+ 1494, 10006, 7612, 10922, 11013,-32768, 9818,-32768, 1451,-32768,
+-32768, 1461,-32768, 1445, 1992,-32768,-32768, 615,-32768,-32768,
+ 11469, 11469, 8873,-32768,-32768, 988,-32768,-32768, 8214, 8214,
+-32768, 1298, 1298,-32768, 9510,-32768,-32768,-32768,-32768,-32768,
+ 2017, 12279,-32768,-32768, 1409, 220, 5451, 988, 9912,-32768,
+-32768, 84,-32768,-32768, 1457, 1412, 12389, 9818,-32768,-32768,
+-32768,-32768, 1338, 95,-32768,-32768,-32768,-32768,-32768, 1424,
+ 12296, 1426, 1422, 1425, 988,-32768, 982,-32768,-32768,-32768,
+-32768, 688,-32768, 9146,-32768,-32768,-32768,-32768, 1338, 1523,
+ 1478,-32768,-32768,-32768, 357, 315,-32768,-32768,-32768, 445,
+ 84,-32768, 11013, 1485,-32768, 1488,-32768, 988, 9818, 1448,
+ 680, 1490,-32768,-32768, 122,-32768, 1487,-32768, 1450,-32768,
+-32768,-32768,-32768, 11013, 1523, 1492, 1523,-32768, 114,-32768,
+-32768,-32768, 9237, 1452, 683,-32768,-32768,-32768, 8964, 1453,
+-32768, 1545, 1498,-32768,-32768,-32768, 224,-32768, 9912, 1554,
+ 1505,-32768,-32768,-32768, 1567, 1569,-32768
};
static const short yypgoto[] = {-32768,
- 1558,-32768, -317, 1389, -391, -1, 2, 1561,-32768, 1530,
--32768,-32768, 409,-32768, 424,-32768, 487,-32768, 107, 893,
- 55, 10,-32768,-32768, -625,-32768,-32768, 613, 65, 1399,
- 1146, 1425, -704, -20, -167, 12, 51,-32768,-32768,-32768,
--32768,-32768, 795,-32768,-32768,-32768,-32768,-32768,-32768, 399,
- 337,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 1506, -491, 7450, 1368, -59, -578, -314, 215,
- 1468, -522,-32768, 864,-32768, 176,-32768, -1402,-32768, -1431,
- -57,-32768, 2609, 1190, -240, 330, -545,-32768, -861, 6999,
- -296, 2057, 5377, 1311, -327, -48, -67, 1918, -138, -55,
- 241,-32768,-32768,-32768, -336,-32768, -159,-32768,-32768, -1264,
- -51, -342, 4047, 70, 1980, -127, 15, 252, -196, -4,
- -13, -160, -164, 31, 41, -96,-32768, -234,-32768,-32768,
--32768,-32768,-32768, 419, 1544, 1028,-32768, 663,-32768,-32768,
- -978, -332, 896,-32768,-32768,-32768,-32768,-32768, 254,-32768,
--32768,-32768,-32768,-32768,-32768, 961, -374,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 1378,-32768, 390, 576,-32768,-32768,
--32768, 547, -729,-32768,-32768,-32768,-32768,-32768,-32768, 828,
--32768, 375, 973,-32768, 688, 1029, 4499, 79, 36, -450,
- 1436, 1803, 135,-32768, -481,-32768, 9, 1617, 20, -91,
- 673, -87, 5957, 1291,-32768, 6634, 3177, 1757, -22, -109,
--32768, 1515, -52,-32768, 6329, 4146, -423,-32768, 2481, 640,
--32768,-32768, 289,-32768,-32768, 434, 1, -379,-32768,-32768,
--32768,-32768, -1422,-32768, -1253, -1439,-32768,-32768,-32768,-32768,
+ 1573,-32768, -309, 1406, -341, 58, 9, 1576,-32768, 1544,
+-32768,-32768, 275,-32768, 417,-32768, 453,-32768, 133, 905,
+ 43, 10,-32768,-32768, -660,-32768,-32768, 618, 52, 1417,
+ 1145, 1420, -709, -16, -166, 33, -31,-32768,-32768,-32768,
+-32768,-32768, 796,-32768,-32768,-32768,-32768,-32768,-32768, 398,
+ 47,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768, 1501, -661, 7190, 1364, 7, -590, -307, 76,
+ 1465, -534,-32768, 662,-32768, 164,-32768, -1398,-32768, -1444,
+ -45,-32768, 2026, 1438, -284, 338, -556,-32768, -850, 6665,
+ 31, 1955, 4797, 1322, -331, -60, -97, 2135, -117, -74,
+ 528,-32768,-32768,-32768, -332,-32768, -160,-32768,-32768, -1267,
+ -51, -334, 6208, 107, 1546, -142, 23, 342, -207, -4,
+ -188, -172, -167, -19, -13, -91,-32768, -202,-32768,-32768,
+-32768,-32768,-32768, -140, 1273, 830,-32768, 671,-32768,-32768,
+ -972, -266, 898,-32768,-32768,-32768,-32768,-32768, 1,-32768,
+-32768,-32768,-32768,-32768,-32768, 968, -380,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 1390,-32768, 407, 608,-32768,-32768,
+-32768, 578, -743,-32768,-32768,-32768,-32768,-32768,-32768, 867,
+-32768, 422, 992,-32768, 712, 1066, 2660, 106, 36, -470,
+ 1467, 2911, 1464,-32768, -488,-32768, 14, 1644, 142, -68,
+ 613, -79, 5336, 1323,-32768, 6215, 2861, 1736, -18, -114,
+-32768, 1549, -58,-32768, 5701, 3829, -196,-32768, 2335, 1088,
+-32768,-32768, 339,-32768,-32768, 463, 54, -448,-32768,-32768,
+-32768,-32768, -1402,-32768, -1276, -1434,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 16,-32768,-32768,-32768,-32768,-32768, 71, -1347,-32768,-32768,
- -45,-32768,-32768,-32768,-32768, -1426, 8,-32768, 14,-32768,
- -683, -436, 636,-32768,-32768,-32768,-32768, -397,-32768, -393,
- -142,-32768, 1084, 284,-32768, 34,-32768, -209
+ 66,-32768,-32768,-32768,-32768,-32768, 121, -1348,-32768,-32768,
+ -37,-32768,-32768,-32768,-32768, -1436, 69,-32768, 59,-32768,
+ -713, -372, 684,-32768,-32768,-32768,-32768, -392,-32768, -384,
+ -184,-32768, 1556, 347,-32768, -63,-32768, -234
};
-#define YYLAST 12517
+#define YYLAST 12536
static const short yytable[] = { 59,
- 122, 435, 35, 196, 697, 36, 443, 632, 698, 542,
- 543, 445, 490, 42, 444, 1004, 392, 432, 57, 642,
- 253, 1123, 103, 76, 256, 782, 552, 695, 641, 553,
- 59, 740, 554, 35, 763, 564, 36, 59, 298, 569,
- 169, 516, 646, 647, 42, 842, 400, 610, 713, 57,
- 509, 42, 209, 174, 76, 674, 176, 420, 423, 881,
- 1047, 76, 1049, 538, 541, 398, 399, 247, 937, 980,
- 1079, 391, 177, 55, 201, 724, 213, 1456, 1567, 296,
- 1510, 489, 72, 350, 397, 350, 182, 350, 256, 190,
- 497, 260, 1571, 703, 704, 611, 170, 572, 1471, 528,
- 507, 611, 350, 350, 55, 1474, 171, 208, 141, 146,
- 1012, 175, 519, 72, 364, 452, 249, 1572, 611, 1581,
- 72, 595, 1084, 196, 987, 1597, 1210, 728, 1089, 1076,
- 163, 406, 350, 721, 350, 1204, 1599, 89, -1, 952,
- 309, 1594, -2, 91, 138, -141, 645, 256, 621, 88,
- 405, -142, -144, 528, 1644, 407, 26, 90, 1013, 410,
- 59, 1014, 297, 92, 59, 745, 596, 169, 467, 164,
- 1606, 209, -602, -357, 916, 1211, 440, 453, 42, 57,
- 174, -296, 840, 176, 76, 1634, 403, 953, 76, 199,
- 190, 722, 710, 825, 201, 213, 826, 1623, 993, 177,
- 1077, 1638, 523, 495, 498, 404, 841, 1641, 1284, 454,
- 986, 1205, -357, 468, 72, 1607, 453, -602, -602, 1017,
- 86, 517, 1656, 170, 89, 1597, 208, 419, 422, 994,
- 772, 773, -602, 171, 55, 190, 240, 1002, 175, 1150,
- 241, 201, 15, 72, 90, 93, -416, 72, 454, 127,
- 128, 1080, 1642, 493, 1569, 58, 260, 1510, 768, 552,
- 553, 1377, 1378, 1658, 107, 1302, 518, 1018, 87, 1575,
- 1019, 471, 474, 155, 995, 804, -416, 1052, 1399, 617,
- -416, 26, 595, 996, 997, -303, 58, 94, 718, 8,
- 521, 108, 247, 58, 565, 178, 566, 608, 616, 1081,
- 26, 1368, 130, 131, 357, 682, 358, 642, 1659, 199,
- 965, 1053, 221, 1303, -579, 1054, 529, -579, 637, 998,
- 1604, 966, 991, 992, -416, 350, 530, 596, 1432, 109,
- -303, -303, 677, 938, 363, 295, 1122, 967, 296, 1175,
- 432, 1005, 130, 131, 697, -296, 247, 1055, 1023, 1369,
- 101, 408, 700, 919, 350, 651, 199, 956, 115, 135,
- 1432, 1238, 766, 638, 260, -579, 522, -579, -579, 740,
- -579, 1639, 1041, 1243, 405, 740, 1433, 127, 128, 652,
- -583, -579, 519, -579, 420, 423, 761, 58, 1666, 155,
- 155, 155, 593, 594, 767, 632, -583, 694, -579, -579,
- 209, 233, 137, 1042, 516, 1482, -627, 1264, 1541, 1266,
- 649, 685, 38, -579, 1488, 1489, 58, 1490, 161, 1412,
- 58, 297, 178, 201, 815, -583, 189, 39, 26, 650,
- 130, 131, 162, 621, 1012, 155, 1667, 59, 72, 215,
- 216, -583, 485, 38, 888, 14, 1178, 1161, 796, 899,
- 1164, -627, -627, 715, 889, 183, 176, 1230, 39, -601,
- 388, 76, 221, 738, 8, 9, -627, 890, 20, 816,
- 221, 221, 177, 1152, 179, 495, 498, 23, 825, 621,
- 696, 91, 1013, 495, 416, 1014, 740, -831, -305, 410,
- 40, 188, 1191, 1192, 900, 498, 350, 568, 222, 223,
- 221, 92, 201, 59, -601, -601, 790, 1097, 89, 363,
- 201, 175, 901, 565, 498, 566, 1245, 130, 131, -601,
- 72, 40, 798, 187, 825, 18, 1079, 803, 90, 350,
- 138, 903, 350, -305, -305, 350, 8, 9, 199, 769,
- 350, 832, 832, 832, 832, 990, 696, 377, -299, 221,
- 139, 1502, 1124, 350, 750, 751, 243, 902, 793, -143,
- 608, 782, 459, 350, 884, 245, 350, 90, 697, 1584,
- 1585, 137, 698, 648, 502, 504, 904, 797, -366, 460,
- 15, 885, 7, 127, 128, 10, 72, 514, 682, 130,
- 131, 695, 127, 128, 295, 962, 642, 1132, 940, 299,
- 449, 296, 378, 221, 747, 641, 884, 461, 740, 886,
- 18, 58, -366, 747, 138, 961, -366, 199, 922, 694,
- 740, 21, 92, 885, 1203, 199, 738, 362, 552, 553,
- 1027, 1037, 1056, 1039, 26, 528, 27, 28, 1043, 973,
- 511, 978, 979, 260, 1174, 130, 131, 91, -366, 1197,
- 149, 886, 1411, 693, 740, 372, 740, 376, 551, 221,
- 150, 122, 1199, 923, 924, 380, 129, 92, 32, 201,
- 1300, 1301, 151, 350, 392, 1028, 26, 1057, 379, 1451,
- 1289, 127, 128, 374, 297, 512, 979, 209, 572, 375,
- -367, 247, 15, 58, 1198, 178, 1003, 381, 137, 660,
- 906, 909, 696, 1285, 1286, 158, 1288, 1200, 670, 696,
- 201, 976, 201, 201, 1002, 770, 155, 155, 155, 693,
- 401, 660, 189, 645, -367, -296, 363, 1244, -367, -120,
- 796, 15, 796, 425, 130, 131, 303, 694, 796, 88,
- 796, 1201, 221, 221, 1512, 1062, 813, -7, 822, 1044,
- 221, 782, 495, 91, 1454, 1618, 91, 201, 522, 58,
- -367, 1021, 221, -120, 433, 1483, 137, -120, 222, 446,
- 1259, 1260, 1261, 92, 483, 484, 92, 88, 1273, 1275,
- 164, 221, -622, 826, 199, 59, 1202, 59, 790, 1513,
- 790, 814, 432, 209, 1045, 59, 491, 492, 790, -120,
- 1619, 694, 350, 350, 798, 350, 798, 694, 447, 803,
- 448, 803, 127, 128, 798, 451, 1068, 1075, 89, 803,
- 696, 158, 158, 158, 1193, 199, 1435, 199, 199, 91,
- 1029, 1030, 463, 1050, 1051, 464, 1290, 1436, 90, 18,
- 793, 771, 793, 1082, 501, 215, 216, 1061, 1071, 92,
- 793, 14, 1094, 1095, 1096, 524, 621, 295, 525, 797,
- 15, 1048, 526, 26, -416, 130, 131, 158, 72, 797,
- 72, 527, 199, 535, 20, 693, 350, 1275, 72, 622,
- 89, 1126, 693, 23, 696, 544, 1364, 1366, 1484, 623,
- 696, 545, 959, -416, -416, 1370, 546, 1233, 1234, 1235,
- 90, 624, 625, 547, 221, 548, 849, 549, -118, -183,
- 15, 568, 832, 483, 716, 552, 553, 611, 694, 491,
- 717, 256, 738, 661, 137, -183, 1645, -183, 95, 96,
- 97, 1067, 225, 226, 227, 1430, 1431, 483, 1535, 1409,
- 662, 260, -118, 95, 110, 111, -118, 221, 491, 1536,
- 897, 664, 116, 117, 118, 665, 18, 95, 110, 111,
- 666, 694, 228, 832, 350, 483, 1540, 694, 678, 679,
- 366, 370, 90, 92, 707, 685, -6, 1416, -118, 711,
- 26, 757, 98, 99, 229, 733, 15, 762, 629, 633,
- 636, 221, 807, 693, 808, 810, 1062, 112, 113, 809,
- 653, 696, 817, 906, 909, 696, 119, 120, 826, 253,
- 738, 112, 113, 256, 432, 818, 836, 838, 796, 221,
- 964, 1085, 1086, 832, 1087, 127, 128, 722, 230, 231,
- 232, 981, 839, 350, 841, 1448, 896, 898, 1477, 915,
- 694, 58, 919, 58, 696, 564, 432, 943, 1180, 1181,
- 696, 58, 694, -52, 917, 944, 945, 693, -52, 1516,
- 8, 9, 849, 693, 954, 127, 128, 1068, 501, -52,
- 363, 955, 958, 59, 960, 1533, 790, 1500, 130, 131,
- 8, 9, 20, 968, 969, 221, 694, 982, 694, 224,
- 420, 423, 798, 696, -299, 988, 832, 803, 1061, 989,
- 597, 1247, 252, 453, -830, 363, 1009, 1249, 1250, 621,
- 1010, 1247, 1252, 130, 131, 1250, 26, 832, 130, 131,
- 420, 423, 1011, 696, 1016, 363, 1033, 1025, 793, 1032,
- 350, 256, 622, 130, 131, 696, 1036, 252, 1040, 598,
- 599, 1038, 623, 600, 601, 602, 603, 797, 158, 158,
- 158, 1098, 1099, 694, 624, 625, 72, 522, 1100, 1102,
- 697, 15, 1516, 1103, 1590, -416, 432, 224, 1104, 696,
- 1105, 696, 1106, 1003, 693, 127, 1395, 1107, 693, 694,
- 1108, 1109, 1067, 224, 1516, 1464, -140, 1035, 1462, 1111,
- 1467, 523, 1112, 559, -416, -416, 796, 1114, 410, -416,
- 1115, 1116, 1351, 300, 1131, 1342, 10, 1117, 1343, 738,
- 1134, 1615, 155, 1118, 95, 414, 415, 693, 1133, 826,
- 363, 1350, 1135, 693, 300, 394, 395, 10, 130, 131,
- 1136, 18, 1143, 1144, 906, 909, 696, 1154, 1145, 224,
- 552, 553, 21, 1196, 1516, 1167, 1151, 224, 1155, 1160,
- 1169, 59, 522, 1172, 790, 155, 1173, 426, 427, 1219,
- 1306, 1307, 696, 21, 224, 724, 693, 1392, 98, 113,
- 798, 428, 1392, 127, 128, 803, 26, 1229, 27, 320,
- 1248, 429, 1253, 1258, 1262, 72, 1254, 1276, 670, 32,
- 1306, 1307, 696, 430, 1268, 1269, 693, 1461, 1270, 1461,
- 1271, 964, 1029, 1030, 1279, 694, 793, 1278, 693, 1291,
- 32, 1280, 1283, 747, 129, 1204, 1293, 1287, 1294, 747,
- 1299, 1295, 1660, 1298, 26, 797, 130, 131, 732, 58,
- 975, 460, 629, 633, 72, 636, 1304, 1351, 127, 128,
- 1342, 1314, 693, 1363, 693, 209, 1372, 1351, 1373, 1292,
- 1342, 8, 9, 1343, 1351, 1376, 1350, 1342, 1380, -664,
- 1343, 747, 1402, 832, 1403, 528, 1350, 1404, 201, 1465,
- 201, 1410, 1414, 1350, 1580, 1415, 1424, 633, 18, 1425,
- 1426, 1427, 1391, 1434, 1443, 1444, 1420, 1421, 696, 26,
- 1445, 130, 131, 1457, 1459, 621, 127, 128, 1472, 1475,
- 559, 1496, 26, 559, 130, 131, 1497, 1498, 829, 693,
- 1499, 1504, 214, 215, 216, 1519, 1520, 1524, 1505, 14,
- 72, 559, 155, 155, 155, 95, 110, 111, 1506, 1526,
- 72, 1486, 1487, 1534, 559, 693, 18, 72, 856, 747,
- 1507, 625, 20, 375, 1632, 420, 423, 26, 1274, 130,
- 131, 23, 155, 155, 155, 95, 110, 111, 58, 667,
- 668, 669, 1527, 888, 1556, 693, 879, 1558, 1240, 1241,
- 1566, 633, 895, 889, 1576, 1577, 1601, 224, 1592, 112,
- 113, 114, 1608, 199, 1602, 199, 890, 95, 96, 97,
- 590, 591, 592, 593, 594, 1255, 1610, 224, 1613, 1614,
- 1257, 1626, 694, 1630, 1636, 493, 224, 58, 1562, 112,
- 113, 1593, 1637, 1351, 1351, 1562, 1342, 1342, 1351, 1343,
- 1640, 1342, 1643, 224, 1343, 1647, 300, 394, 395, 10,
- 1652, 1648, 1350, 1350, 350, 1662, 1657, 1350, 1661, 26,
- 1320, 98, 99, 100, 1140, 1669, 1274, 494, 215, 216,
- 1664, 1140, 1670, 694, 14, 1672, 1673, 1, 442, 1531,
- 1351, 693, 5, 1342, 160, 21, 1343, 441, 957, 1351,
- 1140, 18, 1342, 140, 140, 1343, 156, 20, 1176, 1350,
- 27, 320, 201, 1420, 1421, 696, 23, 714, 1350, 439,
- 1631, 297, 1072, 58, 1315, 1562, 72, 72, 297, 360,
- 212, 72, 220, 58, 221, 503, 409, 1668, 237, 534,
- 58, 1413, 32, 1515, 1168, 750, 751, 946, 1236, 506,
- 1351, 1008, 1374, 1342, 1256, 1074, 1343, 1397, 382, 383,
- 384, 947, 1166, 1616, 883, 486, 696, 618, 390, 1350,
- 1470, 1360, 747, 72, 158, 1654, 1646, 147, 1651, 1605,
- 730, 1476, 72, 116, 117, 118, 1653, 736, 1218, 0,
- 1351, 0, 0, 1342, 1383, 1384, 1343, 1393, 1394, 0,
- 1396, 0, 1449, 1450, 385, 0, 8, 9, 297, 1350,
- 12, 13, 386, 387, 140, 0, 14, 158, 0, 140,
- 0, 747, 156, 156, 156, 0, 0, 199, 0, 0,
- 16, 0, 17, 72, 0, 26, 155, 119, 120, 20,
- 0, 0, 0, 95, 96, 97, 0, 0, 23, 212,
- 0, 116, 772, 773, 823, 450, 0, 26, 0, 130,
- 131, 604, 0, 0, 0, 0, 470, 470, 479, 0,
- 95, 96, 97, 72, 0, 0, 0, 0, 775, 382,
- 383, 384, 220, 1129, 8, 9, 0, 411, 693, 246,
- 496, 220, 413, 0, 295, 605, 1511, 98, 99, 58,
- 58, 295, 0, 26, 58, 119, 120, 155, 155, 155,
- 0, 18, 0, 0, 0, 877, 363, 0, 1529, 1532,
- 559, 878, 1140, 0, 98, 99, 0, 0, 0, 1480,
- 1481, 26, 140, 386, 387, 26, 0, 130, 131, 693,
- 147, 0, 0, 0, 0, 221, 58, 0, 1140, 0,
- 0, 1224, 0, 0, 1140, 58, 0, 935, 0, -305,
- 0, 1225, 0, 0, 0, 0, 258, 95, 110, 111,
- 0, 0, 0, 1226, -305, 8, 9, 1034, -305, 0,
- 519, 295, 0, 0, 158, 158, 158, 0, 0, 0,
- 258, 0, 0, 0, 0, -305, 0, 1578, 0, 116,
- 772, 773, 18, 156, 0, 520, 58, -305, -305, 0,
- -305, 0, -305, 0, 158, 158, 158, 0, 1083, 258,
- 0, 112, 113, 0, 1088, 0, 26, 0, 130, 131,
- 258, 1231, 0, 1547, 1548, 1549, 7, 8, 250, 10,
- -305, -305, 1224, 95, 110, 111, 58, 225, 226, 227,
- 0, 0, 1225, 119, 120, -305, 0, 95, 110, 111,
- 513, 0, 224, 0, 1226, 127, 128, 0, 0, 224,
- 519, 18, 0, 0, 1140, 21, 0, 228, 212, 220,
- 153, 0, 251, 0, 0, 0, 0, 0, 224, 258,
- 27, 28, 140, 1582, 1583, 140, 21, 112, 113, 0,
- 0, 156, 156, 156, 0, 0, 0, 140, 0, 0,
- 0, 112, 113, 0, 252, 0, 26, 0, 130, 131,
- 0, 0, 32, 0, 258, 472, 475, 0, 0, 0,
- 0, 1146, 529, 1147, 0, 0, 7, 8, 9, 10,
- 0, 0, 530, 0, 470, 0, 0, 470, 258, 479,
- 479, 479, 0, 0, 0, 450, 0, 300, 127, 128,
- 10, 470, 496, 220, 1633, 705, 450, 0, 706, 0,
- 496, 0, 0, 0, 0, 21, 0, 0, 0, 0,
- 709, 621, 0, 450, 0, 18, 0, 0, 26, 0,
- 27, 28, 0, 0, 0, 0, 21, 421, 424, 1119,
- 1120, 0, 621, 0, 970, 1125, 0, 559, 0, 26,
- 156, 27, 320, 156, 971, 0, 0, 411, 0, 1137,
- 413, 1138, 32, 1139, 0, 1156, 972, 625, 0, 156,
- 156, 156, 8, 9, 520, 1157, 0, 13, 95, 110,
- 111, 258, 153, 32, 156, 0, 0, 1158, 625, 0,
- 0, 0, 95, 110, 111, 0, 0, 0, 0, 18,
- 0, 1405, 1406, 1407, 1408, 0, 0, 0, 158, 0,
- 0, 0, 0, 1171, 340, 0, 340, 1140, 340, 639,
- 8, 9, 10, 26, 0, 130, 131, 0, 0, 0,
- 0, 0, 112, 1528, 0, 905, 905, 912, 258, 1224,
- 0, 0, 0, 1263, 931, 1265, 112, 1530, 0, 1225,
- 224, 0, 0, 0, 0, 309, 640, 1194, 21, 0,
- 0, 1226, 0, 340, 220, 340, 1140, 0, 1447, 0,
- 0, 26, 0, 130, 131, 0, 224, 0, 0, 158,
- 158, 158, 224, 0, 7, 8, 9, 10, 167, 12,
- 13, 0, 0, 735, 0, 14, 214, 215, 216, 0,
- 0, 0, 1297, 14, 0, 212, 0, 220, 237, 16,
- 0, 17, 18, 0, 0, 0, 0, 561, 20, 0,
- 18, 0, 0, 21, 224, 0, 20, 23, 0, 621,
- 0, 258, 127, 128, 0, 23, 26, 13, 27, 28,
- 0, 0, 0, 748, 1501, 0, 749, 0, 472, 475,
- 701, 220, 1182, 0, 214, 215, 216, 258, 0, 18,
- 765, 14, 1183, 470, 470, 479, 479, 479, 0, 0,
- 32, 470, 0, 0, 1184, 625, 621, 0, 18, 496,
- 0, 1525, 450, 26, 20, 130, 131, 0, 0, 0,
- 1375, 0, 0, 23, 0, 1379, 0, 0, 0, 622,
- 0, 0, 224, 0, 0, 0, 0, 0, 941, 623,
- 0, 212, 0, 0, 0, 0, 421, 708, 0, 0,
- 0, 624, 625, 8, 9, 0, 0, 0, 7, 8,
- 9, 10, 214, 215, 216, 0, 705, 706, 156, 14,
- 300, 394, 395, 10, 709, 258, 1560, 550, 0, 1417,
- 18, 691, 856, 1560, 0, 0, 18, 1316, 0, 1317,
- 258, 1318, 20, 0, 421, 424, 0, 21, 0, 0,
- 0, 23, 559, 621, 26, 0, 130, 131, 0, 21,
- 26, 0, 27, 28, 0, 340, 251, 0, 0, 0,
- 1224, 0, 0, 0, 27, 320, 193, 0, 0, 0,
- 1225, 0, 0, 0, 0, 0, 194, 0, 0, 0,
- 0, 0, 1226, 0, 32, 0, 0, 691, 1466, 905,
- 0, 0, 905, 0, 561, 0, 32, 561, 0, 0,
- 0, 0, 0, 1560, 905, 0, 0, 0, 1153, 1153,
- 931, 0, 0, 0, 421, 837, 8, 9, 0, 0,
- 12, 13, 1635, 1492, 1493, 0, 14, 0, 561, 0,
- 0, 1419, 588, 589, 590, 591, 592, 593, 594, 0,
- 16, 1503, 17, 1650, 0, 0, 0, 0, 237, 20,
- 0, 258, 856, 1179, 1179, 1185, 727, 731, 23, 0,
- 0, 0, 0, 0, 731, 0, 0, 26, 0, 130,
- 131, 7, 8, 9, 10, 224, 0, 13, 0, 0,
- 0, 0, 300, 8, 9, 10, 0, 0, 930, 0,
- 0, 0, 748, 749, 472, 475, 0, 340, 1185, 18,
- 765, 1543, 1544, 0, 0, 882, 0, 0, 0, 0,
- 21, 0, 1227, 1227, 1227, 0, 621, 1554, 1555, 0,
- 0, 21, 0, 26, 224, 27, 28, 147, 251, 0,
- 340, 731, 0, 450, 450, 0, 27, 320, 0, 970,
- 828, 0, 0, 691, 0, 0, 0, 0, 0, 971,
- 691, 0, 0, 0, 0, 0, 0, 32, 0, 0,
- 450, 972, 625, 0, 340, 450, 727, 0, 32, 853,
- 854, 0, 858, 859, 860, 861, 862, 863, 864, 865,
- 866, 867, 868, 869, 870, 871, 872, 873, 874, 875,
- 876, 0, 731, 0, 0, 0, 0, 0, 731, 0,
- 0, 0, 127, 128, 0, 0, 215, 216, 0, 0,
- 421, 708, 14, 581, 582, 583, 584, 585, 586, 587,
- 588, 589, 590, 591, 592, 593, 594, 731, 258, 0,
- 258, 0, 0, 0, 731, 20, 0, 0, 0, 1153,
- 1153, 931, 0, 0, 23, 0, 621, 0, 300, 127,
- 128, 10, 0, 26, 13, 130, 131, 0, 949, 951,
- 0, 691, 0, 1179, 1179, 1305, 1305, 1185, 0, 622,
- 0, 0, 1179, 258, 340, 0, 18, 0, 0, 623,
- 0, 0, 930, 0, 0, 0, 0, 21, 0, 0,
- 0, 631, 625, 621, 0, 1305, 1305, 1185, 0, 0,
- 26, 0, 27, 320, 0, 0, 0, 1227, 1227, 1227,
- 127, 128, 472, 475, 215, 216, 1156, 0, 0, 0,
- 14, 0, 727, 0, 0, 691, 1157, 0, 0, 450,
- 450, 691, 450, 450, 32, 450, 411, 413, 1158, 625,
- 0, 0, 0, 20, 0, 520, 0, 0, 0, 0,
- 0, 0, 23, 612, 621, 300, 394, 395, 10, 0,
- 613, 26, 0, 130, 131, 258, 0, 0, 0, 0,
- 0, 748, 749, 765, 0, 0, 0, 622, 0, 0,
- 0, 0, 0, 421, 837, 1046, 0, 623, 0, 1179,
- 1179, 1305, 1305, 1185, 21, 0, 1179, 0, 0, 624,
- 625, 614, 0, 340, 340, 0, 340, 26, 0, 27,
- 320, 0, 0, 300, 127, 128, 10, 0, 0, 0,
- 0, 731, 0, 0, 0, 0, 0, 0, 0, 153,
- 0, 0, 0, 212, 220, 0, 0, 0, 0, 0,
- 0, 615, 691, 0, 1110, 0, 691, 0, 0, 0,
- 0, 0, 21, 0, 0, 258, 0, 0, 0, 251,
- 0, 0, 705, 706, 450, 450, 0, 27, 320, 709,
- 0, 0, 1216, 0, 0, 0, 731, 731, 0, 0,
- 0, 727, 731, 258, 0, 691, 0, 0, 0, 0,
- 0, 691, 0, 0, 0, 0, 731, 0, 731, 32,
- 731, 0, 0, 1508, 1508, 0, 1508, 7, 8, 9,
- 10, 0, 0, 246, 0, 0, 0, 7, 127, 128,
- 10, 0, 748, 749, 472, 475, 0, 0, 0, 0,
- 0, 765, 0, 0, 691, 18, 0, 0, 0, 1165,
- 0, 0, 0, 0, 0, 0, 21, 258, 0, 479,
- 731, 0, 621, 0, 472, 475, 21, 0, 0, 26,
- 0, 27, 28, 251, 691, 340, 472, 475, 450, 450,
- 450, 27, 28, 0, 0, 970, 691, 0, 1190, 0,
- 0, 0, 0, 0, 0, 971, 0, 0, 1508, 1508,
- 1557, 0, 0, 32, 731, 252, 0, 972, 625, 0,
- 0, 0, 0, 32, 0, 0, 0, 0, 0, 729,
- 691, 731, 691, 0, 421, 708, 729, 0, 0, 0,
- 479, 479, 479, 0, 7, 8, 9, 10, 450, 450,
- 13, 0, 0, 0, 0, 7, 8, 9, 10, 0,
- 421, 424, 907, 910, 0, 0, 0, 0, 748, 749,
- 472, 475, 18, 0, 0, 765, 1246, 0, 0, 0,
- 0, 0, 0, 21, 0, 0, 0, 0, 0, 621,
- 421, 1362, 0, 0, 21, 0, 26, 691, 27, 28,
- 0, 251, 0, 729, 0, 0, 0, 0, 0, 27,
- 28, 0, 1182, 0, 0, 0, 0, 0, 0, 450,
- 0, 0, 1183, 691, 0, 0, 0, 727, 727, 0,
- 32, 1277, 0, 252, 1184, 625, 0, 0, 258, 0,
- 80, 32, 0, 0, 0, 0, 0, 0, 0, 0,
- 104, 340, 0, 691, 0, 1058, 1059, 9, 10, 0,
- 133, 0, 0, 0, 729, 0, 144, 144, 0, 144,
- 729, 80, 0, 0, 0, 0, 0, 0, 80, 0,
- 0, 0, 748, 749, 0, 765, 421, 708, 0, 0,
- 0, 203, 0, 80, 21, 0, 0, 0, 0, 729,
- 0, 238, 0, 0, 0, 0, 729, 26, 104, 27,
- 28, 0, 0, 1239, 731, 1060, 731, 0, 731, 262,
- 104, 0, 0, 193, 0, 0, 727, 0, 0, 0,
- 0, 0, 0, 194, 0, 727, 727, 0, 0, 0,
- 0, 32, 104, 0, 727, 195, 0, 0, 0, 691,
- 586, 587, 588, 589, 590, 591, 592, 593, 594, 0,
- 1381, 1382, 116, 772, 773, 0, 774, 472, 475, 0,
- 133, 0, 80, 0, 0, 0, 144, 144, 0, 0,
- 0, 412, 144, 0, 0, 144, 144, 144, 727, 775,
- 0, 0, 0, 0, 0, 0, 0, 776, 0, 472,
- 475, 80, 0, 0, 0, 80, 0, 0, 0, 0,
- 0, 203, 80, 0, 26, 0, 119, 120, 731, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 203,
- 203, 203, 0, 0, 7, 8, 9, 10, 214, 215,
- 216, 0, 0, 1216, 0, 14, 1141, 1442, 0, 1142,
- 0, 0, 0, 7, 8, 9, 10, 0, 203, 519,
- 0, 1148, 18, 0, 0, 907, 910, 0, 20, 0,
- 0, 0, 0, 21, 0, 505, 0, 23, 0, 621,
- 0, 18, 0, 0, 104, 0, 26, 727, 27, 28,
- 0, 0, 21, 729, 0, 144, 0, 0, 621, 0,
- 0, 0, 970, 1485, 0, 26, 0, 27, 28, 0,
- 907, 910, 971, 127, 128, 421, 1362, 0, 246, 0,
- 32, 970, 0, 0, 972, 625, 727, 0, 0, 0,
- 0, 971, 0, 104, 531, 0, 0, 0, 0, 32,
- 18, 0, 0, 972, 625, 0, 691, 0, 729, 729,
- 0, 0, 0, 0, 729, 0, 0, 621, 0, 0,
- 0, 0, 0, 0, 26, 0, 130, 131, 729, 0,
- 729, 0, 729, 0, 0, 0, 0, 0, 0, 104,
- 622, 0, 731, 619, 0, 531, 531, 634, 0, 0,
- 623, 7, 8, 9, 10, 0, 80, 691, 0, 1545,
- 1546, 0, 624, 625, 0, 0, 0, 0, 300, 8,
- 9, 10, 167, 12, 13, 0, 0, 735, 0, 14,
- 0, 0, 729, 0, 0, 300, 8, 9, 10, 133,
- 21, 0, 0, 16, 0, 17, 18, 1573, 104, 0,
- 203, 104, 20, 26, 0, 27, 28, 21, 0, 192,
- 0, 23, 0, 621, 0, 144, 0, 0, 144, 193,
- 26, 0, 27, 320, 21, 0, 729, 1587, 0, 194,
- 144, 251, 0, 0, 0, 0, 1156, 32, 80, 27,
- 320, 195, 0, 729, 0, 0, 1157, 0, 0, 0,
- 0, 0, 0, 0, 32, 0, 907, 910, 1158, 625,
- 0, 0, 0, 252, 0, 0, 203, 203, 0, 0,
- 203, 32, 203, 203, 203, 755, 0, 0, 0, 203,
- 1141, 1142, 907, 910, 203, 0, 0, 203, 0, 1148,
- 0, 0, 0, 0, 263, 0, 0, 8, 9, 0,
- 0, 12, 13, 0, 80, 0, 0, 14, 0, 0,
- 0, 0, 907, 910, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 0, 0, 0, 0, 0, 0,
- 20, 727, 264, 265, 0, 0, 0, 0, 0, 23,
- 0, 266, 104, 104, 104, 104, 0, 0, 26, 0,
- 130, 131, 0, 267, 0, 0, 0, 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, 292, 0, 0, 293, 0, 0,
- 0, 0, 0, 0, 0, 300, 8, 9, 10, 0,
- 0, 13, 104, 294, 531, 0, 1141, 1142, 907, 910,
- 0, 0, 0, 1148, 0, 0, 619, 0, 531, 531,
- 634, 0, 0, 18, 0, 0, 729, 932, 729, 0,
- 729, 934, 0, 0, 21, 0, 0, 0, 0, 0,
- 621, 0, 0, 0, 0, 0, 203, 26, 0, 27,
- 320, 0, 0, 0, 7, 8, 9, 10, 0, 0,
- 0, 0, 0, 1308, 0, 0, 0, 0, 0, 0,
- 0, 0, 133, 1309, 300, 8, 9, 10, 0, 133,
- 0, 32, 18, 0, 0, 1310, 625, 203, 977, 203,
- 203, 238, 634, 21, 0, 0, 0, 0, 0, 621,
- 0, 0, 18, 0, 0, 0, 26, 0, 27, 28,
- 0, 0, 0, 21, 1058, 1059, 9, 10, 0, 621,
- 1141, 1142, 970, 1148, 0, 0, 26, 0, 27, 320,
- 729, 0, 971, 0, 203, 0, 0, 0, 977, 0,
- 32, 0, 1308, 0, 972, 625, 203, 203, 755, 755,
- 755, 0, 1309, 21, 203, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 1310, 625, 26, 0, 27, 28,
- 0, 0, 0, 0, 1060, 7, 127, 128, 10, 0,
- 0, 13, 193, 133, 0, 0, 80, 0, 80, 0,
- 0, 0, 194, 1069, 80, 0, 80, 0, 0, 0,
- 32, 0, 104, 18, 195, 907, 910, 0, 104, 0,
- 0, 0, 0, 0, 21, 531, 531, 531, 785, 0,
- 7, 8, 786, 10, 167, 12, 13, 26, 531, 27,
- 28, 14, 0, 0, 0, 0, 0, 0, 300, 8,
- 9, 10, 0, 30, 0, 16, 0, 17, 18, 19,
- 0, 0, 0, 31, 20, -523, 0, 0, 0, 21,
- 0, 32, 0, 23, 787, 33, 168, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 21, 788, 0,
- 789, 0, 0, 0, 251, 0, 0, 0, 30, 0,
- 0, 0, 27, 320, 729, 0, 0, 0, 31, 0,
- 0, 531, 531, 0, 0, 531, 32, 0, 531, 0,
- 33, 0, 0, 104, 0, 0, 522, 531, 0, 104,
- 0, 932, 932, 932, 32, 0, -523, 531, 0, 1159,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
- 9, 0, 0, 12, 246, 0, 0, 0, 0, 14,
+ 435, 490, 444, 196, 122, 256, 724, 443, 445, 697,
+ 1003, 392, 36, 42, 763, 632, 516, 698, 781, 538,
+ 541, 695, 177, 642, 641, 208, 57, 103, 495, 498,
+ 59, 1121, 182, 841, 979, 398, 399, 59, 432, 509,
+ 985, 449, 178, 36, 42, 1045, 298, 1047, 880, 646,
+ 647, 42, 209, 572, 400, 1077, 936, 57, 507, 221,
+ 101, 35, 249, 674, 176, 391, 489, 247, 115, 256,
+ 1450, 1465, 397, 1504, 174, 497, 1565, 1561, 1468, 296,
+ 420, 423, 611, 350, 170, 350, 253, 350, 528, 190,
+ 1074, 1082, 35, 171, 452, 740, 260, 1087, 713, 169,
+ 703, 704, 350, 350, 403, 611, 611, 163, 595, 72,
+ 55, 233, 986, 839, 721, 1566, 1202, 1593, 89, 364,
+ 519, 645, 1638, 196, 1591, 15, 1011, 86, 256, -416,
+ -1, 406, 350, 1575, 350, 141, 146, 374, 90, -143,
+ 72, 55, 528, 375, 208, 76, 164, 72, 175, 177,
+ 94, 137, -357, 596, 915, 1588, 453, 1600, 405, -416,
+ 59, 1075, 951, -416, 59, 357, 1628, 358, -296, 178,
+ 388, 209, 722, 745, 1012, 87, 76, 1013, 42, 710,
+ -357, 1011, 1208, 76, 453, 127, 128, 57, 454, 297,
+ 190, 176, 1203, 728, 416, 1617, 201, 440, 213, 493,
+ 1016, 174, 1601, 992, 825, 91, 1650, -416, 1148, 221,
+ 952, 170, 408, -600, -2, 1632, 454, 221, 221, -366,
+ 171, 15, 840, 88, 1591, 92, 169, 215, 216, 1012,
+ 1001, 1209, 1013, 14, -829, 190, 26, 93, 130, 131,
+ 1569, 72, 404, 459, 107, 1563, 1078, 221, 1017, 617,
+ 1504, 1018, 529, -366, 419, 422, 20, -366, -600, -600,
+ 460, 260, 530, 1371, 1372, 23, 1298, 621, 523, 108,
+ 72, 55, 1004, -600, 72, 175, 1159, 407, 38, 1162,
+ 1393, 410, 1364, 1660, 502, 504, 616, 718, 461, -366,
+ 768, 1598, 247, 109, 1079, 1426, 221, 514, 471, 474,
+ 495, 498, 309, 1173, 964, 608, 76, 803, 495, 38,
+ 76, 642, 824, 682, 1299, 135, 201, 213, 26, 467,
+ 498, 1189, 1190, 1426, 1120, 350, 677, 1039, 649, 1234,
+ 1365, 1661, 965, 993, 772, 773, 542, 543, 296, 498,
+ 937, 1239, 1633, 1427, -303, 58, 247, 766, 966, 697,
+ 221, 517, 700, 552, 350, 651, 553, 1022, 1040, 554,
+ 1050, 432, 564, 201, 468, 955, 569, -625, 551, 260,
+ 137, 1535, 990, 991, 610, 1260, 58, 1262, 994, 516,
+ 161, 183, 405, 58, 883, 26, 162, 995, 996, -303,
+ -303, 761, 127, 128, 1051, -599, 518, 694, 1052, 767,
+ 209, 884, 621, 632, -296, 1476, 221, 420, 423, 660,
+ 187, 685, -625, -625, 1482, 1483, 595, 1484, 670, 18,
+ 39, 179, 177, 997, 240, 295, 1406, -625, 241, 885,
+ 1053, 660, 740, 1176, 648, -305, 621, 59, 740, 188,
+ -599, -599, 178, 26, 1228, 130, 131, 824, 297, -581,
+ -305, 39, 1150, 243, -305, -599, 40, 637, 138, 622,
+ 89, 596, 1280, 738, 176, 72, 650, 814, -141, 623,
+ 621, -305, 377, -305, 715, 18, 792, 58, 139, 245,
+ 90, 624, 625, -305, -305, 769, -305, 40, -305, 221,
+ 221, 898, 90, 299, -581, 189, 350, 221, 1296, 1297,
+ 138, 652, 638, 59, 127, 128, 58, 696, 1077, 221,
+ 58, 376, 815, 1095, 795, 824, -305, -305, -305, -305,
+ 300, 394, 395, 10, 95, 110, 111, 362, 221, 350,
+ 797, -305, 350, -299, 372, 350, 899, 95, 110, 111,
+ 350, 831, 831, 831, 831, 201, 989, 72, 175, 740,
+ 380, 771, 781, 350, 1201, 26, 1496, 130, 131, 21,
+ 155, 381, -581, 350, 401, 789, 350, 900, 608, 1578,
+ 1579, -296, 697, 696, 27, 320, 770, 495, 112, 113,
+ 698, 750, 751, 76, 695, 960, 552, 553, 883, 1036,
+ 1037, 112, 113, 425, 653, 1041, 682, 189, 939, 642,
+ 641, 296, 1442, 961, 433, 884, 32, -581, 485, 821,
+ 902, 410, 901, 72, 796, 1240, 848, 1122, 565, 694,
+ 566, 138, 1026, 528, 201, 303, 738, 88, 1034, -144,
+ 1054, -620, 201, 885, 1405, 300, 568, -7, 10, 972,
+ 1195, 977, 978, 572, 164, 158, 447, 921, 260, 802,
+ 1172, 221, 565, 448, 566, 903, 127, 128, 1285, 1197,
+ 896, 519, 451, 18, -367, 122, 15, 1027, 392, 1199,
+ 740, 463, 511, 350, 21, 1055, 155, 155, 155, 91,
+ 464, -120, 740, 15, 295, 1196, 978, 209, 91, 426,
+ 427, 247, 922, 923, 221, 501, -142, 645, -367, 92,
+ 1002, 58, -367, 428, 1198, 1001, 526, 26, 92, 130,
+ 131, 297, 89, 429, 1200, -120, 740, 512, 740, -120,
+ 1241, 32, 155, 887, 524, 430, 1506, 905, 908, 696,
+ 963, 525, 90, 888, -367, 1612, 696, 694, 221, 527,
+ 781, 980, 1635, 693, 1060, 1652, 889, -118, 1448, 15,
+ 89, -120, 546, 958, 1092, 1093, 1094, 792, 1429, 792,
+ 137, 158, 158, 158, 1059, 1069, 221, 792, 366, 370,
+ 90, 1507, 848, 8, 521, 1255, 1256, 1257, 1048, 1049,
+ 1613, -118, 535, 58, 59, -118, 59, 1636, 1080, 825,
+ 1653, 201, 209, 544, 59, 795, 1477, 795, 8, 9,
+ 694, 350, 350, 795, 350, 795, 694, 158, 88, 693,
+ 378, 797, 432, 797, 545, 127, 128, -118, 363, 547,
+ 91, 797, 222, 223, 1191, 379, 130, 131, 1430, 548,
+ 92, 221, 201, 975, 201, 201, 127, 128, 215, 216,
+ 92, 549, 1269, 1271, 14, 137, 789, 696, 789, 58,
+ 522, 130, 131, 1229, 1230, 1231, 789, 1028, 1029, 568,
+ 363, 222, 446, 611, 95, 110, 111, 20, 130, 131,
+ 300, 394, 395, 10, 662, 350, 23, 678, 89, 201,
+ 1124, 1083, 1084, 1020, 1085, 661, 1478, 26, 664, 130,
+ 131, 224, 522, 665, 72, 796, 72, 1046, 90, 127,
+ 128, 256, 15, 887, 72, 796, -416, 1236, 1237, 21,
+ 696, 831, 666, 888, 679, 1639, 696, 694, 112, 113,
+ 114, 738, 26, 1130, 27, 320, 889, 707, 1281, 1282,
+ 802, 1284, 802, 90, 1251, -416, -416, 1066, 1073, 1253,
+ 802, 1271, 8, 9, 363, 260, 92, 295, 129, -6,
+ 1360, 1362, 130, 131, 552, 553, 32, 711, 26, 1366,
+ 694, 1445, 831, 350, 733, 693, 694, 483, 484, 224,
+ 127, 128, 693, 15, 685, 519, 252, -416, 491, 492,
+ 1410, 8, 9, 762, 1510, 224, 757, 363, 116, 117,
+ 118, 559, 256, 816, 1060, 130, 131, 670, 593, 594,
+ 1527, 1403, -183, 155, 155, 155, -416, -416, 15, 738,
+ 963, -416, 825, 808, 1059, 127, 1389, 137, -183, 252,
+ -183, 26, 831, 130, 131, 806, 363, 696, 807, 905,
+ 908, 696, 809, 432, 130, 131, 817, 529, 694, 835,
+ 26, 224, 119, 120, 792, 1243, 722, 530, 837, 224,
+ 694, 1245, 1246, 838, 812, 1243, 1248, 840, 522, 1246,
+ 363, 91, 95, 96, 97, 432, 224, 895, 130, 131,
+ 696, 59, 914, 253, 1178, 1179, 696, 483, 716, 491,
+ 717, 92, 795, 693, 694, 897, 694, 1510, 158, 158,
+ 158, 916, 522, 918, 831, 942, 8, 9, 797, 813,
+ 1471, 1377, 1378, 943, 1387, 1388, 944, 1390, 953, 1510,
+ 256, 420, 423, 954, 26, 831, 98, 99, 100, 696,
+ 1424, 1425, 957, 18, 483, 1529, 732, 959, 350, -52,
+ 58, 20, 58, 789, -52, 967, 1609, 1494, 491, 1530,
+ 58, 420, 423, -299, 501, -52, 693, 26, 696, 130,
+ 131, 694, 693, 483, 1534, 968, 1270, 127, 128, 697,
+ 696, 1286, 981, 1222, 987, 988, 453, 1584, 1032, 1510,
+ 1008, 1009, 1456, 1223, 1461, 1002, 1010, 694, 1458, 1015,
+ -828, 72, 796, 432, 1024, 1224, 1031, 1066, 1035, 1038,
+ 724, 116, 772, 773, 696, 774, 696, 1096, 559, 1097,
+ 1347, 559, 116, 117, 118, 1110, 828, 738, 1288, 1098,
+ 130, 131, 1102, 1339, 1100, 1101, 1103, 802, 1104, 559,
+ 792, 825, 382, 383, 384, 1105, 775, 1346, 1106, -140,
+ 1107, 1109, 559, 1112, 1474, 1475, 855, 1113, 1114, 1115,
+ 552, 553, 1129, 26, 1042, 119, 120, 59, 1316, 1116,
+ 1131, 91, 1132, 523, 1270, 1133, 119, 120, 795, 905,
+ 908, 696, 1338, 693, 878, 1134, 1141, 693, 385, 1142,
+ 894, 92, 1171, 1143, 797, 1149, 386, 387, 1152, 224,
+ 300, 394, 395, 10, 1153, 1302, 1303, 696, 1165, 1043,
+ 95, 96, 97, 1455, 1158, 1455, 1170, 1167, 1194, 224,
+ 1217, 694, 140, 140, 1227, 156, 693, 1244, 224, 789,
+ 72, 1249, 693, 1250, 1254, 1302, 1303, 696, 410, 21,
+ 1258, 382, 383, 384, 1264, 224, 251, 1028, 1029, 212,
+ 1265, 220, 1272, 1347, 27, 320, 363, 237, 1541, 1542,
+ 1543, 209, 1266, 1347, 98, 99, 1267, 221, 528, 1274,
+ 1347, 1275, 1276, 1279, 1287, 693, 1339, 72, 796, 831,
+ 1346, 1202, 460, 1339, 1289, 1283, 32, 1574, 564, 1290,
+ 1346, 1480, 1481, 26, 1291, 386, 387, 1346, 1443, 1444,
+ 1295, 1294, 1654, 1300, 693, 1386, 95, 414, 415, 1310,
+ 1386, 1359, 1370, 802, 1374, 1338, 693, -662, 1576, 1577,
+ 1396, 1397, 95, 110, 111, 1338, 667, 668, 669, 1414,
+ 1415, 696, 1338, 140, 1398, 1404, 1408, 58, 140, 1409,
+ 1418, 156, 156, 156, 127, 128, 8, 9, 1419, 13,
+ 693, 1420, 693, 1421, 1438, 1428, 629, 633, 636, 1626,
+ 98, 113, 1437, 72, 1451, 493, 1439, 1453, 212, 1466,
+ 1513, 18, 1469, 72, 450, 1490, 112, 113, 1491, 1492,
+ 72, 1493, 420, 423, 1498, 470, 470, 479, 621, 1627,
+ 1505, 363, 116, 772, 773, 26, 1518, 130, 131, 130,
+ 131, 220, 95, 110, 111, 513, 201, 1459, 201, 496,
+ 220, 622, 1523, 1526, 1514, 1520, 694, 693, 155, 1521,
+ 1528, 623, 1556, 375, 1550, 1587, 1552, 1347, 1347, 1556,
+ 1560, 1570, 1347, 624, 625, 1571, 1586, 1595, 199, 1596,
+ 1339, 21, 1604, 693, 26, 1339, 119, 120, 350, 1607,
+ 1602, 140, 1608, 1620, 1346, 1346, 112, 113, 1624, 1346,
+ 1634, 155, 95, 96, 97, 1630, 58, 694, 1631, 1637,
+ 1127, 1641, 1646, 693, 1347, 1656, 221, 1642, 1658, 1651,
+ 1655, 552, 553, 1347, 1663, 1664, 1666, 1339, 1667, 1338,
+ 1338, 1572, 1, 1610, 1338, 442, 1339, 5, 160, 1525,
+ 956, 1346, 1174, 158, 439, 441, 714, 559, 1625, 1556,
+ 1346, 1311, 1070, 58, 360, 1509, 98, 99, 127, 128,
+ 597, 503, 156, 409, 1414, 1415, 696, 590, 591, 592,
+ 593, 594, 297, 1662, 1347, 1407, 1338, 72, 72, 297,
+ 534, 1166, 72, 1007, 945, 1338, 158, 1339, 95, 96,
+ 97, 506, 225, 226, 227, 1368, 750, 751, 199, 598,
+ 599, 1346, 621, 600, 601, 602, 603, 693, 1232, 26,
+ 946, 130, 131, 1252, 1347, 1164, 18, 696, 7, 8,
+ 250, 10, 228, 1072, 72, 622, 486, 1339, 1356, 618,
+ 1391, 882, 390, 72, 147, 623, 1338, 212, 220, 58,
+ 26, 1346, 98, 99, 229, 199, 1464, 624, 625, 58,
+ 1640, 140, 1648, 1599, 140, 1647, 58, 21, 201, 297,
+ 156, 156, 156, 1645, 251, 1216, 140, 155, 155, 155,
+ 1470, 0, 27, 28, 0, 0, 1338, 0, 0, -577,
+ 0, 0, -577, 0, 72, 0, 0, 0, 230, 231,
+ 232, 0, 0, 224, 0, 0, 252, 155, 155, 155,
+ 224, 0, 0, 470, 32, 0, 470, 0, 479, 479,
+ 479, 95, 110, 111, 450, 225, 226, 227, 918, 224,
+ 470, 496, 220, 0, 72, 450, 95, 110, 111, 496,
+ -577, 0, -577, -577, 0, -577, 0, 0, 974, 18,
+ 629, 633, 450, 636, 411, 228, -577, 0, -577, 413,
+ 0, 0, 158, 158, 158, 300, 8, 9, 10, 0,
+ 0, 0, 0, -577, -577, 112, 113, 0, 0, 156,
+ 0, 0, 156, 0, 0, 258, 0, 0, -577, 0,
+ 112, 113, 158, 158, 158, 633, 0, 0, 156, 156,
+ 156, 0, 0, 0, 21, 0, 0, 147, 0, 258,
+ 0, 251, 693, 156, 0, 214, 215, 216, 295, 27,
+ 320, 0, 14, 58, 58, 295, 0, 0, 58, 0,
+ 0, 0, 300, 127, 128, 10, 0, 199, 258, 18,
+ 0, 0, 0, 559, 0, 20, 0, 0, 0, 258,
+ 0, 32, 0, 0, 23, 7, 8, 9, 10, 0,
+ 0, 13, 0, 693, 904, 904, 911, 0, 730, 701,
+ 58, 21, 520, 930, 0, 736, 0, 0, 251, 58,
+ 0, 0, 0, 18, 0, 0, 27, 320, 633, 0,
+ 0, 0, 0, 220, 21, 1399, 1400, 1401, 1402, 0,
+ 621, 0, 0, 747, 0, 295, 0, 26, 258, 27,
+ 28, 0, 747, 0, 0, 0, 199, 691, 32, 0,
+ 0, 8, 9, 969, 199, 0, 246, 0, 0, 0,
+ 58, 0, 0, 970, 212, 0, 220, 237, 0, 0,
+ 0, 32, 822, 258, 0, 971, 625, 0, 18, 0,
+ 224, 116, 772, 773, 0, 0, 0, 155, 0, 0,
+ 0, 1138, 1441, 0, 95, 110, 111, 258, 1138, 0,
+ 58, 0, 26, 0, 130, 131, 224, 0, 0, 0,
+ 220, 0, 224, 691, 0, 0, 0, 1138, 1222, 0,
+ 8, 9, 470, 470, 479, 479, 479, 0, 1223, 0,
+ 470, 0, 0, 876, 0, 119, 120, 0, 496, 877,
+ 1224, 450, 340, 0, 340, 0, 340, 18, 112, 1522,
+ 300, 127, 128, 10, 224, 0, 13, 0, 155, 155,
+ 155, 0, 705, 0, 621, 706, 1495, 0, 0, 212,
+ 0, 26, 158, 130, 131, 934, 0, 709, 18, 0,
+ 7, 8, 9, 10, 0, 0, 246, 1499, 0, 21,
+ 258, 340, 0, 340, 0, 621, 156, 1500, 95, 110,
+ 111, 0, 26, 1519, 27, 320, 0, 0, 18, 1501,
+ 625, 0, 0, 199, 411, 0, 0, 413, 1154, 21,
+ 0, 0, 0, 0, 0, 621, 0, 0, 1155, 0,
+ 224, 520, 26, 0, 27, 28, 32, 0, 0, 0,
+ 1156, 625, 0, 158, 158, 158, 0, 258, 969, 0,
+ 0, 0, 112, 1524, 199, 0, 199, 199, 970, 0,
+ 0, 300, 127, 128, 10, 0, 32, 153, 1554, 691,
+ 971, 625, 0, 0, 855, 1554, 691, 904, 0, 0,
+ 904, 8, 9, 0, 205, 12, 206, 0, 0, 18,
+ 0, 14, 904, 0, 559, 0, 1151, 1151, 930, 0,
+ 21, 199, 0, 127, 128, 16, 621, 17, 18, 0,
+ 0, 0, 0, 26, 20, 27, 320, 0, 0, 0,
+ 0, 0, 0, 23, 0, 0, 8, 9, 0, 1154,
+ 0, 519, 26, 0, 130, 131, 237, 0, 1138, 1155,
+ 258, 1177, 1177, 1183, 129, 0, 0, 32, 0, 0,
+ 0, 1156, 625, 18, 26, 1554, 130, 131, 0, 1065,
+ 0, 0, 0, 0, 1138, 0, 258, 0, 0, 0,
+ 1138, 0, 0, 0, 1629, 550, 0, 26, 0, 130,
+ 131, 0, 0, 0, 421, 424, 1183, 691, 0, 1056,
+ 1057, 9, 10, 1222, 0, 1644, 0, 0, 0, 0,
+ 1225, 1225, 1225, 1223, 855, 0, 7, 8, 9, 10,
+ 0, 0, 13, 340, 0, 1224, 1117, 1118, 0, 1033,
+ 450, 450, 1123, 0, 0, 0, 0, 0, 21, 153,
+ 0, 224, 0, 0, 18, 0, 1135, 0, 1136, 0,
+ 1137, 26, 0, 27, 28, 21, 0, 450, 0, 1058,
+ 691, 621, 450, 0, 258, 0, 691, 193, 26, 1081,
+ 27, 28, 0, 0, 0, 1086, 0, 194, 0, 258,
+ 7, 127, 128, 10, 1180, 32, 0, 0, 0, 195,
+ 224, 0, 0, 0, 1181, 0, 0, 0, 1138, 0,
+ 1169, 0, 32, 705, 706, 0, 1182, 625, 0, 0,
+ 0, 709, 0, 0, 0, 0, 0, 8, 9, 21,
+ 0, 12, 246, 0, 727, 731, 251, 14, 0, 0,
+ 0, 0, 731, 0, 27, 28, 1151, 1151, 930, 0,
+ 0, 16, 0, 17, 1192, 0, 0, 0, 0, 0,
+ 20, 588, 589, 590, 591, 592, 593, 594, 252, 23,
+ 1177, 1177, 1301, 1301, 1183, 340, 32, 0, 26, 1177,
+ 130, 131, 0, 0, 561, 0, 0, 691, 0, 0,
+ 0, 691, 1144, 0, 1145, 0, 0, 0, 0, 0,
+ 0, 0, 1301, 1301, 1183, 0, 729, 0, 340, 731,
+ 258, 0, 0, 729, 1225, 1225, 1225, 0, 827, 586,
+ 587, 588, 589, 590, 591, 592, 593, 594, 0, 1065,
+ 691, 0, 0, 0, 450, 450, 691, 450, 450, 0,
+ 450, 0, 340, 0, 727, 0, 0, 852, 853, 0,
+ 857, 858, 859, 860, 861, 862, 863, 864, 865, 866,
+ 867, 868, 869, 870, 871, 872, 873, 874, 875, 0,
+ 731, 0, 0, 8, 9, 0, 731, 0, 13, 691,
+ 729, 0, 0, 421, 708, 0, 214, 215, 216, 0,
+ 0, 0, 0, 14, 1177, 1177, 1301, 1301, 1183, 0,
+ 18, 1177, 0, 0, 0, 731, 0, 0, 691, 1138,
+ 18, 0, 731, 0, 0, 0, 20, 0, 0, 0,
+ 691, 0, 0, 0, 26, 23, 130, 131, 0, 0,
+ 0, 421, 424, 147, 0, 0, 948, 950, 212, 220,
+ 1222, 729, 0, 0, 0, 0, 0, 729, 0, 0,
+ 1223, 0, 340, 1312, 691, 1313, 691, 1314, 1138, 0,
+ 747, 0, 1224, 1259, 0, 1261, 747, 450, 450, 0,
+ 0, 0, 0, 0, 0, 0, 729, 0, 639, 8,
+ 9, 10, 0, 729, 0, 0, 258, 0, 258, 0,
+ 0, 561, 0, 0, 561, 0, 7, 8, 9, 10,
+ 727, 0, 519, 0, 0, 0, 1502, 1502, 747, 1502,
+ 0, 421, 836, 0, 309, 640, 0, 21, 0, 0,
+ 0, 691, 1293, 0, 18, 561, 0, 1385, 0, 0,
+ 26, 258, 130, 131, 0, 21, 0, 0, 0, 0,
+ 0, 621, 0, 0, 0, 0, 0, 691, 26, 0,
+ 27, 28, 479, 0, 0, 1413, 0, 0, 0, 0,
+ 0, 259, 1044, 0, 969, 7, 8, 9, 10, 0,
+ 0, 450, 450, 450, 970, 0, 0, 691, 0, 0,
+ 340, 340, 32, 340, 747, 929, 971, 625, 494, 215,
+ 216, 1502, 1502, 1551, 0, 14, 0, 0, 731, 0,
+ 0, 0, 0, 0, 21, 0, 0, 0, 1369, 0,
+ 621, 0, 18, 1373, 0, 0, 0, 26, 20, 27,
+ 28, 1108, 258, 479, 479, 479, 0, 23, 199, 0,
+ 199, 450, 450, 969, 0, 0, 0, 0, 434, 0,
+ 0, 411, 413, 970, 0, 0, 0, 0, 0, 0,
+ 520, 32, 0, 731, 731, 971, 625, 0, 727, 731,
+ 0, 0, 0, 0, 0, 0, 0, 1411, 0, 729,
+ 469, 691, 0, 731, 0, 731, 0, 731, 0, 214,
+ 215, 216, 0, 488, 80, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
+ 0, 0, 450, 18, 133, 0, 0, 421, 708, 20,
+ 144, 144, 258, 144, 0, 80, 1163, 0, 23, 0,
+ 0, 0, 80, 0, 729, 729, 0, 731, 0, 0,
+ 729, 0, 0, 940, 0, 203, 0, 80, 0, 0,
+ 258, 0, 340, 0, 729, 238, 729, 0, 729, 0,
+ 0, 0, 104, 0, 0, 1188, 0, 8, 9, 0,
+ 0, 12, 13, 262, 104, 705, 706, 14, 0, 1486,
+ 1487, 731, 709, 0, 0, 0, 906, 909, 929, 0,
+ 0, 16, 0, 17, 0, 747, 104, 1497, 731, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 729, 23,
+ 127, 128, 258, 0, 0, 246, 0, 0, 26, 0,
+ 130, 131, 604, 0, 133, 0, 80, 0, 0, 0,
+ 144, 144, 0, 0, 0, 412, 144, 18, 0, 144,
+ 144, 144, 1242, 0, 747, 0, 0, 0, 0, 0,
+ 199, 0, 729, 0, 621, 80, 605, 1537, 1538, 80,
+ 0, 26, 0, 130, 131, 203, 80, 0, 0, 729,
+ 0, 0, 0, 1548, 1549, 0, 691, 622, 0, 0,
+ 0, 0, 0, 203, 203, 203, 0, 623, 0, 421,
+ 836, 0, 0, 727, 727, 0, 0, 1273, 0, 624,
+ 625, 0, 0, 0, 0, 0, 0, 0, 300, 8,
+ 9, 10, 203, 0, 13, 8, 9, 340, 0, 12,
+ 13, 0, 0, 0, 0, 14, 0, 691, 0, 505,
+ 0, 0, 0, 472, 475, 153, 18, 0, 104, 16,
+ 0, 17, 0, 0, 0, 0, 0, 21, 20, 144,
+ 0, 0, 0, 621, 0, 0, 0, 23, 0, 0,
+ 26, 0, 27, 320, 0, 0, 26, 0, 130, 131,
+ 758, 0, 0, 0, 0, 764, 1304, 0, 1214, 0,
+ 731, 258, 731, 0, 731, 0, 1305, 104, 531, 0,
+ 0, 0, 727, 0, 32, 0, 0, 0, 1306, 625,
+ 804, 727, 727, 0, 881, 0, 810, 0, 0, 0,
+ 727, 0, 8, 9, 0, 0, 12, 13, 818, 819,
+ 0, 820, 14, 0, 1375, 1376, 0, 0, 0, 0,
+ 0, 0, 0, 104, 0, 0, 16, 619, 17, 531,
+ 531, 634, 0, 0, 0, 20, 0, 0, 0, 0,
+ 80, 729, 727, 729, 23, 729, 0, 0, 0, 0,
+ 0, 0, 0, 26, 0, 130, 131, 0, 0, 1139,
+ 0, 0, 1140, 0, 612, 0, 300, 394, 395, 10,
+ 0, 613, 731, 133, 1146, 0, 0, 0, 906, 909,
+ 0, 0, 104, 0, 203, 104, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 591, 592, 593, 594, 144,
+ 0, 1436, 144, 0, 0, 21, 919, 920, 0, 421,
+ 708, 919, 614, 0, 144, 0, 0, 0, 26, 0,
+ 27, 320, 80, 906, 909, 7, 8, 9, 10, 0,
+ 0, 0, 0, 0, 0, 421, 424, 0, 0, 0,
+ 0, 727, 0, 729, 0, 7, 8, 9, 10, 0,
+ 203, 203, 615, 18, 203, 1479, 203, 203, 203, 755,
+ 0, 0, 0, 203, 21, 421, 1358, 0, 203, 0,
+ 621, 203, 0, 0, 0, 0, 0, 26, 727, 27,
+ 28, 0, 0, 0, 21, 0, 0, 0, 80, 0,
+ 0, 251, 0, 969, 300, 8, 9, 10, 0, 27,
+ 28, 748, 0, 970, 749, 0, 472, 475, 0, 0,
+ 0, 32, 0, 0, 0, 971, 625, 0, 765, 0,
+ 0, 0, 18, 252, 0, 0, 104, 104, 104, 104,
+ 0, 32, 0, 21, 731, 1030, 0, 0, 0, 621,
+ 0, 0, 0, 0, 0, 0, 26, 0, 27, 320,
+ 0, 1539, 1540, 0, 0, 0, 0, 0, 0, 421,
+ 708, 0, 1304, 0, 0, 0, 0, 0, 0, 127,
+ 128, 0, 1305, 0, 519, 0, 0, 0, 0, 0,
+ 32, 0, 0, 0, 1306, 625, 104, 0, 531, 1567,
+ 0, 1088, 0, 1090, 0, 0, 18, 0, 0, 0,
+ 619, 0, 531, 531, 634, 729, 0, 0, 906, 909,
+ 0, 931, 0, 621, 0, 933, 0, 0, 0, 1581,
+ 26, 0, 130, 131, 0, 0, 0, 0, 0, 0,
+ 203, 0, 1139, 1140, 906, 909, 622, 0, 0, 0,
+ 0, 1146, 0, 0, 0, 0, 623, 0, 0, 7,
+ 8, 9, 10, 214, 215, 216, 133, 0, 624, 625,
+ 14, 0, 0, 133, 906, 909, 1125, 1126, 0, 1128,
+ 0, 203, 976, 203, 203, 238, 634, 18, 0, 0,
+ 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
+ 0, 0, 23, 0, 621, 0, 0, 0, 0, 0,
+ 1147, 26, 0, 27, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1214, 0, 0, 969, 203, 0,
+ 0, 0, 976, 727, 0, 0, 0, 970, 0, 0,
+ 203, 203, 755, 755, 755, 32, 0, 0, 203, 971,
+ 625, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1187, 0, 0, 0, 1139, 1140, 906, 909,
+ 0, 0, 0, 1146, 0, 0, 133, 0, 0, 80,
+ 0, 80, 0, 0, 0, 0, 1067, 80, 0, 80,
+ 748, 749, 472, 475, 0, 104, 421, 1358, 765, 0,
+ 0, 104, 0, 0, 0, 0, 0, 0, 531, 531,
+ 531, 0, 6, 0, 7, 8, 9, 10, 11, 12,
+ 13, 531, 0, 0, 0, 14, 0, 0, 0, 0,
+ 0, 1233, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 17, 18, 1238, 0, 0, 0, 0, 20, 0,
+ 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
+ 438, 0, 0, 0, 0, 0, 26, 0, 27, 28,
+ 0, 0, 29, 0, 0, 0, 0, 0, 1139, 1140,
+ 0, 1146, 30, 0, 0, 0, 0, 0, 1056, 1057,
+ 9, 10, 31, 0, 531, 531, 0, 0, 531, 0,
+ 32, 531, 0, 0, 33, 0, 104, 0, 0, 0,
+ 531, 0, 104, 0, 931, 931, 931, 0, 0, 0,
+ 531, 0, 1157, 0, 0, 0, 0, 21, 0, 0,
+ 0, 1292, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 0, 27, 28, 0, 0, 1235, 0, 1058, 0,
+ 0, 0, 0, 0, 0, 104, 193, 104, 0, 203,
+ 203, 1185, 83, 906, 909, 0, 194, 0, 0, 0,
+ 0, 0, 106, 0, 32, 1309, 0, 0, 195, 0,
+ 0, 126, 134, 0, 0, 0, 0, 0, 145, 145,
+ 0, 145, 0, 83, 0, 0, 7, 127, 128, 10,
+ 83, 0, 13, 0, 1185, 0, 0, 0, 0, 472,
+ 475, 0, 0, 145, 0, 83, 0, 104, 755, 755,
+ 755, 0, 0, 239, 18, 0, 0, 0, 0, 0,
+ 248, 0, 0, 104, 0, 21, 1067, 0, 0, 0,
+ 0, 0, 248, 1394, 0, 104, 0, 1395, 26, 0,
+ 27, 28, 0, 0, 0, 0, 0, 0, 1247, 0,
+ 0, 0, 0, 0, 30, 0, 80, 0, 748, 749,
+ 765, 0, 0, 0, 31, 0, 0, 0, 0, 104,
+ 0, 104, 32, 1412, 0, 0, 33, 0, 0, 104,
+ 0, 0, 0, 0, 83, 0, 1417, 0, 145, 145,
+ 0, 0, 0, 0, 145, 0, 0, 145, 145, 145,
+ 104, 0, 0, 0, 0, 531, 531, 0, 531, 0,
+ 0, 0, 0, 83, 0, 0, 0, 83, 0, 0,
+ 0, 0, 0, 145, 83, 0, 0, 0, 0, 0,
+ 0, 531, 0, 0, 531, 531, 634, 0, 0, 0,
+ 0, 145, 145, 145, 7, 127, 128, 10, 0, 1472,
+ 246, 0, 0, 1473, 0, 0, 0, 203, 203, 203,
+ 203, 203, 1185, 755, 0, 0, 0, 203, 0, 0,
+ 145, 0, 18, 0, 0, 1488, 1489, 0, 0, 0,
+ 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
+ 1185, 1185, 1185, 0, 0, 0, 26, 0, 27, 28,
+ 0, 0, 755, 755, 755, 755, 0, 145, 748, 749,
+ 472, 475, 30, 0, 0, 0, 0, 765, 0, 0,
+ 0, 0, 31, 0, 203, 0, 0, 0, 0, 144,
+ 32, 0, 80, 0, 33, 0, 0, 0, 0, 0,
+ 472, 475, 0, 0, 0, 248, 145, 0, 0, 0,
+ 0, 0, 472, 475, 581, 582, 583, 584, 585, 586,
+ 587, 588, 589, 590, 591, 592, 593, 594, 7, 8,
+ 9, 10, 214, 215, 216, 0, 0, 0, 0, 14,
+ 0, 755, 203, 203, 755, 755, 1416, 0, 0, 203,
+ 0, 248, 0, 0, 0, 620, 18, 145, 145, 635,
+ 0, 0, 20, 0, 644, 0, 0, 21, 83, 0,
+ 0, 23, 0, 621, 0, 0, 0, 0, 0, 0,
+ 26, 0, 27, 28, 0, 203, 976, 203, 0, 0,
+ 0, 0, 748, 749, 472, 475, 969, 0, 0, 765,
+ 0, 683, 0, 0, 104, 0, 970, 0, 0, 0,
+ 248, 0, 145, 248, 32, 0, 0, 0, 1014, 625,
+ 7, 127, 128, 10, 0, 0, 13, 145, 0, 0,
+ 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 145, 0, 0, 0, 0, 0, 18, 0,
+ 83, 0, 0, 0, 755, 755, 0, 755, 0, 21,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
- 593, 594, 104, 16, 104, 17, 203, 203, 1187, 83,
- 0, 0, 20, 369, 371, 0, 0, 0, 0, 106,
- 0, 23, 0, 621, 0, 0, 0, 0, 126, 134,
- 26, 0, 130, 131, 0, 145, 145, 0, 145, 0,
- 83, 0, 0, 0, 0, 0, 622, 83, 0, 0,
- 0, 1187, 0, 0, 0, 0, 623, 0, 0, 0,
- 145, 0, 83, 0, 104, 755, 755, 755, 624, 625,
- 239, 7, 127, 128, 10, 0, 0, 248, 0, 0,
- 0, 104, 0, 0, 1069, 0, 0, 0, 0, 248,
- 0, 0, 0, 104, 0, 0, 0, 0, 0, 18,
- 0, 0, 0, 0, 0, 0, 1251, 0, 0, 0,
- 21, 0, 0, 0, 80, 0, 0, 0, 0, 0,
- 0, 0, 0, 26, 0, 27, 28, 104, 0, 104,
- 0, 0, 0, 0, 0, 0, 0, 104, 0, 30,
- 0, 83, 0, 0, 0, 145, 145, 0, 0, 31,
- 0, 145, 0, 0, 145, 145, 145, 32, 104, 0,
- 0, 33, 0, 531, 531, 0, 531, 0, 0, 0,
- 83, 0, 0, 0, 83, 0, 0, 0, 0, 0,
- 145, 83, 0, 0, 0, 0, 0, 0, 0, 531,
- 0, 0, 531, 531, 634, 0, 0, 0, 145, 145,
- 145, 7, 8, 9, 10, 167, 12, 13, 0, 0,
- 0, 0, 14, 0, 0, 203, 203, 203, 203, 203,
- 1187, 755, 0, 0, 0, 203, 16, 145, 17, 18,
- 19, 0, 0, 0, 0, 20, 563, 0, 0, 0,
- 21, 0, 0, 0, 23, 0, 0, 168, 1187, 1187,
- 1187, 0, 0, 26, 0, 27, 28, 0, 0, 0,
- 755, 755, 755, 755, 145, 0, 0, 0, 0, 30,
- 785, 0, 7, 8, 786, 10, 167, 12, 13, 31,
- 0, 0, 0, 14, 203, 0, 0, 32, 0, 144,
- 0, 33, 80, 0, 0, 0, 34, 16, 0, 17,
- 18, 19, 248, 145, 0, 0, 20, -524, 690, 0,
- 0, 21, 0, 0, 0, 23, 787, 0, 168, 0,
- 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
- 788, 0, 789, 0, 0, 0, 0, 0, 0, 0,
- 30, 755, 203, 203, 755, 755, 1422, 0, 248, 203,
- 31, 0, 620, 0, 145, 145, 635, 0, 32, 0,
- 0, 644, 33, 0, 0, 83, 0, 0, 0, 0,
- 0, 0, 0, 0, 737, 0, 0, 0, -524, 0,
- 7, 8, 9, 10, 0, 203, 977, 203, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 683, 0,
- 0, 0, 0, 0, 104, 0, 0, 248, 18, 145,
- 248, 0, 0, 0, 0, 0, 0, 0, 0, 21,
- 0, 0, 0, 0, 145, 0, 0, 145, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 0, 145,
- 259, 0, 0, 824, 0, 0, 827, 83, 476, 0,
- 0, 830, 831, 833, 834, 835, 755, 755, 477, 755,
- 0, 0, 0, 0, 563, 0, 32, 0, 0, 0,
- 478, 0, 0, 0, 0, 145, 145, 852, 0, 145,
- 0, 145, 145, 145, 145, 0, 0, 0, 145, 0,
- 0, 0, 0, 145, 8, 9, 145, 167, 12, 13,
- 0, 0, 1187, 0, 14, 0, 0, 0, 0, 0,
- 0, 0, 784, 83, 0, 0, 0, 434, 16, 0,
- 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
- 911, 0, 0, 0, 0, 0, 684, 911, 0, 168,
- 0, 755, 755, 1422, 755, 26, 0, 130, 131, 469,
- 0, 248, 248, 248, 248, 0, 0, 0, 0, 0,
- 0, 0, 488, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1187, 1187, 1187, 166, 0, 7, 8,
- 9, 10, 167, 12, 13, 0, 0, 0, 0, 14,
- 0, 0, 0, 755, 104, 0, 0, 0, 0, 203,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
- 0, 248, 20, 145, 0, 0, 0, 21, 0, 0,
- 0, 23, 0, 0, 168, 0, 0, 145, 145, 635,
- 26, 0, 27, 28, 0, 0, 933, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 30, 0, 690, 644,
- 0, 0, 0, 0, 0, 145, 31, 0, 0, 0,
- 0, 0, 0, 0, 32, 0, 0, 0, 33, 0,
- 0, 0, 0, 34, 0, 0, 0, 0, 0, 0,
- 785, 683, 7, 8, 786, 10, 167, 12, 13, 126,
- 0, 0, 0, 14, 0, 0, 145, 635, 145, 145,
- 239, 635, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 737, 0, 0, 0, 20, -526, 737, 0,
- 0, 21, 0, 0, 784, 23, 787, 0, 168, 0,
- 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
- 788, 0, 789, 145, 0, 0, 0, 635, 0, 0,
- 30, 0, 0, 0, 0, 145, 145, 145, 145, 145,
- 31, 0, 0, 145, 0, 0, 0, 0, 32, 0,
- 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
- 7, 127, 128, 10, 0, 0, 246, 1121, -526, 0,
- 0, 0, 134, 0, 0, 83, 0, 83, 0, 0,
- 0, 0, 1070, 83, 0, 83, 0, 0, 18, 0,
- 0, 248, 0, 7, 8, 9, 10, 248, 0, 21,
- 0, 0, 0, 852, 145, 145, 145, 0, 0, 737,
- 0, 0, 26, 911, 27, 28, 0, 145, 0, 758,
- 0, 18, 0, 0, 764, 0, 0, 0, 30, 0,
- 0, 0, 21, 0, 0, 0, 0, 0, 31, 0,
- 0, 0, 0, 0, 0, 26, 32, 27, 28, 805,
- 33, 0, 690, 0, 1177, 811, 0, 0, 911, 0,
- 0, 193, 0, 0, 0, 0, 0, 819, 820, 0,
- 821, 194, 0, 0, 0, 0, 0, 0, 0, 32,
- 0, 0, 0, 195, 0, 0, 0, 0, 0, 0,
- 145, 145, 0, 0, 145, 8, 9, 145, 167, 12,
- 13, 911, 248, 735, 0, 14, 145, 0, 248, 0,
- 933, 933, 933, 0, 1221, 0, 145, 0, 644, 16,
- 0, 17, 18, 0, 1232, 0, 0, 0, 20, 0,
- 0, 737, 0, 0, 0, 0, 0, 23, 0, 621,
- 0, 0, 0, 737, 0, 0, 26, 0, 130, 131,
- 0, 248, 0, 248, 0, 145, 145, 635, 0, 0,
- 0, 0, 622, 0, 0, 920, 921, 0, 0, 0,
- 920, 0, 623, 0, 0, 0, 0, 737, 0, 737,
- 0, 0, 0, 0, 624, 625, 0, 1267, 0, 0,
- 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
- 933, 0, 0, 0, 14, 0, 0, 0, 1282, 0,
- 0, 0, 0, 248, 145, 145, 145, 15, 16, 0,
- 17, 18, 19, 0, 0, 0, 0, 20, 784, 0,
- 248, 0, 21, 1070, 0, 22, 23, 24, 0, 25,
- 0, 0, 248, 0, 911, 26, 0, 27, 28, 0,
- 0, 29, 0, 0, 7, 127, 128, 10, 0, 0,
- 13, 30, 0, 83, 0, 0, 0, 0, 0, 0,
- 911, 31, 127, 128, 0, 0, 248, 519, 248, 32,
- 0, 0, 18, 33, 0, 0, 248, 0, 34, 0,
- 0, 0, 0, 21, 1031, 0, 0, 0, 0, 18,
- 911, 0, 0, 0, 0, 0, 26, 248, 27, 28,
- 0, 0, 145, 145, 0, 145, 621, 0, 0, 0,
- 0, 0, 149, 26, 0, 130, 131, 0, 0, 0,
- 0, 0, 150, 0, 0, 0, 0, 0, 145, 622,
- 32, 145, 145, 635, 151, 0, 0, 0, 0, 623,
- 0, 1090, 0, 1092, 0, 0, 0, 0, 0, 0,
- 0, 624, 625, 0, 145, 145, 145, 145, 145, 635,
- 145, 0, 0, 0, 145, 0, 0, 0, 0, 0,
- 0, 784, 582, 583, 584, 585, 586, 587, 588, 589,
- 590, 591, 592, 593, 594, 0, 911, 933, 933, 933,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
- 145, 145, 145, 0, 0, 0, 0, 0, 784, 0,
- 51, 0, 0, 0, 0, 0, 1127, 1128, 0, 1130,
- 8, 9, 0, 145, 0, 246, 0, 0, 145, 0,
- 0, 83, 0, 0, 0, 0, 51, 51, 0, 152,
- 0, 51, 0, 0, 1221, 0, 0, 18, 51, 0,
- 1149, 7, 8, 9, 10, 0, 0, 13, 0, 0,
- 0, 51, 0, 51, 621, 0, 0, 0, 0, 0,
- 0, 26, 0, 130, 131, 0, 0, 0, 0, 18,
- 145, 145, 145, 145, 145, 635, 254, 1505, 145, 0,
- 21, 0, 0, 0, 0, 0, 0, 1506, 0, 0,
- 0, 0, 1189, 26, 0, 27, 28, 0, 0, 1507,
- 625, 0, 0, 1453, 0, 0, 0, 0, 0, 193,
- 0, 0, 0, 0, 145, 635, 145, 0, 0, 194,
- 0, 0, 0, 0, 0, 0, 0, 32, 0, 396,
- 396, 195, 51, 248, 0, 0, 51, 51, 0, 0,
- 254, 0, 51, 0, 0, 152, 152, 152, 0, 0,
- 0, 0, 431, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 1237, 0, 0, 51, 0, 0, 0, 0,
- 0, 51, 51, 911, 1242, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 145, 145, 0, 145, 51,
- 51, 152, 0, 0, 0, 0, 0, 0, 0, 254,
- 0, 0, 0, 0, 0, 563, 0, 855, 0, 300,
- 8, 9, 10, 167, 12, 301, 302, 303, 51, 304,
- 14, 0, 0, 0, 690, 0, 0, 0, 0, 0,
- 0, 933, 0, 0, 16, 305, 17, 18, 19, 0,
- 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
- 313, 0, 23, 0, 0, 51, 314, 315, 316, 317,
- 318, 26, 1296, 27, 320, 1568, 0, -791, 321, 0,
- 145, 145, 635, 145, 322, 0, 0, 323, 0, 0,
- 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 330,
- 0, 0, 933, 933, 933, 0, 1313, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 331, 0, 0, 0,
- 0, 0, 145, 248, 0, 0, 560, 0, 145, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 396, 0, 0, 0, 0, 0, 0,
- 0, 254, 0, 0, 0, 0, 51, 785, 0, 7,
- 8, 786, 10, 167, 12, 13, 0, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 1400, 0, 0, 0,
- 1401, 0, 0, 0, 16, 0, 17, 18, 19, 396,
- 0, 0, 0, 20, -525, 0, 0, 0, 21, 0,
- 51, 0, 23, 787, 0, 168, 0, 0, 0, 0,
- 0, 26, 0, 27, 28, 51, 1418, 788, 51, 789,
- 0, 0, 0, 0, 431, 431, 431, 30, 0, 1423,
- 51, 0, 0, 0, 0, 0, 0, 31, 51, 0,
- 0, 7, 127, 128, 10, 32, 0, 519, 0, 33,
- 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
- 590, 591, 592, 593, 594, -525, 51, 51, 0, 18,
- 51, 0, 152, 152, 152, 431, 0, 0, 0, 51,
- 21, 8, 9, 0, 51, 12, 246, 51, 0, 0,
- 0, 14, 0, 26, 1478, 27, 28, 0, 1479, 0,
- 0, 0, 0, 0, 51, 16, 0, 17, 0, 30,
- 0, 0, 0, 0, 20, 0, 0, 0, 0, 31,
- 1494, 1495, 0, 23, 0, 0, 0, 32, 0, 0,
- 0, 33, 26, 560, 130, 131, 560, 0, 0, 0,
- 0, 0, 785, 0, 7, 8, 786, 10, 167, 12,
- 13, 0, 560, 560, 560, 14, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 560, 0, 16,
- 0, 17, 18, 19, 0, 0, 0, 0, 20, 0,
- 78, 0, 0, 21, 0, 0, 0, 23, 787, 0,
- 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
- 0, 0, 788, 0, 789, 0, 78, 78, 0, 78,
- 0, 78, 30, 0, 0, 254, 8, 9, 78, 167,
- 12, 13, 31, 0, 735, 0, 14, 560, 0, 0,
- 32, 78, 0, 78, 33, 0, 0, 0, 0, 0,
- 16, 0, 17, 18, 0, 0, 51, 8, 9, 20,
- 0, 0, 519, 0, 0, 0, 0, 0, 23, 0,
- 621, 0, 0, 0, 0, 0, 0, 26, 0, 130,
- 131, 0, 396, 0, 18, 0, 0, 0, 0, 396,
- 0, 0, 0, 1505, 0, 0, 0, 51, 51, 51,
- 51, 621, 0, 1506, 0, 0, 0, 0, 26, 0,
- 130, 131, 0, 0, 0, 1507, 625, 0, 0, 0,
- 0, 0, 78, 0, 1505, 0, 78, 78, 0, 0,
- 0, 0, 78, 0, 1506, 78, 78, 78, 0, 0,
- 0, 0, 0, 0, 51, 0, 1507, 625, 51, 0,
- 0, 78, 0, 0, 0, 78, 51, 51, 431, 431,
- 431, 78, 78, 0, 51, 0, 0, 0, 0, 0,
- 1385, 1386, 9, 10, 0, 0, 0, 0, 0, 78,
- 78, 78, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 0, 51, 0,
- 0, 0, 0, 51, 51, 0, 51, 0, 78, 21,
- 1550, 0, -479, -479, -479, -479, -479, -479, -479, 0,
- 0, -479, 26, -479, 27, 28, 0, 0, 0, 0,
- 1387, 560, 0, 0, -479, 0, -479, 0, 193, 0,
- -479, 0, 0, 0, 0, 78, -479, 0, 194, 0,
- 0, -479, 0, 0, 0, -479, 32, -479, 0, 0,
- 195, 0, 0, 0, -479, 0, -479, -479, -479, -479,
- -479, 0, -479, -479, -479, -479, -479, -479, -479, -479,
- -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
- -479, -479, -479, -479, -479, 0, -479, -479, -479, 0,
- -479, -479, -479, -479, -479, 0, -479, 8, 9, 0,
- 0, 1551, 13, 0, 0, 0, -479, -479, -479, 0,
- -479, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 560, 560, 560, 18, 0, 0, 431, 254, 0,
- 0, 0, 643, 0, 0, 0, 78, 0, 0, 0,
- 0, 621, 0, 0, 0, 0, 0, 0, 26, 0,
- 130, 131, 1385, 127, 128, 10, 0, 0, 0, 0,
- 0, 0, 0, 0, 1505, 0, 51, 51, 152, 0,
- 0, 0, 0, 254, 1506, 0, 0, 0, 0, 0,
- 78, 159, 0, 0, 0, 0, 1507, 625, 0, 0,
- 0, 21, 0, 0, 0, 78, 0, 0, 78, 0,
- 0, 0, 0, 204, 26, 0, 27, 28, 0, 0,
- 78, 1215, 1387, 0, 0, 0, 0, 0, 78, 0,
- 30, 0, 0, 7, 8, 9, 10, 214, 215, 216,
- 31, 0, 0, 0, 14, 0, 0, 0, 32, 0,
- 0, 0, 33, 0, 51, 0, 78, 78, 0, 0,
- 78, 18, 78, 78, 78, 0, 0, 20, 0, 78,
- 0, 0, 21, 0, 78, 254, 23, 78, 621, 0,
- 0, 0, 0, 0, 51, 26, 0, 27, 28, 0,
- 0, 0, 8, 9, 78, 0, 12, 13, 0, 0,
- 0, 970, 14, 0, 0, 0, 0, 159, 159, 159,
- 0, 971, 0, 0, 0, 0, 16, 0, 17, 32,
- 0, 0, 0, 1015, 625, 20, 0, 0, 0, 0,
- 0, 0, 0, 204, 23, 0, 0, 0, 0, 0,
- 0, 0, 0, 26, 0, 130, 131, 0, 0, 0,
- 0, 204, 204, 481, 0, 0, 0, 0, 0, 431,
- 0, 0, 431, 431, 431, 254, 0, 0, 0, 6,
- 0, 7, 8, 9, 10, 11, 12, 13, 0, 0,
- 204, 0, 14, 0, 0, 51, 51, 51, 152, 152,
- 152, 431, 0, 254, 0, 51, 16, 0, 17, 18,
- 0, 0, 0, 0, 0, 20, 643, 0, 0, 0,
- 21, 0, 0, 0, 23, 0, 0, 438, 1215, 1215,
- 1215, 0, 0, 26, 0, 27, 28, 0, 0, 29,
- 0, 0, 0, 0, 0, 0, 78, 0, 0, 30,
- 8, 9, 0, 167, 12, 13, 0, 0, 735, 31,
- 14, 0, 0, 0, 51, 0, 532, 32, 0, 51,
- 0, 33, 51, 0, 16, 0, 17, 18, 0, 0,
- 0, 0, 0, 20, 0, 0, 0, 78, 78, 78,
- 78, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 0, 130, 131, 7, 8, 9, 10, 205,
- 12, 206, 0, 0, 0, 0, 14, 628, 628, 628,
- 0, 431, 51, 51, 431, 431, 431, 0, 202, 51,
- 16, 0, 17, 18, 78, 0, 0, 0, 78, 20,
- 0, 0, 0, 0, 21, 0, 78, 78, 23, 1521,
- 0, 0, 0, 257, 78, 0, 261, 26, 0, 27,
- 28, 0, 0, 207, 0, 51, 51, 51, 0, 0,
- 0, 0, 204, 30, 0, 0, 0, 257, 0, 365,
- 0, 0, 0, 31, 0, 0, 78, 0, 78, 0,
- 0, 32, 0, 78, 78, 33, 78, 0, 0, 0,
- 1522, 573, 574, 575, 576, 577, 578, 579, 580, 581,
- 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
- 592, 593, 594, 0, 0, 0, 7, 8, 9, 10,
- 0, 0, 246, 0, 0, 0, 0, 0, 204, 204,
- 0, 0, 204, 0, 481, 481, 481, 756, 202, 0,
- 0, 204, 0, 0, 18, 0, 204, 0, 0, 204,
- 0, 0, 0, 0, 0, 21, 202, 202, 202, 0,
- 0, 0, 0, 0, 0, 0, 487, 0, 26, 0,
- 27, 28, 1215, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 193, 202, 0, 300, 8, 9,
- 10, 167, 12, 13, 194, 0, 735, 0, 14, 0,
- 0, 0, 32, 0, 0, 0, 195, 7, 8, 9,
- 10, 261, 16, 13, 17, 18, 0, 0, 0, 643,
- 0, 20, 0, 0, 0, 257, 21, 0, 0, 0,
- 23, 0, 621, 0, 0, 18, 0, 0, 0, 26,
- 0, 27, 320, 1215, 1215, 1215, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 1308, 78, 78, 78, 26,
- 0, 27, 28, 0, 0, 1309, 891, 0, 0, 51,
- 0, 0, 0, 32, 0, 476, 0, 1310, 625, 0,
- 628, 628, 628, 0, 0, 477, 0, 0, 0, 628,
- 0, 0, 0, 32, 0, 0, 0, 478, 0, 0,
- 0, 1217, 0, 0, 0, 0, 0, 0, 204, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 257, 261,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 300,
- 8, 9, 10, 0, 78, -388, 8, 9, -388, -388,
- 12, 246, 0, 0, 0, 0, 14, 0, 0, 974,
- 0, 974, 974, 0, 628, 0, 0, 18, 0, 0,
- 16, 0, 17, -388, 78, 0, 0, 202, 21, 20,
- 0, 0, 0, 0, -388, 0, 0, 0, 23, 0,
- 621, 26, 0, 27, 320, 0, 0, 26, 0, 130,
- 131, 0, 0, 0, 0, 0, 974, 752, 0, 0,
- 0, 0, 0, 622, 0, 0, 0, 753, 204, 204,
- 756, 756, 756, 623, 0, 32, 204, 0, 0, 754,
- 0, -388, 0, 0, 0, 624, 625, 0, 0, 0,
- 0, 0, 0, 202, 202, 0, 0, 202, 0, 202,
- 202, 202, 202, 0, 0, 0, 202, 0, 0, 0,
- 0, 202, 0, 0, 202, 204, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 78, 78, 78, 78, 78,
- 78, 0, 0, 0, 0, 78, 0, 532, 532, 532,
- 0, 0, 0, 7, 8, 9, 10, 167, 12, 13,
- 628, 0, 1020, 0, 14, 0, 0, 0, 1217, 1217,
- 1217, 0, 0, 0, 7, 8, 9, 10, 16, 0,
- 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
- 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
- 0, 0, 0, 0, 78, 26, 0, 27, 28, 78,
- 0, 0, 78, 21, 0, 0, 0, 0, 0, 0,
- 0, 30, 0, 0, 0, 0, 26, 0, 27, 28,
- 0, 31, 1460, 628, 628, 0, 0, 628, 0, 32,
- 628, 0, 193, 33, 0, 0, 0, 0, 0, 628,
- 0, 0, 194, 628, 628, 628, 0, 0, 0, 628,
- 32, 0, 78, 78, 195, 0, 0, 257, 261, 78,
- 0, 0, 0, 0, 0, 0, 1058, 8, 786, 10,
- 205, 12, 206, 202, 0, 0, 0, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 974, 974,
- 1188, 16, 0, 17, 18, 78, 78, 78, 0, 0,
- 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
- 0, 0, 0, 0, 202, 0, 202, 202, 26, 0,
- 27, 28, 0, 0, 0, 0, 1060, 0, 0, 0,
- 0, 0, 0, 1188, 30, 0, 0, 626, 626, 626,
- 7, 8, 9, 10, 31, 0, 519, 756, 756, 756,
- 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
- 0, 202, 0, 0, 0, 0, 204, 0, 18, 0,
- 0, 0, 0, 202, 202, 202, 202, 202, 487, 21,
- 0, 202, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
- 7, 8, 9, 10, 205, 12, 206, 261, 193, 0,
- 0, 14, 1217, 0, 0, 0, 0, 0, 194, 0,
- 202, 0, 0, 0, 0, 16, 32, 17, 18, 0,
- 195, 0, 0, 0, 20, 0, 0, 0, 0, 21,
- 0, 0, 0, 23, 0, 891, 891, 0, 891, 0,
- 0, 0, 26, 102, 27, 28, 0, 0, 1463, 0,
- 0, 0, 121, 102, 0, 0, 0, 0, 30, 102,
- 102, 628, 102, 0, 628, 628, 628, 0, 31, 0,
- 0, 0, 0, 1217, 1217, 1217, 32, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 0, 974, 974, 974,
- 1188, 1188, 1188, 1311, 235, 0, 0, 974, 0, 78,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 300, 8, 9, 10, 0, 0, 13,
- 1188, 1188, 1188, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 756, 756, 756, 756, 0, 0, 0, 0,
- 0, 18, 0, 0, 0, 257, 261, 257, 0, 0,
- 0, 0, 21, 389, 0, 121, 204, 0, 0, 0,
- 0, 0, 102, 102, 0, 26, 0, 27, 320, 102,
- 102, 0, 0, 102, 102, 102, 0, 417, 102, 102,
- 102, 752, 0, 202, 202, 1186, 0, 0, 0, 0,
- 257, 753, 0, 0, 0, 7, 8, 9, 10, 32,
- 626, 626, 626, 754, 0, 0, 0, 0, 0, 929,
- 0, 0, 0, 1311, 974, 974, 1311, 1311, 1311, 0,
- 0, 974, 0, 0, 0, 0, 0, 0, 1186, 0,
- 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
- 0, 0, 202, 202, 202, 0, 0, 26, 0, 27,
- 28, 0, 0, 0, 0, 0, 18, 204, 0, 204,
- 0, 202, 0, 193, 0, 0, 0, 235, 102, 626,
- 0, 626, 626, 194, 626, 0, 0, 0, 0, 0,
- 0, 32, 487, 0, 0, 195, 0, 0, 102, 573,
- 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
- 594, 0, 0, 0, 8, 9, 626, 167, 12, 13,
- 0, 0, 1589, 0, 14, 0, 0, 102, 1311, 1311,
- 0, 1311, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 0, 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, 0,
- 0, 0, 257, 0, 481, 0, 102, 0, 102, 102,
+ 593, 594, 26, 0, 27, 28, 0, 0, 145, 145,
+ 0, 0, 145, 0, 145, 145, 145, 145, 149, 0,
+ 0, 145, 0, 0, 0, 0, 145, 0, 150, 145,
+ 1185, 0, 0, 0, 748, 749, 32, 765, 0, 0,
+ 151, 0, 0, 0, 0, 783, 83, 0, 0, 0,
+ 0, 300, 8, 9, 10, 7, 8, 9, 10, 205,
+ 12, 206, 0, 0, 0, 0, 14, 0, 0, 755,
+ 755, 1416, 755, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 17, 18, 248, 248, 248, 248, 0, 20,
+ 21, 0, 0, 0, 21, 0, 0, 251, 23, 0,
+ 0, 1185, 1185, 1185, 0, 27, 320, 26, 0, 27,
+ 28, 0, 0, 207, 0, 0, 0, 0, 0, 472,
+ 475, 755, 104, 30, 0, 0, 0, 203, 0, 252,
+ 0, 0, 0, 31, 0, 0, 0, 32, 0, 0,
+ 0, 32, 0, 0, 248, 33, 145, 0, 0, 0,
+ 0, 472, 475, 0, 0, 0, 0, 0, 8, 9,
+ 145, 145, 635, 246, 0, 0, 0, 0, 0, 932,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 202, 202, 202, 202, 202, 1186, 202, 0,
- 1312, 0, 202, 0, 0, 0, 0, 0, 0, 0,
- 626, 0, 0, 1311, 1311, 1311, 1311, 0, 0, 0,
- 0, 0, 102, 0, 0, 1186, 1186, 1186, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 202, 202, 202,
- 202, 102, 0, 0, 0, 481, 481, 481, 102, 0,
- 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 202, 0, 102, 0, 1311, 0, 0, 0, 0,
- 0, 204, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 626, 626, 0, 0, 626, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 0, 626,
- 0, 0, 0, 929, 929, 929, 0, 0, 0, 626,
- 0, 0, 0, 0, 0, 0, 0, 0, 202, 202,
- 202, 202, 202, 1186, 0, 0, 202, 0, 0, 0,
- 0, 0, 0, 0, 102, 0, 777, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 626, 626,
- 626, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 102, 0, 202, 0, 202, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 300, 8, 9,
- 10, 0, 12, 301, 302, 303, 0, 304, 14, 0,
- 0, 0, 0, 929, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
- 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
- 23, 0, 621, 0, 314, 315, 316, 317, 318, 26,
- 0, 27, 320, 202, 202, 1312, 202, 102, 0, 0,
- 0, 0, 322, 0, 0, 925, 0, 0, 102, 102,
- 0, 102, 102, 324, 325, 926, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 927, 625, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186,
- 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
- 8, 9, 0, 205, 12, 206, 0, 0, 0, 0,
- 14, 0, 0, 0, 0, 102, 0, 0, 0, 0,
- 0, 0, 102, 121, 16, 0, 17, 18, 202, 202,
- 1186, 202, 0, 20, 235, 0, 0, 0, 0, 0,
- 0, 626, 23, 0, 626, 626, 626, 0, 0, 0,
- 0, 26, 0, 130, 131, 0, 0, 0, 777, 0,
- 1186, 1186, 1186, 0, 0, 0, 0, 626, 626, 626,
- 626, 626, 626, 626, 0, 0, 0, 626, 0, 0,
- 202, 0, 0, 0, 0, 0, 202, 0, 0, 0,
+ 0, 0, 644, 0, 0, 18, 0, 0, 145, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 929, 929, 929, 577, 578, 579, 580, 581, 582, 583,
+ 0, 0, 621, 0, 0, 0, 0, 0, 0, 26,
+ 0, 130, 131, 784, 683, 7, 8, 785, 10, 167,
+ 12, 13, 126, 0, 0, 1499, 14, 0, 0, 145,
+ 635, 145, 145, 239, 635, 1500, 0, 0, 0, 0,
+ 16, 0, 17, 18, 19, 0, 0, 1501, 625, 20,
+ -521, 0, 0, 0, 21, 0, 0, 783, 23, 786,
+ 0, 168, 0, 0, 0, 0, 0, 26, 0, 27,
+ 28, 0, 0, 787, 0, 788, 145, 0, 0, 0,
+ 635, 0, 0, 30, 0, 0, 0, 0, 145, 145,
+ 145, 145, 145, 31, 0, 0, 145, 0, 0, 0,
+ 0, 32, 0, 0, 0, 33, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
- 594, 0, 0, 777, 0, 0, 102, 573, 574, 575,
- 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 591, 592, 593, 594, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 102, 102,
- 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 102, 0, 0, 1272, 0, 555, 0, 300, 8,
- 9, 10, 167, 12, 301, 302, 303, 735, 304, 14,
- 0, 0, 0, 626, 626, 626, 626, 626, 626, 0,
- 0, 626, 0, 16, 305, 17, 18, 19, 0, 306,
- 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
- 0, 23, 0, 621, 0, 314, 315, 316, 317, 318,
- 26, 0, 27, 320, -313, 0, 0, 321, 0, 0,
- 0, 0, 0, 322, 102, 102, 925, 0, 102, 0,
- 0, 102, 0, 0, 324, 325, 926, 0, 0, 0,
- 102, 0, 327, 328, 329, 0, 0, 0, 927, 625,
- 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 663, 0, 0, 331, 573, 574, 575, 576,
- 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
- 587, 588, 589, 590, 591, 592, 593, 594, 626, 626,
- 0, 626, 0, 0, 0, 0, 0, 0, 0, 1468,
- 0, 1323, 1324, 1325, 10, 167, 12, 301, 302, 303,
- 0, 304, 14, 1326, 0, 1327, 1328, 1329, 1330, 1331,
- 1332, 1333, 1334, 1335, 1336, 15, 16, 305, 17, 18,
- 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
- 21, 312, 313, 1337, 23, 1338, 0, 0, 314, 315,
- 316, 317, 318, 26, 0, 1339, 320, 722, 0, 1340,
- 321, 0, 777, 0, 0, 0, 322, 0, 0, 323,
- 0, 0, 0, 626, 626, 626, 626, 324, 325, 326,
- 0, 0, 0, 0, 0, 327, 328, 329, 0, 102,
- 0, 330, 0, 1341, 0, 0, 0, 0, 0, 7,
- 8, 9, 10, 167, 12, 13, 0, 1469, 331, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 626, 17, 18, 0, 0,
- 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
- 0, 0, 23, 0, 0, 0, 102, 102, 0, 102,
- 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
- 0, 0, 102, 0, 0, 102, 102, 31, 0, 0,
- 0, 0, 0, 0, 0, 32, 0, 0, 0, 33,
+ 594, -521, 0, 0, 134, 0, 0, 83, 0, 83,
+ 0, 0, 0, 0, 1068, 83, 0, 83, 263, 0,
+ 0, 8, 9, 248, 0, 12, 13, 0, 0, 248,
+ 0, 14, 0, 0, 0, 0, 145, 145, 145, 0,
+ 0, 0, 0, 0, 0, 16, 0, 17, 0, 145,
+ 0, 0, 0, 0, 20, 0, 264, 265, 0, 0,
+ 0, 0, 0, 23, 0, 266, 0, 0, 0, 0,
+ 0, 0, 26, 0, 130, 131, 0, 267, 0, 0,
+ 0, 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, 292, 0,
+ 0, 293, 0, 0, 0, 0, 0, 0, 300, 8,
+ 9, 10, 145, 145, 0, 0, 145, 294, 0, 145,
+ 0, 0, 0, 0, 248, 0, 0, 0, 145, 0,
+ 248, 0, 932, 932, 932, 0, 0, 0, 145, 0,
+ 644, 0, 0, 0, 0, 0, 0, 21, 0, 0,
+ 0, 0, 0, 0, 251, 0, 0, 0, 0, 0,
+ 0, 0, 27, 320, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 248, 0, 248, 0, 145, 145, 635,
+ 51, 0, 0, 0, 0, 0, 522, 7, 8, 9,
+ 10, 167, 12, 13, 32, 0, 735, 0, 14, 0,
+ 0, 0, 0, 0, 0, 0, 51, 51, 0, 152,
+ 0, 51, 16, 0, 17, 18, 0, 0, 51, 0,
+ 0, 20, 932, 0, 0, 0, 21, 0, 0, 0,
+ 23, 51, 621, 51, 0, 248, 145, 145, 145, 26,
+ 0, 27, 28, 0, 0, 0, 0, 0, 0, 783,
+ 0, 248, 0, 0, 1068, 1180, 254, 0, 0, 0,
+ 0, 0, 0, 248, 0, 1181, 0, 0, 0, 0,
+ 0, 0, 0, 32, 0, 0, 0, 1182, 625, 0,
+ 0, 0, 0, 0, 83, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 248, 0, 248,
+ 0, 0, 0, 0, 0, 0, 0, 248, 0, 396,
+ 396, 0, 51, 0, 0, 0, 51, 51, 0, 0,
+ 254, 0, 51, 0, 0, 152, 152, 152, 248, 0,
+ 0, 0, 431, 145, 145, 0, 145, 0, 0, 0,
+ 0, 51, 0, 0, 0, 51, 0, 0, 0, 0,
+ 0, 51, 51, 0, 0, 0, 0, 0, 0, 145,
+ 0, 0, 145, 145, 635, 0, 0, 0, 0, 51,
+ 51, 152, 127, 128, 0, 0, 215, 216, 0, 254,
+ 0, 0, 14, 0, 0, 145, 145, 145, 145, 145,
+ 635, 145, 0, 0, 0, 145, 0, 0, 51, 0,
+ 0, 0, 783, 0, 0, 20, 0, 0, 0, 0,
+ 0, 0, 0, 0, 23, 0, 621, 0, 932, 932,
+ 932, 0, 0, 26, 0, 130, 131, 0, 0, 0,
+ 145, 145, 145, 145, 0, 51, 0, 783, 784, 622,
+ 7, 8, 785, 10, 167, 12, 13, 0, 0, 623,
+ 0, 14, 145, 0, 0, 0, 0, 145, 0, 0,
+ 83, 631, 625, 0, 0, 16, 0, 17, 18, 19,
+ 0, 0, 0, 0, 20, -522, 0, 0, 0, 21,
+ 0, 0, 0, 23, 786, 0, 168, 0, 0, 0,
+ 0, 0, 26, 0, 27, 28, 0, 0, 787, 0,
+ 788, 0, 0, 0, 0, 0, 560, 0, 30, 145,
+ 145, 145, 145, 145, 635, 0, 0, 145, 31, 0,
+ 0, 0, 0, 396, 8, 9, 32, 167, 12, 13,
+ 33, 254, 735, 0, 14, 0, 51, 0, 0, 0,
+ 0, 0, 1447, 0, 0, 0, -522, 0, 16, 0,
+ 17, 18, 0, 145, 635, 145, 0, 20, 0, 0,
+ 0, 0, 0, 0, 0, 0, 23, 0, 621, 396,
+ 0, 0, 248, 0, 0, 26, 0, 130, 131, 0,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 622, 0, 0, 0, 51, 0, 0, 51, 0,
+ 0, 623, 0, 0, 431, 431, 431, 0, 0, 0,
+ 51, 0, 0, 624, 625, 0, 0, 0, 51, 0,
+ 0, 0, 145, 145, 0, 145, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
+ 10, 214, 215, 216, 0, 0, 51, 51, 14, 0,
+ 51, 0, 152, 152, 152, 431, 0, 0, 0, 51,
+ 0, 0, 0, 0, 51, 18, 0, 51, 932, 0,
+ 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
+ 23, 0, 621, 0, 51, 0, 0, 0, 0, 26,
+ 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 193, 0, 145, 145, 635,
+ 145, 0, 0, 560, 0, 194, 560, 0, 0, 78,
+ 0, 0, 0, 32, 0, 0, 0, 1460, 0, 0,
+ 0, 0, 560, 560, 560, 0, 0, 0, 0, 932,
+ 932, 932, 0, 0, 0, 78, 78, 560, 78, 0,
+ 78, 0, 0, 0, 0, 0, 0, 78, 0, 145,
+ 248, 0, 0, 0, 0, 145, 0, 0, 0, 0,
+ 78, 0, 78, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 784, 0, 7, 8, 785, 10, 167,
+ 12, 13, 0, 0, 0, 254, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 560, 0, 0,
+ 16, 0, 17, 18, 19, 0, 0, 0, 0, 20,
+ 0, 0, 0, 0, 21, 0, 51, 0, 23, 786,
+ 0, 168, 0, 7, 8, 9, 10, 26, 0, 27,
+ 28, 0, 0, 787, 0, 788, 0, 0, 0, 0,
+ 0, 78, 396, 30, 0, 78, 78, 0, 0, 396,
+ 0, 78, 0, 31, 78, 78, 78, 51, 51, 51,
+ 51, 32, 21, 0, 0, 33, 0, 0, 0, 0,
+ 78, 0, 0, 0, 78, 26, 0, 27, 28, 0,
+ 78, 78, 7, 8, 9, 10, 0, 0, 13, 0,
+ 0, 193, 0, 0, 0, 0, 0, 0, 78, 78,
+ 78, 194, 0, 0, 51, 0, 0, 0, 51, 32,
+ 18, 0, 0, 195, 0, 0, 51, 51, 431, 431,
+ 431, 21, 0, 0, 51, 0, 0, 78, 0, 0,
+ 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1322, 0, 1323, 1324, 1325, 10,
- 167, 12, 301, 302, 303, 777, 304, 14, 1326, 0,
- 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336,
- 15, 16, 305, 17, 18, 19, 0, 306, 307, 308,
- 20, 0, 309, 310, 311, 21, 312, 313, 1337, 23,
- 1338, 0, 777, 314, 315, 316, 317, 318, 26, 0,
- 1339, 320, 722, 0, 1340, 321, 0, 0, 0, 0,
- 102, 322, 102, 0, 323, 0, 0, 0, 0, 0,
- 0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 330, 555, 1341, 7,
- 8, 9, 10, 167, 12, 301, 302, 303, 735, 304,
- 14, 0, 0, 331, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 305, 17, 18, 19, 0,
- 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
- 313, 0, 23, 0, 621, 0, 314, 315, 316, 317,
- 318, 26, 0, 27, 28, -313, 0, 0, 321, 0,
- 0, 0, 0, 0, 322, 0, 0, 1212, 0, 0,
- 0, 0, 0, 0, 0, 324, 325, 1213, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 1214,
- 625, 734, 0, 300, 8, 9, 10, 167, 12, 301,
- 302, 303, 735, 304, 14, 0, 331, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
+ 193, 0, 0, 0, 0, 51, 0, 51, 0, 0,
+ 194, 0, 51, 51, 78, 51, 0, 0, 32, 0,
+ 0, 0, 195, 0, 0, 0, 1544, 0, -479, -479,
+ -479, -479, -479, -479, -479, 0, 0, -479, 0, -479,
+ 560, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -479, 0, -479, 0, 0, 0, -479, 0, 0, 0,
+ 0, 0, -479, 0, 0, 0, 0, -479, 0, 0,
+ 0, -479, 0, -479, 0, 0, 0, 0, 0, 0,
+ -479, 0, -479, -479, -479, -479, -479, 0, -479, -479,
+ -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
+ -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
+ -479, 643, -479, -479, -479, 78, -479, -479, -479, -479,
+ -479, 0, -479, 0, 0, 0, 0, 1545, 0, 0,
+ 0, 0, -479, -479, -479, 0, -479, 0, 0, 0,
+ 560, 560, 560, 0, 0, 0, 431, 254, 0, 0,
+ 0, 127, 128, 159, 0, 215, 216, 0, 0, 78,
+ 0, 14, 0, 0, 0, 0, 0, 0, 0, 7,
+ 8, 9, 10, 0, 78, 204, 0, 78, 0, 0,
+ 0, 0, 0, 0, 20, 51, 51, 152, 0, 78,
+ 0, 0, 254, 23, 0, 621, 0, 78, 0, 0,
+ 0, 0, 26, 0, 130, 131, 0, 0, 21, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 622, 0,
+ 0, 26, 0, 27, 28, 78, 78, 192, 623, 78,
+ 1213, 78, 78, 78, 0, 0, 0, 193, 78, 0,
+ 624, 625, 0, 78, 0, 0, 78, 194, 0, 0,
+ 0, 0, 0, 0, 0, 32, 0, 0, 0, 195,
+ 0, 0, 51, 78, 0, 0, 0, 0, 0, 159,
+ 159, 159, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
+ 0, 0, 51, 0, 0, 204, 0, 0, 555, 0,
+ 300, 8, 9, 10, 167, 12, 301, 302, 303, 735,
+ 304, 14, 0, 204, 204, 481, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
+ 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
+ 312, 313, 204, 23, 0, 621, 0, 314, 315, 316,
+ 317, 318, 26, 0, 27, 320, -313, 0, 0, 321,
+ 0, 0, 0, 0, 0, 322, 0, 431, 924, 0,
+ 431, 431, 431, 254, 0, 643, 324, 325, 925, 0,
+ 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
+ 926, 625, 0, 51, 51, 51, 152, 152, 152, 431,
+ 0, 254, 0, 51, 0, 78, 0, 331, 0, 0,
+ 8, 9, 0, 0, 12, 246, 0, 0, 532, 0,
+ 14, 0, 0, 0, 0, 0, 1213, 1213, 1213, 0,
+ 0, 0, 0, 0, 16, 0, 17, 0, 0, 0,
+ 0, 0, 0, 20, 0, 0, 78, 78, 78, 78,
+ 0, 0, 23, 0, 621, 0, 0, 0, 0, 0,
+ 51, 26, 0, 130, 131, 51, 0, 0, 51, 628,
+ 628, 628, 0, 0, 0, 0, 0, 622, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 623, 7, 127,
+ 128, 10, 0, 78, 519, 0, 0, 78, 0, 624,
+ 625, 0, 0, 0, 0, 78, 78, 0, 0, 0,
+ 0, 0, 0, 78, 0, 0, 18, 431, 51, 51,
+ 431, 431, 431, 0, 204, 51, 0, 21, 0, 0,
+ 0, 8, 9, 0, 167, 12, 13, 0, 0, 0,
+ 26, 14, 27, 28, 78, 0, 78, 0, 0, 0,
+ 0, 78, 78, 0, 78, 16, 30, 17, 18, 0,
+ 0, 51, 51, 51, 20, 0, 31, 0, 0, 0,
+ 0, 0, 0, 684, 32, 0, 168, 0, 33, 0,
+ 0, 0, 26, 0, 130, 131, 0, 0, 0, 0,
+ 204, 204, 0, 0, 204, 0, 481, 481, 481, 756,
+ 0, 0, 0, 204, 0, 0, 0, 0, 204, 0,
+ 0, 204, 1462, 0, 1319, 1320, 1321, 10, 167, 12,
+ 301, 302, 303, 0, 304, 14, 1322, 0, 1323, 1324,
+ 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 15, 16,
+ 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
+ 309, 310, 311, 21, 312, 313, 1333, 23, 1334, 0,
+ 0, 314, 315, 316, 317, 318, 26, 0, 1335, 320,
+ 722, 0, 1336, 321, 0, 0, 1213, 0, 0, 322,
+ 0, 0, 323, 0, 0, 0, 0, 643, 0, 202,
+ 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
+ 329, 0, 0, 0, 330, 0, 1337, 1379, 1380, 9,
+ 10, 0, 0, 0, 257, 0, 0, 261, 0, 0,
+ 1463, 331, 0, 0, 78, 78, 78, 0, 890, 0,
+ 0, 0, 0, 0, 369, 371, 0, 0, 257, 0,
+ 365, 0, 628, 628, 628, 0, 21, 1213, 1213, 1213,
+ 6, 628, 7, 8, 9, 10, 11, 12, 13, 26,
+ 0, 27, 28, 14, 0, 0, 0, 1381, 0, 1215,
+ 204, 0, 0, 51, 0, 193, 15, 16, 0, 17,
+ 18, 19, 0, 0, 0, 194, 20, 0, 0, 0,
+ 0, 21, 0, 32, 22, 23, 24, 195, 25, 0,
+ 0, 78, 0, 0, 26, 0, 27, 28, 0, 202,
+ 29, 973, 0, 973, 973, 0, 628, 0, 0, 0,
+ 30, 0, 0, 0, 0, 0, 0, 202, 202, 202,
+ 31, 78, 0, 0, 0, 0, 0, 487, 32, 0,
+ 0, 0, 33, 0, 0, 0, 0, 34, 0, 0,
+ 0, 0, 0, 0, 0, 0, 202, 0, 973, 0,
+ 0, 0, 0, 7, 8, 9, 10, 0, 0, 246,
+ 204, 204, 756, 756, 756, 0, 0, 0, 204, 0,
+ 0, 0, 261, 0, 0, 0, 0, 0, 0, 0,
+ 0, 18, 0, 0, 0, 0, 257, 0, 0, 0,
+ 0, 0, 21, 0, 0, 0, 0, 0, 1379, 127,
+ 128, 10, 0, 0, 0, 26, 204, 27, 28, 8,
+ 9, 0, 167, 12, 13, 0, 0, 735, 0, 14,
+ 0, 193, 78, 78, 78, 78, 78, 78, 532, 532,
+ 532, 194, 78, 16, 0, 17, 18, 21, 0, 32,
+ 0, 628, 20, 195, 0, 0, 0, 563, 0, 0,
+ 26, 23, 27, 28, 0, 1215, 1215, 1215, 1381, 0,
+ 26, 0, 130, 131, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 31, 0, 0, 257,
+ 261, 0, 0, 0, 32, 0, 0, 0, 33, 78,
+ 0, 0, 0, 0, 78, 0, 784, 78, 7, 8,
+ 785, 10, 167, 12, 13, 0, 0, 0, 0, 14,
+ 0, 0, 0, 0, 628, 628, 0, 0, 628, 690,
+ 0, 628, 0, 16, 0, 17, 18, 19, 202, 0,
+ 628, 0, 20, -524, 628, 628, 628, 21, 0, 0,
+ 628, 23, 786, 0, 168, 0, 0, 78, 78, 0,
+ 26, 0, 27, 28, 78, 0, 787, 0, 788, 0,
+ 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 31, 0, 0, 973,
+ 973, 1186, 0, 0, 32, 737, 0, 0, 33, 0,
+ 78, 78, 78, 0, 202, 202, 0, 0, 202, 0,
+ 202, 202, 202, 202, -524, 0, 0, 202, 0, 0,
+ 0, 0, 202, 0, 0, 202, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1186, 0, 8, 9, 0, 0,
+ 0, 519, 0, 0, 0, 0, 0, 0, 756, 756,
+ 756, 0, 166, 0, 7, 8, 9, 10, 167, 12,
+ 13, 0, 0, 18, 823, 14, 204, 826, 0, 0,
+ 0, 0, 829, 830, 832, 833, 834, 0, 0, 16,
+ 621, 17, 18, 19, 0, 563, 0, 26, 20, 130,
+ 131, 0, 0, 21, 0, 0, 0, 23, 851, 0,
+ 168, 0, 0, 1499, 0, 0, 26, 0, 27, 28,
+ 0, 0, 0, 1500, 0, 1215, 0, 0, 0, 0,
+ 0, 0, 30, 0, 0, 1501, 625, 0, 0, 0,
+ 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
+ 32, 0, 0, 0, 33, 890, 890, 0, 890, 34,
+ 0, 910, 0, 0, 0, 0, 0, 0, 910, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 257, 261,
+ 0, 628, 0, 0, 628, 628, 628, 0, 0, 0,
+ 0, 0, 0, 0, 202, 0, 1215, 1215, 1215, 0,
+ 0, 0, 0, 0, 0, 0, 0, 973, 973, 973,
+ 1186, 1186, 1186, 1307, 0, 0, 0, 973, 0, 0,
+ 0, 0, 78, 300, 8, 9, 10, 167, 12, 13,
+ 0, 0, 735, 0, 14, 202, 0, 202, 202, 0,
+ 1186, 1186, 1186, 0, 0, 0, 0, 0, 16, 0,
+ 17, 18, 756, 756, 756, 756, 0, 20, 0, 0,
+ 0, 0, 21, 0, 0, 0, 23, 0, 621, 0,
+ 0, 0, 0, 0, 204, 26, 0, 27, 320, 690,
+ 0, 0, 202, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1154, 0, 0, 202, 202, 202, 202, 202, 487,
+ 0, 1155, 202, 0, 0, 0, 0, 0, 0, 32,
+ 0, 0, 0, 1156, 625, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 261, 0, 0,
+ 0, 1307, 973, 973, 1307, 1307, 1307, 0, 0, 973,
+ 202, 0, 737, 626, 626, 626, 0, 0, 737, 0,
+ 0, 734, 0, 300, 8, 9, 10, 167, 12, 301,
+ 302, 303, 735, 304, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 204, 0, 204, 16, 305,
17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
- 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
+ 0, 0, 321, 0, 0, 0, 0, 1119, 322, 0,
0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 725, 330, 843, 844, 845, 10, 0, 12,
- 536, 302, 303, 0, 304, 14, 0, 0, -801, 0,
- 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
+ 0, 0, 0, 330, 1307, 1307, 0, 1307, 0, 0,
+ 0, 0, 0, 851, 0, 0, 0, 0, -799, 737,
+ 331, 0, 0, 910, 0, 0, 0, 1056, 8, 785,
+ 10, 205, 12, 206, 0, 257, 261, 257, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 481, 0, 16, 0, 17, 18, 0, 0, 0, 0,
+ 0, 20, 690, 0, 1175, 0, 21, 0, 910, 0,
+ 23, 0, 0, 202, 202, 1184, 0, 0, 0, 26,
+ 257, 27, 28, 0, 0, 0, 0, 1058, 0, 1307,
+ 1307, 1307, 1307, 102, 0, 30, 0, 0, 0, 0,
+ 0, 0, 121, 102, 0, 31, 0, 0, 0, 102,
+ 102, 910, 102, 32, 0, 0, 0, 33, 1184, 0,
+ 0, 481, 481, 481, 1219, 0, 0, 0, 0, 0,
+ 0, 0, 202, 202, 202, 0, 0, 0, 0, 0,
+ 737, 1307, 0, 0, 235, 0, 0, 204, 0, 0,
+ 202, 0, 737, 0, 7, 8, 9, 10, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 487, 0, 0, 0, 0, 626, 626, 626, 0,
+ 0, 0, 18, 0, 0, 928, 737, 0, 737, 0,
+ 0, 0, 0, 21, 0, 0, 1263, 0, 0, 0,
+ 0, 0, 0, 389, 0, 121, 26, 0, 27, 28,
+ 0, 0, 102, 102, 0, 0, 0, 1278, 0, 102,
+ 102, 0, 476, 102, 102, 102, 0, 417, 102, 102,
+ 102, 0, 477, 0, 0, 0, 0, 0, 0, 0,
+ 32, 0, 0, 0, 478, 626, 0, 626, 626, 0,
+ 626, 0, 0, 910, 0, 0, 0, 0, 0, 0,
+ 0, 257, 578, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 591, 592, 593, 594, 910,
+ 0, 202, 202, 202, 202, 202, 1184, 202, 0, 1308,
+ 0, 202, 626, 0, 0, 0, 0, 300, 8, 9,
+ 10, 167, 12, 13, 0, 0, 735, 0, 14, 910,
+ 0, 0, 0, 0, 1184, 1184, 1184, 235, 102, 0,
+ 0, 0, 16, 0, 17, 18, 202, 202, 202, 202,
+ 0, 20, 0, 0, 0, 0, 21, 0, 102, 0,
+ 23, 0, 621, 0, 0, 8, 9, 0, 202, 26,
+ 13, 27, 320, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1304, 0, 0, 0, 0,
+ 0, 0, 18, 0, 0, 1305, 0, 102, 7, 8,
+ 9, 10, 0, 32, 0, 626, 0, 1306, 625, 621,
+ 0, 0, 0, 0, 0, 0, 26, 0, 130, 131,
+ 0, 0, 0, 910, 0, 202, 202, 202, 202, 202,
+ 1184, 0, 1499, 202, 0, 0, 0, 21, 0, 0,
+ 0, 0, 1500, 0, 0, 0, 102, 0, 102, 102,
+ 26, 0, 27, 28, 1501, 625, 1454, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 193, 0, 0, 202,
+ 0, 202, 0, 0, 0, 0, 194, 0, 626, 626,
+ 0, 1219, 626, 0, 32, 626, 0, 0, 195, 0,
+ 0, 0, 102, 0, 626, 0, 0, 0, 928, 928,
+ 928, 0, 0, 0, 626, 0, 0, 0, 0, 0,
+ 0, 102, 0, 0, 0, 0, 0, 0, 102, 0,
+ 0, 102, 854, 0, 300, 8, 9, 10, 167, 12,
+ 301, 302, 303, 102, 304, 14, 0, 0, 202, 202,
+ 1308, 202, 0, 626, 626, 626, 0, 0, 0, 16,
+ 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
- 0, 314, 315, 316, 317, 318, 26, 0, 846, 847,
- 726, 0, 0, 321, 0, 0, 0, 0, 0, 322,
+ 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
+ 1562, 0, -789, 321, 1184, 0, 0, 0, 928, 322,
0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
- 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 330, 848, 555, 0, 300, 8,
- 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
- 1007, 331, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
- 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
- 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
- 26, 0, 27, 320, -313, 0, 0, 321, 0, 0,
- 0, 0, 0, 322, 0, 0, 556, 0, 0, 0,
- 0, 0, 0, 0, 324, 325, 557, 0, 0, 0,
- 0, 0, 327, 328, 329, 0, 0, 725, 558, 843,
- 844, 845, 10, 0, 12, 536, 302, 303, 0, 304,
- 14, 0, 0, 0, 0, 331, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
+ 324, 325, 326, 0, 102, 0, 776, 0, 327, 328,
+ 329, 0, 0, 0, 330, 0, 0, 0, 910, 0,
+ 0, 0, 0, 202, 202, 1184, 202, 0, 0, 0,
+ 102, 331, 0, 0, 0, 0, 0, 7, 8, 9,
+ 10, 167, 12, 13, 0, 0, 0, 0, 14, 0,
+ 563, 0, 0, 0, 0, 1184, 1184, 1184, 0, 0,
+ 0, 0, 16, 0, 17, 18, 19, 0, 0, 690,
+ 0, 20, 0, 0, 0, 202, 21, 0, 0, 0,
+ 23, 202, 0, 168, 0, 0, 0, 0, 0, 26,
+ 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 30, 0, 102, 0, 0,
+ 0, 0, 0, 0, 0, 31, 0, 0, 102, 102,
+ 0, 102, 102, 32, 0, 626, 0, 33, 626, 626,
+ 626, 0, 34, 784, 0, 7, 8, 785, 10, 167,
+ 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 626, 626, 626, 626, 626, 626, 626, 0, 0,
+ 16, 626, 17, 18, 19, 0, 0, 0, 0, 20,
+ -523, 0, 0, 0, 21, 102, 0, 0, 23, 786,
+ 0, 168, 102, 121, 928, 928, 928, 26, 0, 27,
+ 28, 1515, 0, 787, 235, 788, 0, 0, 0, 0,
+ 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 0, 0, 0, 776, 0,
+ 0, 32, 0, 0, 0, 33, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -523, 1516, 573, 574, 575, 576, 577, 578, 579,
+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
+ 590, 591, 592, 593, 594, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 626, 626, 626, 626, 626,
+ 626, 0, 776, 626, 0, 102, 0, 0, 0, 0,
+ 0, 0, 0, 555, 0, 7, 8, 9, 10, 167,
+ 12, 301, 302, 303, 735, 304, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 102, 102, 102,
+ 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
+ 102, 309, 310, 311, 21, 312, 313, 0, 23, 0,
+ 621, 0, 314, 315, 316, 317, 318, 26, 0, 27,
+ 28, -313, 0, 0, 321, 0, 0, 0, 0, 0,
+ 322, 0, 0, 1210, 0, 0, 7, 127, 128, 10,
+ 0, 324, 325, 1211, 0, 0, 0, 0, 0, 327,
+ 328, 329, 0, 0, 0, 1212, 625, 0, 626, 626,
+ 0, 626, 0, 0, 18, 0, 0, 0, 0, 0,
+ 0, 0, 331, 102, 102, 21, 0, 102, 0, 0,
+ 102, 0, 0, 0, 0, 0, 0, 0, 26, 102,
+ 27, 28, 0, 0, 0, 0, 0, 0, 0, 102,
+ 0, 0, 0, 0, 149, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
+ 0, 0, 32, 0, 0, 0, 151, 579, 580, 581,
+ 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
+ 592, 593, 594, 626, 626, 626, 626, 1318, 0, 1319,
+ 1320, 1321, 10, 167, 12, 301, 302, 303, 0, 304,
+ 14, 1322, 0, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
+ 1330, 1331, 1332, 15, 16, 305, 17, 18, 19, 0,
306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
- 313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
- 318, 26, 0, 846, 847, 726, 0, 0, 321, 0,
- 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
- 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 330,
- 848, 725, 0, 843, 844, 845, 10, 0, 12, 536,
- 302, 303, 0, 304, 14, 0, 331, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
- 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
- 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
- 314, 315, 316, 317, 318, 26, 0, 846, 847, 726,
- 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
- 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
- 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 725, 330, 843, 844, 845, 10, 0, 12,
- 536, 302, 303, 0, 304, 14, 0, 0, 0, -483,
- 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
+ 313, 1333, 23, 1334, 0, 626, 314, 315, 316, 317,
+ 318, 26, 0, 1335, 320, 722, 0, 1336, 321, 0,
+ 776, 0, 0, 0, 322, 0, 0, 323, 0, 0,
+ 0, 0, 0, 0, 18, 324, 325, 326, 0, 0,
+ 0, 0, 0, 327, 328, 329, 0, 102, 0, 330,
+ 0, 1337, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 331, 573, 574, 575,
+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 591, 592, 593, 594, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 102, 102, 0, 102, 725, 0,
+ 842, 843, 844, 10, 0, 12, 536, 302, 303, 0,
+ 304, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 102, 0, 0, 102, 102, 16, 305, 17, 0, 19,
+ 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
+ 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
+ 317, 318, 26, 0, 845, 846, 726, 0, 0, 321,
+ 0, 0, 0, 776, 0, 322, 0, 0, 323, 0,
+ 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
+ 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
+ 330, 847, 555, 0, 300, 8, 9, 10, 776, 12,
+ 301, 302, 303, 0, 304, 14, 1006, 331, 0, 0,
+ 0, 0, 0, 0, 0, 0, 102, 0, 102, 16,
+ 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
- 0, 314, 315, 316, 317, 318, 26, 0, 846, 847,
- 726, 0, 0, 321, 0, 0, 0, 0, 0, 322,
- 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
- 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 725, 330, 300, 8, 9, 10, 0,
+ 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
+ -313, 0, 0, 321, 0, 0, 0, 0, 0, 322,
+ 0, 0, 556, 0, 0, 0, 0, 0, 0, 0,
+ 324, 325, 557, 0, 0, 0, 0, 0, 327, 328,
+ 329, 0, 0, 725, 558, 842, 843, 844, 10, 0,
12, 536, 302, 303, 0, 304, 14, 0, 0, 0,
- 1361, 331, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
- 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
- 320, 726, 0, 0, 321, 0, 0, 0, 0, 0,
+ 0, 0, 314, 315, 316, 317, 318, 26, 0, 845,
+ 846, 726, 0, 0, 321, 0, 0, 0, 0, 0,
322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
- 328, 329, 0, 0, 0, 330, 0, 555, 0, 7,
- 8, 9, 10, 1365, 12, 301, 302, 303, 0, 304,
+ 328, 329, 0, 0, 0, 330, 847, 725, 0, 842,
+ 843, 844, 10, 0, 12, 536, 302, 303, 0, 304,
14, 0, 331, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 305, 17, 18, 19, 0,
+ 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
+ 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
+ 313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
+ 318, 26, 0, 845, 846, 726, 0, 0, 321, 0,
+ 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
+ 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
+ 0, 0, 0, 327, 328, 329, 0, 0, 725, 330,
+ 842, 843, 844, 10, 0, 12, 536, 302, 303, 0,
+ 304, 14, 0, 0, 0, -483, 331, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 305, 17, 0, 19,
+ 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
+ 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
+ 317, 318, 26, 0, 845, 846, 726, 0, 0, 321,
+ 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
+ 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
+ 0, 0, 0, 0, 327, 328, 329, 0, 0, 725,
+ 330, 300, 8, 9, 10, 0, 12, 536, 302, 303,
+ 0, 304, 14, 0, 0, 0, 1357, 331, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
+ 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
+ 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
+ 316, 317, 318, 26, 0, 27, 320, 726, 0, 0,
+ 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
+ 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
+ 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
+ 0, 330, 0, 555, 0, 7, 8, 9, 10, 1361,
+ 12, 301, 302, 303, 0, 304, 14, 0, 331, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
+ 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
+ 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
+ 28, -313, 0, 0, 321, 0, 0, 0, 0, 0,
+ 322, 0, 0, 1531, 0, 0, 0, 0, 0, 0,
+ 0, 324, 325, 1532, 0, 0, 0, 0, 0, 327,
+ 328, 329, 0, 0, 725, 1533, 300, 8, 9, 10,
+ 0, 12, 536, 302, 303, 0, 304, 14, 0, 0,
+ 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 305, 17, 0, 19, 0, 306, 307, 308,
+ 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
+ 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
+ 27, 320, 726, 0, 0, 321, 0, 0, 0, 0,
+ 0, 322, 0, 0, 323, 0, 0, 0, 0, 0,
+ 0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
+ 327, 328, 329, 0, 0, 854, 330, 300, 8, 9,
+ 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
+ 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
+ 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
+ 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
+ 0, 27, 320, 0, 0, 0, 321, -789, 0, 0,
+ 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
+ 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
+ 0, 327, 328, 329, 0, 0, 1615, 330, 300, 8,
+ 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
+ 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
+ 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
+ 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
+ 26, 0, 27, 320, 0, 0, -196, 321, 0, 0,
+ 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
+ 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
+ 0, 0, 327, 328, 329, 0, 0, 854, 330, 300,
+ 8, 9, 10, 0, 12, 536, 302, 303, 0, 304,
+ 14, 0, 0, 0, 0, 331, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
- 318, 26, 0, 27, 28, -313, 0, 0, 321, 0,
- 0, 0, 0, 0, 322, 0, 0, 1537, 0, 0,
- 0, 0, 0, 0, 0, 324, 325, 1538, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 725, 1539,
+ 318, 26, 0, 27, 320, 0, 0, 0, 321, 0,
+ 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
+ 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
+ 0, 0, 0, 327, 328, 329, 0, 0, 947, 330,
300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
- 304, 14, 0, 0, 0, 0, 331, 0, 0, 0,
+ 304, 14, 0, 0, -789, 0, 331, 0, 0, 0,
0, 0, 0, 0, 0, 16, 305, 17, 0, 19,
0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
- 317, 318, 26, 0, 27, 320, 726, 0, 0, 321,
+ 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
- 0, 0, 0, 0, 327, 328, 329, 0, 0, 855,
+ 0, 0, 0, 0, 327, 328, 329, 0, 0, 949,
330, 300, 8, 9, 10, 0, 12, 536, 302, 303,
0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
- 321, -791, 0, 0, 0, 0, 322, 0, 0, 323,
+ 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
- 1621, 330, 300, 8, 9, 10, 0, 12, 301, 302,
+ 1580, 330, 300, 8, 9, 10, 0, 12, 536, 302,
303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
- -196, 321, 0, 0, 0, 0, 0, 322, 0, 0,
+ 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
- 0, 855, 330, 300, 8, 9, 10, 0, 12, 536,
+ 0, 0, 330, 300, 8, 9, 10, 0, 12, 536,
302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
@@ -2392,1201 +2366,1139 @@ static const short yytable[] = { 59,
0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 948, 330, 300, 8, 9, 10, 0, 12,
- 536, 302, 303, 0, 304, 14, 0, 0, -791, 0,
- 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
- 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
- 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
- 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
- 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
- 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 950, 330, 300, 8, 9, 10, 0,
- 12, 536, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
- 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
- 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
- 320, 0, 0, 0, 321, 0, 0, 0, 0, 0,
- 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
- 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
- 328, 329, 0, 0, 1586, 330, 300, 8, 9, 10,
- 0, 12, 536, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 308,
- 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
- 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
- 27, 320, 0, 0, 0, 321, 0, 0, 0, 0,
- 0, 322, 0, 0, 323, 0, 0, 0, 0, 0,
- 0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 330, 300, 8, 9,
- 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
- 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
- 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
- 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
- 0, 27, 320, 0, 0, 0, 321, 0, 0, 0,
- 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
- 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 330, 579, 580,
- 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
- 591, 592, 593, 594, 331, 894, 1323, 1324, 1325, 10,
- 167, 12, 301, 302, 303, 0, 304, 14, 1326, 0,
- 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336,
- 15, 16, 305, 17, 18, 19, 0, 306, 307, 308,
- 20, 0, 309, 310, 311, 21, 312, 313, 1337, 23,
- 1338, 0, 0, 314, 315, 316, 317, 318, 26, 0,
- 1339, 320, 722, 0, 1340, 321, 0, 0, 0, 0,
- 0, 322, 0, 0, 323, 0, 0, 0, 0, 0,
- 0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 330, 0, 1341, 0,
+ 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1473, 331, 1323, 1324, 1325, 10, 167, 12,
- 301, 302, 303, 0, 304, 14, 1326, 0, 1327, 1328,
- 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 15, 16,
+ 331, 893, 1319, 1320, 1321, 10, 167, 12, 301, 302,
+ 303, 0, 304, 14, 1322, 0, 1323, 1324, 1325, 1326,
+ 1327, 1328, 1329, 1330, 1331, 1332, 15, 16, 305, 17,
+ 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
+ 311, 21, 312, 313, 1333, 23, 1334, 0, 0, 314,
+ 315, 316, 317, 318, 26, 0, 1335, 320, 722, 0,
+ 1336, 321, 0, 0, 0, 0, 0, 322, 0, 0,
+ 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
+ 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
+ 0, 0, 330, 0, 1337, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1467, 331,
+ 1319, 1320, 1321, 10, 167, 12, 301, 302, 303, 0,
+ 304, 14, 1322, 0, 1323, 1324, 1325, 1326, 1327, 1328,
+ 1329, 1330, 1331, 1332, 15, 16, 305, 17, 18, 19,
+ 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
+ 312, 313, 1333, 23, 1334, 0, 0, 314, 315, 316,
+ 317, 318, 26, 0, 1335, 320, 722, 0, 1336, 321,
+ 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
+ 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
+ 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
+ 330, 0, 1337, 0, 1319, 1320, 1321, 10, 167, 12,
+ 301, 302, 303, 0, 304, 14, 1322, 331, 1323, 1324,
+ 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 15, 16,
305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
- 309, 310, 311, 21, 312, 313, 1337, 23, 1338, 0,
- 0, 314, 315, 316, 317, 318, 26, 0, 1339, 320,
- 722, 0, 1340, 321, 0, 0, 0, 0, 0, 322,
+ 309, 310, 311, 21, 312, 313, 1333, 23, 1334, 0,
+ 0, 314, 315, 316, 317, 318, 26, 0, 1335, 320,
+ 1589, 0, 1336, 321, 0, 0, 0, 0, 0, 322,
0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 330, 0, 1341, 0, 1323, 1324,
- 1325, 10, 167, 12, 301, 302, 303, 0, 304, 14,
- 1326, 331, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334,
- 1335, 1336, 15, 16, 305, 17, 18, 19, 0, 306,
+ 329, 0, 0, 0, 330, 0, 1337, 0, 1319, 1320,
+ 1321, 10, 167, 12, 301, 302, 303, 0, 304, 14,
+ 1322, 331, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
+ 1331, 1332, 15, 16, 305, 17, 18, 19, 0, 306,
307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
- 1337, 23, 1338, 0, 0, 314, 315, 316, 317, 318,
- 26, 0, 1339, 320, 1595, 0, 1340, 321, 0, 0,
+ 1333, 23, 1334, 0, 0, 314, 315, 316, 317, 318,
+ 26, 0, 1335, 320, 0, 0, 1336, 321, 0, 0,
0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
0, 0, 327, 328, 329, 0, 0, 0, 330, 0,
- 1341, 0, 1323, 1324, 1325, 10, 167, 12, 301, 302,
- 303, 0, 304, 14, 1326, 331, 1327, 1328, 1329, 1330,
- 1331, 1332, 1333, 1334, 1335, 1336, 15, 16, 305, 17,
- 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
- 311, 21, 312, 313, 1337, 23, 1338, 0, 0, 314,
- 315, 316, 317, 318, 26, 0, 1339, 320, 0, 0,
- 1340, 321, 0, 0, 0, 0, 0, 322, 0, 0,
- 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
- 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
- 0, 0, 330, 0, 1341, 300, 8, 9, 10, 167,
- 12, 301, 302, 303, 735, 304, 14, 0, 0, 331,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1337, 300, 8, 9, 10, 167, 12, 301, 302, 303,
+ 735, 304, 14, 0, 0, 331, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
+ 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
+ 21, 312, 313, 0, 23, 0, 621, 0, 314, 315,
+ 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
+ 321, 0, 0, 0, 0, 0, 322, 0, 0, 924,
+ 0, 0, 0, 0, 0, 0, 0, 324, 325, 925,
+ 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
+ 0, 926, 625, 7, 8, 9, 10, 167, 12, 301,
+ 302, 303, 735, 304, 14, 0, 0, 0, 331, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
+ 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
+ 310, 311, 21, 312, 313, 0, 23, 0, 621, 0,
+ 314, 315, 316, 317, 318, 26, 0, 27, 28, 0,
+ 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
+ 0, 1210, 0, 0, 0, 0, 0, 0, 0, 324,
+ 325, 1211, 0, 0, 0, 0, 0, 327, 328, 329,
+ 0, 0, 0, 1212, 625, 300, 8, 9, 10, 0,
+ 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
+ 331, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
621, 0, 314, 315, 316, 317, 318, 26, 0, 27,
- 320, 0, 0, 0, 321, 0, 0, 0, 0, 0,
- 322, 0, 0, 925, 0, 0, 0, 0, 0, 0,
- 0, 324, 325, 926, 0, 0, 0, 0, 0, 327,
- 328, 329, 0, 0, 0, 927, 625, 7, 8, 9,
- 10, 167, 12, 301, 302, 303, 735, 304, 14, 0,
+ 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 322, 0, 0, 924, 0, 0, 0, 0, 0, 0,
+ 0, 324, 325, 925, 0, 0, 0, 0, 0, 327,
+ 328, 329, 0, 0, 0, 926, 625, 7, 8, 9,
+ 10, 0, 12, 301, 302, 303, 0, 304, 14, 0,
0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
23, 0, 621, 0, 314, 315, 316, 317, 318, 26,
- 0, 27, 28, 0, 0, 0, 321, 0, 0, 0,
- 0, 0, 322, 0, 0, 1212, 0, 0, 0, 0,
- 0, 0, 0, 324, 325, 1213, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 1214, 625, 7,
- 8, 9, 10, 0, 12, 301, 302, 303, 0, 304,
+ 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 322, 0, 0, 1210, 0, 0, 0, 0,
+ 0, 0, 0, 324, 325, 1211, 0, 0, 0, 0,
+ 0, 327, 328, 329, 0, 0, 0, 1212, 625, 300,
+ 8, 9, 10, 0, 12, 536, 302, 303, 0, 304,
14, 0, 0, 0, 331, 0, 0, 0, 0, 0,
0, 0, 0, 0, 16, 305, 17, 18, 19, 0,
306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
- 313, 0, 23, 0, 621, 0, 314, 315, 316, 317,
- 318, 26, 0, 27, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 322, 0, 0, 1212, 0, 0,
- 0, 0, 0, 0, 0, 324, 325, 1213, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 1214,
- 625, 300, 8, 9, 10, 0, 12, 536, 302, 303,
- 0, 304, 14, 0, 0, 0, 331, 0, 0, 0,
+ 313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
+ 318, 26, 0, 27, 320, 0, 0, 0, 321, 0,
+ 0, 0, 0, 0, 322, 0, 0, 556, 0, 0,
+ 0, 0, 0, 0, 0, 324, 325, 557, 0, 0,
+ 0, 0, 0, 327, 328, 329, 0, 0, 0, 558,
+ 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
+ 304, 14, 0, 0, 0, 0, 331, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 305, 17, 0, 19,
+ 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
+ 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
+ 317, 318, 26, 0, 27, 320, 0, 0, 1440, 321,
+ 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
+ 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
+ 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
+ 330, 300, 8, 9, 10, 167, 12, 301, 302, 303,
+ 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
- 321, 0, 0, 0, 0, 0, 322, 0, 0, 556,
- 0, 0, 0, 0, 0, 0, 0, 324, 325, 557,
+ 0, 0, 0, 0, 0, 0, 322, 0, 0, 323,
+ 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
- 0, 558, 300, 8, 9, 10, 0, 12, 536, 302,
+ 0, 330, 7, 8, 9, 10, 0, 12, 536, 302,
303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
- 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
+ 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
- 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
- 1446, 321, 0, 0, 0, 0, 0, 322, 0, 0,
- 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
- 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
- 0, 0, 330, 300, 8, 9, 10, 167, 12, 301,
+ 315, 316, 317, 318, 26, 0, 27, 28, 0, 0,
+ 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
+ 1531, 0, 0, 0, 0, 0, 0, 0, 324, 325,
+ 1532, 0, 0, 0, 0, 0, 327, 328, 329, 0,
+ 0, 0, 1533, 300, 8, 9, 10, 0, 12, 301,
302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
- 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
+ 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
- 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 322, 0,
+ 314, 315, 316, 317, 318, 26, 0, 319, 320, 0,
+ 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 0, 330, 7, 8, 9, 10, 0, 12,
- 536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
+ 0, 0, 0, 330, 300, 8, 9, 10, 0, 12,
+ 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
+ 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
- 0, 314, 315, 316, 317, 318, 26, 0, 27, 28,
+ 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
- 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0,
- 324, 325, 1538, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 1539, 300, 8, 9, 10, 0,
- 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
+ 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
+ 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
+ 329, 0, 0, 0, 330, 300, 8, 9, 10, 0,
+ 12, 536, 302, 303, 0, 304, 14, 0, 0, 0,
0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
- 0, 0, 314, 315, 316, 317, 318, 26, 0, 319,
+ 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
320, 0, 0, 0, 321, 0, 0, 0, 0, 0,
322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
328, 329, 0, 0, 0, 330, 300, 8, 9, 10,
- 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
+ 0, 12, 536, 302, 303, 0, 304, 14, 0, 0,
0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
0, 16, 305, 17, 0, 19, 0, 306, 307, 308,
20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
- 27, 320, 0, 0, 0, 321, 0, 0, 0, 0,
+ 27, 320, 570, 0, 0, 0, 0, 0, 0, 0,
0, 322, 0, 0, 323, 0, 0, 0, 0, 0,
0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 330, 300, 8, 9,
+ 327, 328, 329, 0, 0, 0, 571, 300, 8, 9,
10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
- 0, 27, 320, 0, 0, 0, 321, 0, 0, 0,
+ 0, 27, 320, 0, 0, 0, 0, 0, 0, 0,
0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 330, 300, 8,
- 9, 10, 0, 12, 536, 302, 303, 0, 304, 14,
- 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
- 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
- 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
- 26, 0, 27, 320, 570, 0, 0, 0, 0, 0,
- 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
- 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
- 0, 0, 327, 328, 329, 0, 0, 0, 571, 300,
+ 0, 327, 328, 329, 0, 0, 0, 330, 609, 300,
8, 9, 10, 0, 12, 536, 302, 303, 0, 304,
- 14, 0, 0, 0, 0, 331, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
+ 14, 0, 0, 0, 331, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 305, 17, 18, 19, 0,
306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
318, 26, 0, 27, 320, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
- 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 330,
- 609, 300, 8, 9, 10, 0, 12, 536, 302, 303,
- 0, 304, 14, 0, 0, 0, 331, 0, 0, 0,
+ 0, 0, 0, 0, 322, 0, 0, 556, 0, 0,
+ 0, 0, 0, 0, 0, 324, 325, 557, 0, 0,
+ 0, 0, 0, 327, 328, 329, 0, 0, 0, 558,
+ 1168, 8, 9, 10, 0, 12, 536, 302, 303, 0,
+ 304, 14, 0, 0, 0, 0, 331, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 305, 17, 0, 19,
+ 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
+ 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
+ 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
+ 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
+ 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
+ 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
+ 330, 7, 8, 9, 10, 0, 12, 301, 302, 303,
+ 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
- 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 322, 0, 0, 556,
- 0, 0, 0, 0, 0, 0, 0, 324, 325, 557,
+ 316, 317, 318, 26, 0, 27, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 322, 0, 0, 1531,
+ 0, 0, 0, 0, 0, 0, 0, 324, 325, 1532,
0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
- 0, 558, 1170, 8, 9, 10, 0, 12, 536, 302,
+ 0, 1533, 300, 8, 9, 10, 0, 12, 536, 302,
303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
- 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
- 0, 0, 330, 7, 8, 9, 10, 0, 12, 301,
+ 0, 0, 537, 300, 8, 9, 10, 0, 12, 536,
302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
- 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
+ 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
- 314, 315, 316, 317, 318, 26, 0, 27, 28, 0,
+ 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
0, 0, 0, 0, 0, 0, 0, 0, 322, 0,
- 0, 1537, 0, 0, 0, 0, 0, 0, 0, 324,
- 325, 1538, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 0, 1539, 300, 8, 9, 10, 0, 12,
+ 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
+ 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
+ 0, 0, 0, 540, 300, 8, 9, 10, 0, 12,
536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
- 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
- 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 537, 300, 8, 9, 10, 0,
- 12, 536, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
- 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
- 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
- 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
- 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
- 328, 329, 0, 0, 0, 540, 300, 8, 9, 10,
- 0, 12, 536, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 308,
- 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
- 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
- 27, 320, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 322, 0, 0, 323, 7, 8, 9, 10, 205,
- 12, 206, 324, 325, 326, 0, 14, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 330, 0, 0, 0,
- 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
- 0, 0, 0, 331, 21, 0, 0, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
- 28, 573, 574, 575, 576, 577, 578, 579, 580, 581,
- 582, 583, 584, 30, 586, 587, 588, 589, 590, 591,
- 592, 593, 594, 31, 0, 0, 0, 0, 0, 0,
- 0, 32, 0, 0, 0, 33, 573, 574, 575, 576,
- 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
- 587, 588, 589, 590, 591, 592, 593, 594, 578, 579,
- 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
- 590, 591, 592, 593, 594, 0, 1101, 0, 0, 1609,
- 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
- 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
- 593, 594, 1603, 573, 574, 575, 576, 577, 578, 579,
+ 0, 0, 323, -388, 8, 9, -388, -388, 12, 246,
+ 324, 325, 326, 0, 14, 0, 0, 0, 327, 328,
+ 329, 0, 0, 0, 330, 0, 0, 0, 16, 0,
+ 17, -388, 0, 0, 0, 0, 0, 20, 0, 0,
+ 0, 331, -388, 0, 0, 0, 23, 0, 621, 0,
+ 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
+ 0, 0, 0, 7, 8, 9, 10, 167, 12, 13,
+ 0, 622, 1019, 0, 14, 0, 0, 0, 0, 0,
+ 0, 623, 0, 0, 0, 0, 0, 0, 16, -388,
+ 17, 18, 0, 624, 625, 0, 0, 20, 0, 0,
+ 0, 0, 21, 0, 0, 0, 23, 0, 7, 8,
+ 9, 10, 205, 12, 206, 26, 0, 27, 28, 14,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 30, 0, 16, 0, 17, 18, 0, 0, 0,
+ 0, 31, 20, 0, 0, 0, 0, 21, 0, 32,
+ 0, 23, 0, 33, 0, 0, 0, 0, 0, 0,
+ 26, 0, 27, 28, 0, 0, 1457, 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, 33, 0,
+ 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
+ 0, 23, 0, 7, 8, 9, 10, 205, 12, 206,
+ 26, 0, 27, 28, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 30, 0, 16, 0,
+ 17, 18, 0, 0, 0, 0, 31, 20, 0, 0,
+ 0, 0, 21, 0, 32, 0, 23, 0, 33, 0,
+ 0, 0, 0, 0, 0, 26, 0, 27, 28, 8,
+ 9, 0, 167, 12, 13, 0, 0, 735, 0, 14,
+ 0, 30, 0, 0, 0, 0, 7, 8, 9, 10,
+ 0, 31, 519, 16, 0, 17, 18, 0, 0, 32,
+ 0, 0, 20, 33, 0, 0, 0, 0, 0, 0,
+ 0, 23, 0, 621, 18, 0, 0, 0, 0, 0,
+ 26, 0, 130, 131, 0, 21, 0, 300, 8, 9,
+ 10, 0, 0, 13, 0, 0, 1499, 0, 26, 0,
+ 27, 28, 0, 0, 0, 0, 1500, 7, 127, 128,
+ 10, 0, 0, 0, 193, 18, 0, 0, 1501, 625,
+ 0, 0, 0, 0, 194, 0, 21, 0, 7, 8,
+ 9, 10, 32, 0, 0, 18, 195, 0, 0, 26,
+ 0, 27, 320, 0, 0, 0, 21, 0, 7, 8,
+ 9, 10, 0, 0, 0, 752, 18, 0, 0, 26,
+ 0, 27, 28, 0, 0, 753, 0, 21, 0, 0,
+ 0, 0, 0, 32, 0, 30, 18, 754, 0, 0,
+ 26, 0, 27, 28, 0, 31, 0, 21, 0, 300,
+ 8, 9, 10, 32, 0, 0, 476, 33, 0, 0,
+ 26, 0, 27, 28, 0, 0, 477, 0, 0, 0,
+ 0, 0, 0, 0, 32, 0, 193, 18, 478, 0,
+ 0, 0, 0, 0, 0, 0, 194, 0, 21, 0,
+ 0, 0, 8, 9, 32, 167, 12, 13, 195, 0,
+ 1583, 26, 14, 27, 320, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 752, 17, 18,
+ 0, 0, 0, 0, 0, 20, 0, 753, 0, 0,
+ 0, 0, 0, 0, 23, 32, 0, 0, 0, 754,
+ 0, 0, 0, 26, 0, 130, 131, 573, 574, 575,
+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 591, 592, 593, 594, 573,
+ 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
+ 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
+ 594, 0, 0, 0, 1268, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 663,
+ 0, 0, 1603, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
- 590, 591, 592, 593, 594, 573, 574, 575, 576, 577,
- 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
- 588, 589, 590, 591, 592, 593, 594
+ 590, 591, 592, 593, 594, 1099, 0, 0, 0, 573,
+ 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
+ 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
+ 594, 1597, 573, 574, 575, 576, 577, 578, 579, 580,
+ 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
+ 591, 592, 593, 594, 573, 574, 575, 576, 577, 578,
+ 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
+ 589, 590, 591, 592, 593, 594, 573, 574, 575, 576,
+ 577, 578, 579, 580, 581, 582, 583, 584, 0, 586,
+ 587, 588, 589, 590, 591, 592, 593, 594, 577, 578,
+ 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
+ 589, 590, 591, 592, 593, 594
};
static const short yycheck[] = { 4,
- 23, 161, 4, 55, 402, 4, 174, 350, 402, 306,
- 307, 176, 209, 4, 175, 720, 126, 156, 4, 356,
- 80, 883, 14, 4, 80, 507, 323, 402, 356, 326,
- 35, 468, 329, 35, 485, 332, 35, 42, 84, 336,
- 42, 251, 357, 358, 35, 568, 134, 344, 440, 35,
- 247, 42, 57, 42, 35, 373, 42, 149, 150, 605,
- 790, 42, 792, 304, 305, 133, 134, 72, 647, 695,
- 800, 124, 42, 4, 55, 455, 57, 1342, 1518, 84,
- 1428, 209, 4, 88, 133, 90, 46, 92, 144, 54,
- 218, 83, 1519, 408, 409, 11, 42, 338, 1352, 296,
- 243, 11, 107, 108, 35, 1359, 42, 57, 30, 31,
- 12, 42, 9, 35, 106, 1, 76, 1520, 11, 1542,
- 42, 48, 806, 175, 703, 1565, 60, 460, 812, 38,
- 59, 136, 137, 1, 139, 33, 1568, 55, 0, 60,
- 39, 1564, 0, 55, 55, 63, 356, 203, 48, 75,
- 136, 63, 63, 350, 1, 136, 55, 75, 60, 140,
- 165, 63, 84, 75, 169, 62, 93, 169, 48, 98,
- 63, 176, 48, 59, 625, 109, 165, 63, 169, 165,
- 169, 108, 562, 169, 165, 1617, 136, 108, 169, 55,
- 155, 59, 108, 93, 175, 176, 539, 1600, 108, 169,
- 109, 1624, 262, 217, 218, 136, 108, 63, 108, 95,
- 702, 109, 59, 93, 136, 108, 63, 93, 94, 12,
- 61, 48, 1649, 169, 55, 1665, 176, 149, 150, 3,
- 4, 5, 108, 169, 165, 200, 59, 719, 169, 923,
- 63, 222, 27, 165, 75, 75, 31, 169, 95, 4,
- 5, 61, 108, 213, 1519, 4, 248, 1605, 493, 556,
- 557, 1240, 1241, 63, 93, 60, 93, 60, 109, 1523,
- 63, 193, 194, 33, 48, 510, 61, 25, 1257, 347,
- 65, 55, 48, 57, 58, 48, 35, 49, 448, 4,
- 5, 93, 297, 42, 76, 42, 78, 343, 347, 109,
- 55, 60, 57, 58, 90, 393, 92, 644, 108, 175,
- 685, 59, 59, 108, 9, 63, 71, 12, 48, 93,
- 1574, 60, 714, 715, 109, 330, 81, 93, 61, 93,
- 93, 94, 385, 648, 49, 84, 882, 76, 343, 965,
- 479, 721, 57, 58, 742, 108, 351, 95, 742, 108,
- 14, 137, 404, 48, 359, 360, 222, 675, 22, 75,
- 61, 1045, 490, 93, 356, 60, 81, 62, 63, 806,
- 65, 1625, 7, 1057, 360, 812, 109, 4, 5, 360,
- 48, 76, 9, 78, 476, 477, 483, 136, 60, 149,
- 150, 151, 84, 85, 491, 738, 48, 402, 93, 94,
- 405, 65, 75, 38, 614, 1384, 48, 1091, 109, 1093,
- 360, 402, 4, 108, 1393, 1394, 165, 1396, 93, 1281,
- 169, 343, 169, 404, 48, 93, 94, 4, 55, 360,
- 57, 58, 61, 48, 12, 195, 108, 442, 360, 8,
- 9, 93, 94, 35, 71, 14, 969, 939, 508, 48,
- 942, 93, 94, 442, 81, 25, 442, 1036, 35, 48,
- 124, 442, 209, 468, 4, 5, 108, 94, 37, 93,
- 217, 218, 442, 924, 107, 489, 490, 46, 93, 48,
- 402, 55, 60, 497, 148, 63, 923, 65, 48, 470,
- 4, 55, 984, 985, 93, 509, 501, 60, 60, 61,
- 247, 75, 483, 508, 93, 94, 508, 822, 55, 49,
- 491, 442, 48, 76, 528, 78, 63, 57, 58, 108,
- 442, 35, 508, 61, 93, 31, 1256, 508, 75, 534,
- 55, 48, 537, 93, 94, 540, 4, 5, 404, 499,
- 545, 546, 547, 548, 549, 713, 468, 55, 108, 296,
- 75, 1413, 885, 558, 476, 477, 63, 93, 508, 63,
- 606, 1043, 48, 568, 48, 59, 571, 75, 966, 1548,
- 1549, 75, 966, 359, 238, 239, 93, 508, 25, 65,
- 27, 65, 3, 4, 5, 6, 508, 251, 676, 57,
- 58, 966, 4, 5, 343, 683, 933, 894, 650, 75,
- 182, 606, 55, 350, 470, 933, 48, 93, 1045, 93,
- 31, 360, 59, 479, 55, 683, 63, 483, 48, 624,
- 1057, 42, 75, 65, 1004, 491, 631, 59, 925, 926,
- 48, 774, 48, 776, 55, 832, 57, 58, 781, 691,
- 48, 693, 694, 635, 959, 57, 58, 55, 95, 48,
- 71, 93, 94, 402, 1091, 93, 1093, 55, 322, 406,
- 81, 684, 48, 93, 94, 55, 45, 75, 89, 650,
- 1162, 1163, 93, 678, 784, 93, 55, 93, 55, 58,
- 1131, 4, 5, 59, 606, 93, 738, 692, 929, 65,
- 25, 696, 27, 442, 93, 442, 719, 55, 75, 363,
- 622, 623, 624, 1127, 1128, 33, 1130, 93, 372, 631,
- 691, 692, 693, 694, 1196, 501, 476, 477, 478, 468,
- 76, 385, 94, 933, 59, 108, 49, 63, 63, 25,
- 790, 27, 792, 108, 57, 58, 11, 742, 798, 75,
- 800, 48, 489, 490, 48, 797, 48, 109, 534, 48,
- 497, 1233, 766, 55, 63, 48, 55, 738, 81, 508,
- 95, 742, 509, 59, 108, 63, 75, 63, 60, 61,
- 1085, 1086, 1087, 75, 60, 61, 75, 75, 1111, 1112,
- 98, 528, 108, 1126, 650, 790, 93, 792, 790, 93,
- 792, 93, 931, 798, 93, 800, 60, 61, 800, 95,
- 93, 806, 807, 808, 790, 810, 792, 812, 61, 790,
- 93, 792, 4, 5, 800, 3, 797, 798, 55, 800,
- 742, 149, 150, 151, 992, 691, 63, 693, 694, 55,
- 752, 753, 61, 793, 794, 111, 1133, 63, 75, 31,
- 790, 505, 792, 803, 75, 8, 9, 797, 798, 75,
- 800, 14, 819, 820, 821, 94, 48, 606, 94, 790,
- 27, 792, 63, 55, 31, 57, 58, 195, 790, 800,
- 792, 111, 738, 93, 37, 624, 881, 1210, 800, 71,
- 55, 886, 631, 46, 806, 93, 1219, 1220, 63, 81,
- 812, 93, 678, 60, 61, 1228, 75, 1040, 1041, 1042,
- 75, 93, 94, 75, 651, 75, 570, 75, 25, 60,
- 27, 60, 917, 60, 61, 1212, 1213, 11, 923, 60,
- 61, 977, 927, 108, 75, 76, 1631, 78, 3, 4,
- 5, 797, 7, 8, 9, 60, 61, 60, 61, 1272,
- 60, 933, 59, 3, 4, 5, 63, 694, 60, 61,
- 614, 108, 3, 4, 5, 108, 31, 3, 4, 5,
- 108, 966, 37, 968, 969, 60, 61, 972, 75, 55,
- 107, 108, 75, 75, 108, 966, 109, 1292, 95, 109,
- 55, 108, 57, 58, 59, 111, 27, 111, 349, 350,
- 351, 738, 75, 742, 75, 75, 1048, 57, 58, 55,
- 60, 923, 111, 925, 926, 927, 57, 58, 1351, 1069,
- 1015, 57, 58, 1069, 1153, 111, 108, 108, 1078, 766,
- 684, 807, 808, 1028, 810, 4, 5, 59, 103, 104,
- 105, 695, 108, 1038, 108, 81, 55, 8, 1371, 111,
- 1045, 790, 48, 792, 966, 1342, 1185, 65, 970, 971,
- 972, 800, 1057, 60, 93, 109, 60, 806, 65, 1439,
- 4, 5, 726, 812, 93, 4, 5, 1048, 75, 76,
- 49, 109, 55, 1078, 61, 1455, 1078, 1410, 57, 58,
- 4, 5, 37, 65, 65, 832, 1091, 65, 1093, 62,
- 1182, 1183, 1078, 1015, 108, 108, 1101, 1078, 1048, 61,
- 48, 1061, 81, 63, 65, 49, 108, 1067, 1068, 48,
- 108, 1071, 1072, 57, 58, 1075, 55, 1122, 57, 58,
- 1212, 1213, 108, 1045, 108, 49, 111, 65, 1078, 65,
- 1135, 1187, 71, 57, 58, 1057, 76, 81, 60, 87,
- 88, 93, 81, 91, 92, 93, 94, 1078, 476, 477,
- 478, 108, 108, 1158, 93, 94, 1078, 81, 108, 108,
- 1558, 27, 1542, 108, 1558, 31, 1305, 140, 76, 1091,
- 76, 1093, 76, 1196, 923, 4, 5, 76, 927, 1184,
- 108, 108, 1048, 156, 1564, 1350, 63, 769, 1349, 63,
- 1351, 1251, 60, 330, 60, 61, 1256, 108, 1179, 65,
- 63, 108, 1207, 3, 94, 1207, 6, 108, 1207, 1214,
- 89, 1591, 972, 111, 3, 4, 5, 966, 111, 1562,
- 49, 1207, 75, 972, 3, 4, 5, 6, 57, 58,
- 48, 31, 108, 108, 1156, 1157, 1158, 108, 111, 212,
- 1537, 1538, 42, 60, 1624, 109, 111, 220, 108, 108,
- 108, 1256, 81, 109, 1256, 1015, 61, 57, 58, 65,
- 1182, 1183, 1184, 42, 237, 1645, 1015, 1248, 57, 58,
- 1256, 71, 1253, 4, 5, 1256, 55, 65, 57, 58,
- 60, 81, 60, 108, 108, 1207, 63, 109, 952, 89,
- 1212, 1213, 1214, 93, 93, 93, 1045, 1349, 93, 1351,
- 93, 965, 1224, 1225, 108, 1310, 1256, 109, 1057, 8,
- 89, 108, 108, 1179, 45, 33, 108, 111, 108, 1185,
- 111, 108, 1655, 108, 55, 1256, 57, 58, 465, 1078,
- 691, 65, 693, 694, 1256, 696, 108, 1342, 4, 5,
- 1342, 108, 1091, 108, 1093, 1350, 108, 1352, 108, 1135,
- 1352, 4, 5, 1352, 1359, 108, 1342, 1359, 108, 55,
- 1359, 1227, 108, 1368, 108, 1562, 1352, 108, 1349, 1350,
- 1351, 63, 111, 1359, 1534, 48, 108, 738, 31, 108,
- 108, 96, 1248, 63, 63, 61, 1308, 1309, 1310, 55,
- 61, 57, 58, 9, 61, 48, 4, 5, 16, 108,
- 537, 108, 55, 540, 57, 58, 108, 108, 545, 1158,
- 108, 108, 7, 8, 9, 93, 93, 61, 71, 14,
- 1342, 558, 1182, 1183, 1184, 3, 4, 5, 81, 61,
- 1352, 1391, 1392, 93, 571, 1184, 31, 1359, 575, 1305,
- 93, 94, 37, 65, 1612, 1537, 1538, 55, 1112, 57,
- 58, 46, 1212, 1213, 1214, 3, 4, 5, 1207, 7,
- 8, 9, 55, 71, 111, 1214, 603, 93, 1050, 1051,
- 17, 832, 609, 81, 61, 55, 61, 450, 108, 57,
- 58, 59, 107, 1349, 108, 1351, 94, 3, 4, 5,
- 81, 82, 83, 84, 85, 1077, 97, 470, 108, 108,
- 1082, 11, 1507, 61, 61, 1465, 479, 1256, 1513, 57,
- 58, 1563, 61, 1518, 1519, 1520, 1518, 1519, 1523, 1518,
- 93, 1523, 60, 496, 1523, 65, 3, 4, 5, 6,
- 61, 108, 1518, 1519, 1539, 11, 108, 1523, 108, 55,
- 1204, 57, 58, 59, 905, 11, 1210, 7, 8, 9,
- 61, 912, 61, 1558, 14, 0, 0, 0, 170, 1453,
- 1565, 1310, 2, 1565, 35, 42, 1565, 169, 676, 1574,
- 931, 31, 1574, 30, 31, 1574, 33, 37, 966, 1565,
- 57, 58, 1563, 1505, 1506, 1507, 46, 442, 1574, 165,
- 1611, 1513, 798, 1342, 1196, 1600, 1518, 1519, 1520, 94,
- 57, 1523, 59, 1352, 1351, 238, 139, 1665, 65, 299,
- 1359, 1282, 89, 1438, 952, 1537, 1538, 657, 1043, 242,
- 1625, 726, 1233, 1625, 1078, 798, 1625, 1253, 3, 4,
- 5, 659, 945, 1593, 606, 200, 1558, 347, 124, 1625,
- 1352, 1208, 1508, 1565, 972, 1645, 1631, 31, 1641, 1579,
- 461, 1368, 1574, 3, 4, 5, 1643, 468, 1023, -1,
- 1665, -1, -1, 1665, 1246, 1247, 1665, 1249, 1250, -1,
- 1252, -1, 1336, 1337, 49, -1, 4, 5, 1600, 1665,
- 8, 9, 57, 58, 141, -1, 14, 1015, -1, 146,
- -1, 1557, 149, 150, 151, -1, -1, 1563, -1, -1,
- 28, -1, 30, 1625, -1, 55, 1466, 57, 58, 37,
- -1, -1, -1, 3, 4, 5, -1, -1, 46, 176,
- -1, 3, 4, 5, 535, 182, -1, 55, -1, 57,
- 58, 59, -1, -1, -1, -1, 193, 194, 195, -1,
- 3, 4, 5, 1665, -1, -1, -1, -1, 30, 3,
- 4, 5, 209, 890, 4, 5, -1, 141, 1507, 9,
- 217, 218, 146, -1, 1513, 93, 1430, 57, 58, 1518,
- 1519, 1520, -1, 55, 1523, 57, 58, 1537, 1538, 1539,
- -1, 31, -1, -1, -1, 596, 49, -1, 1452, 1453,
- 927, 602, 1153, -1, 57, 58, -1, -1, -1, 1381,
- 1382, 55, 259, 57, 58, 55, -1, 57, 58, 1558,
- 194, -1, -1, -1, -1, 1562, 1565, -1, 1179, -1,
- -1, 71, -1, -1, 1185, 1574, -1, 638, -1, 12,
- -1, 81, -1, -1, -1, -1, 80, 3, 4, 5,
- -1, -1, -1, 93, 27, 4, 5, 764, 31, -1,
- 9, 1600, -1, -1, 1182, 1183, 1184, -1, -1, -1,
- 104, -1, -1, -1, -1, 48, -1, 1531, -1, 3,
- 4, 5, 31, 330, -1, 259, 1625, 60, 61, -1,
- 63, -1, 65, -1, 1212, 1213, 1214, -1, 805, 133,
- -1, 57, 58, -1, 811, -1, 55, -1, 57, 58,
- 144, 1038, -1, 1485, 1486, 1487, 3, 4, 5, 6,
- 93, 94, 71, 3, 4, 5, 1665, 7, 8, 9,
- -1, -1, 81, 57, 58, 108, -1, 3, 4, 5,
- 6, -1, 905, -1, 93, 4, 5, -1, -1, 912,
- 9, 31, -1, -1, 1305, 42, -1, 37, 405, 406,
- 33, -1, 49, -1, -1, -1, -1, -1, 931, 203,
- 57, 58, 419, 1545, 1546, 422, 42, 57, 58, -1,
- -1, 428, 429, 430, -1, -1, -1, 434, -1, -1,
- -1, 57, 58, -1, 81, -1, 55, -1, 57, 58,
- -1, -1, 89, -1, 238, 193, 194, -1, -1, -1,
- -1, 918, 71, 920, -1, -1, 3, 4, 5, 6,
- -1, -1, 81, -1, 471, -1, -1, 474, 262, 476,
- 477, 478, -1, -1, -1, 482, -1, 3, 4, 5,
- 6, 488, 489, 490, 1616, 419, 493, -1, 422, -1,
- 497, -1, -1, -1, -1, 42, -1, -1, -1, -1,
- 434, 48, -1, 510, -1, 31, -1, -1, 55, -1,
- 57, 58, -1, -1, -1, -1, 42, 150, 151, 880,
- 881, -1, 48, -1, 71, 886, -1, 1214, -1, 55,
- 537, 57, 58, 540, 81, -1, -1, 471, -1, 900,
- 474, 902, 89, 904, -1, 71, 93, 94, -1, 556,
- 557, 558, 4, 5, 488, 81, -1, 9, 3, 4,
- 5, 355, 195, 89, 571, -1, -1, 93, 94, -1,
- -1, -1, 3, 4, 5, -1, -1, -1, -1, 31,
- -1, 1268, 1269, 1270, 1271, -1, -1, -1, 1466, -1,
- -1, -1, -1, 954, 88, -1, 90, 1508, 92, 3,
- 4, 5, 6, 55, -1, 57, 58, -1, -1, -1,
- -1, -1, 57, 58, -1, 622, 623, 624, 412, 71,
- -1, -1, -1, 1090, 631, 1092, 57, 58, -1, 81,
- 1153, -1, -1, -1, -1, 39, 40, 998, 42, -1,
- -1, 93, -1, 137, 651, 139, 1557, -1, 1335, -1,
- -1, 55, -1, 57, 58, -1, 1179, -1, -1, 1537,
- 1538, 1539, 1185, -1, 3, 4, 5, 6, 7, 8,
- 9, -1, -1, 12, -1, 14, 7, 8, 9, -1,
- -1, -1, 1149, 14, -1, 692, -1, 694, 695, 28,
- -1, 30, 31, -1, -1, -1, -1, 330, 37, -1,
- 31, -1, -1, 42, 1227, -1, 37, 46, -1, 48,
- -1, 505, 4, 5, -1, 46, 55, 9, 57, 58,
- -1, -1, -1, 471, 1411, -1, 474, -1, 476, 477,
- 61, 738, 71, -1, 7, 8, 9, 531, -1, 31,
- 488, 14, 81, 750, 751, 752, 753, 754, -1, -1,
- 89, 758, -1, -1, 93, 94, 48, -1, 31, 766,
- -1, 1448, 769, 55, 37, 57, 58, -1, -1, -1,
- 1237, -1, -1, 46, -1, 1242, -1, -1, -1, 71,
- -1, -1, 1305, -1, -1, -1, -1, -1, 61, 81,
- -1, 798, -1, -1, -1, -1, 429, 430, -1, -1,
- -1, 93, 94, 4, 5, -1, -1, -1, 3, 4,
- 5, 6, 7, 8, 9, -1, 750, 751, 825, 14,
- 3, 4, 5, 6, 758, 619, 1513, 321, -1, 1296,
- 31, 402, 1519, 1520, -1, -1, 31, 1198, -1, 1200,
- 634, 1202, 37, -1, 477, 478, -1, 42, -1, -1,
- -1, 46, 1539, 48, 55, -1, 57, 58, -1, 42,
- 55, -1, 57, 58, -1, 359, 49, -1, -1, -1,
- 71, -1, -1, -1, 57, 58, 71, -1, -1, -1,
- 81, -1, -1, -1, -1, -1, 81, -1, -1, -1,
- -1, -1, 93, -1, 89, -1, -1, 468, 93, 906,
- -1, -1, 909, -1, 537, -1, 89, 540, -1, -1,
- -1, -1, -1, 1600, 921, -1, -1, -1, 925, 926,
- 927, -1, -1, -1, 557, 558, 4, 5, -1, -1,
- 8, 9, 1619, 1400, 1401, -1, 14, -1, 571, -1,
- -1, 1302, 79, 80, 81, 82, 83, 84, 85, -1,
- 28, 1418, 30, 1640, -1, -1, -1, -1, 965, 37,
- -1, 755, 1649, 970, 971, 972, 460, 461, 46, -1,
- -1, -1, -1, -1, 468, -1, -1, 55, -1, 57,
- 58, 3, 4, 5, 6, 1508, -1, 9, -1, -1,
- -1, -1, 3, 4, 5, 6, -1, -1, 631, -1,
- -1, -1, 750, 751, 752, 753, -1, 501, 1015, 31,
- 758, 1478, 1479, -1, -1, 93, -1, -1, -1, -1,
- 42, -1, 1029, 1030, 1031, -1, 48, 1494, 1495, -1,
- -1, 42, -1, 55, 1557, 57, 58, 971, 49, -1,
- 534, 535, -1, 1050, 1051, -1, 57, 58, -1, 71,
- 544, -1, -1, 624, -1, -1, -1, -1, -1, 81,
- 631, -1, -1, -1, -1, -1, -1, 89, -1, -1,
- 1077, 93, 94, -1, 568, 1082, 570, -1, 89, 573,
- 574, -1, 576, 577, 578, 579, 580, 581, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
- 594, -1, 596, -1, -1, -1, -1, -1, 602, -1,
- -1, -1, 4, 5, -1, -1, 8, 9, -1, -1,
- 753, 754, 14, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 631, 932, -1,
- 934, -1, -1, -1, 638, 37, -1, -1, -1, 1156,
- 1157, 1158, -1, -1, 46, -1, 48, -1, 3, 4,
- 5, 6, -1, 55, 9, 57, 58, -1, 662, 663,
- -1, 742, -1, 1180, 1181, 1182, 1183, 1184, -1, 71,
- -1, -1, 1189, 977, 678, -1, 31, -1, -1, 81,
- -1, -1, 825, -1, -1, -1, -1, 42, -1, -1,
- -1, 93, 94, 48, -1, 1212, 1213, 1214, -1, -1,
- 55, -1, 57, 58, -1, -1, -1, 1224, 1225, 1226,
- 4, 5, 970, 971, 8, 9, 71, -1, -1, -1,
- 14, -1, 726, -1, -1, 806, 81, -1, -1, 1246,
- 1247, 812, 1249, 1250, 89, 1252, 1180, 1181, 93, 94,
- -1, -1, -1, 37, -1, 1189, -1, -1, -1, -1,
- -1, -1, 46, 1, 48, 3, 4, 5, 6, -1,
- 8, 55, -1, 57, 58, 1069, -1, -1, -1, -1,
- -1, 1029, 1030, 1031, -1, -1, -1, 71, -1, -1,
- -1, -1, -1, 926, 927, 789, -1, 81, -1, 1306,
- 1307, 1308, 1309, 1310, 42, -1, 1313, -1, -1, 93,
- 94, 49, -1, 807, 808, -1, 810, 55, -1, 57,
- 58, -1, -1, 3, 4, 5, 6, -1, -1, -1,
- -1, 825, -1, -1, -1, -1, -1, -1, -1, 972,
- -1, -1, -1, 1350, 1351, -1, -1, -1, -1, -1,
- -1, 89, 923, -1, 848, -1, 927, -1, -1, -1,
- -1, -1, 42, -1, -1, 1159, -1, -1, -1, 49,
- -1, -1, 1306, 1307, 1381, 1382, -1, 57, 58, 1313,
- -1, -1, 1015, -1, -1, -1, 880, 881, -1, -1,
- -1, 885, 886, 1187, -1, 966, -1, -1, -1, -1,
- -1, 972, -1, -1, -1, -1, 900, -1, 902, 89,
- 904, -1, -1, 1420, 1421, -1, 1423, 3, 4, 5,
- 6, -1, -1, 9, -1, -1, -1, 3, 4, 5,
- 6, -1, 1180, 1181, 1182, 1183, -1, -1, -1, -1,
- -1, 1189, -1, -1, 1015, 31, -1, -1, -1, 943,
- -1, -1, -1, -1, -1, -1, 42, 1251, -1, 1466,
- 954, -1, 48, -1, 1212, 1213, 42, -1, -1, 55,
- -1, 57, 58, 49, 1045, 969, 1224, 1225, 1485, 1486,
- 1487, 57, 58, -1, -1, 71, 1057, -1, 982, -1,
- -1, -1, -1, -1, -1, 81, -1, -1, 1505, 1506,
- 1507, -1, -1, 89, 998, 81, -1, 93, 94, -1,
- -1, -1, -1, 89, -1, -1, -1, -1, -1, 461,
- 1091, 1015, 1093, -1, 1157, 1158, 468, -1, -1, -1,
- 1537, 1538, 1539, -1, 3, 4, 5, 6, 1545, 1546,
- 9, -1, -1, -1, -1, 3, 4, 5, 6, -1,
- 1183, 1184, 622, 623, -1, -1, -1, -1, 1306, 1307,
- 1308, 1309, 31, -1, -1, 1313, 1060, -1, -1, -1,
- -1, -1, -1, 42, -1, -1, -1, -1, -1, 48,
- 1213, 1214, -1, -1, 42, -1, 55, 1158, 57, 58,
- -1, 49, -1, 535, -1, -1, -1, -1, -1, 57,
- 58, -1, 71, -1, -1, -1, -1, -1, -1, 1616,
- -1, -1, 81, 1184, -1, -1, -1, 1111, 1112, -1,
- 89, 1115, -1, 81, 93, 94, -1, -1, 1422, -1,
- 4, 89, -1, -1, -1, -1, -1, -1, -1, -1,
- 14, 1135, -1, 1214, -1, 3, 4, 5, 6, -1,
- 24, -1, -1, -1, 596, -1, 30, 31, -1, 33,
- 602, 35, -1, -1, -1, -1, -1, -1, 42, -1,
- -1, -1, 1420, 1421, -1, 1423, 1309, 1310, -1, -1,
- -1, 55, -1, 57, 42, -1, -1, -1, -1, 631,
- -1, 65, -1, -1, -1, -1, 638, 55, 72, 57,
- 58, -1, -1, 61, 1198, 63, 1200, -1, 1202, 83,
- 84, -1, -1, 71, -1, -1, 1210, -1, -1, -1,
- -1, -1, -1, 81, -1, 1219, 1220, -1, -1, -1,
- -1, 89, 106, -1, 1228, 93, -1, -1, -1, 1310,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
- 1244, 1245, 3, 4, 5, -1, 7, 1505, 1506, -1,
- 134, -1, 136, -1, -1, -1, 140, 141, -1, -1,
- -1, 145, 146, -1, -1, 149, 150, 151, 1272, 30,
- -1, -1, -1, -1, -1, -1, -1, 38, -1, 1537,
- 1538, 165, -1, -1, -1, 169, -1, -1, -1, -1,
- -1, 175, 176, -1, 55, -1, 57, 58, 1302, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 193,
- 194, 195, -1, -1, 3, 4, 5, 6, 7, 8,
- 9, -1, -1, 1466, -1, 14, 906, 1331, -1, 909,
- -1, -1, -1, 3, 4, 5, 6, -1, 222, 9,
- -1, 921, 31, -1, -1, 925, 926, -1, 37, -1,
- -1, -1, -1, 42, -1, 239, -1, 46, -1, 48,
- -1, 31, -1, -1, 248, -1, 55, 1371, 57, 58,
- -1, -1, 42, 825, -1, 259, -1, -1, 48, -1,
- -1, -1, 71, 1387, -1, 55, -1, 57, 58, -1,
- 970, 971, 81, 4, 5, 1538, 1539, -1, 9, -1,
- 89, 71, -1, -1, 93, 94, 1410, -1, -1, -1,
- -1, 81, -1, 297, 298, -1, -1, -1, -1, 89,
- 31, -1, -1, 93, 94, -1, 1507, -1, 880, 881,
- -1, -1, -1, -1, 886, -1, -1, 48, -1, -1,
- -1, -1, -1, -1, 55, -1, 57, 58, 900, -1,
- 902, -1, 904, -1, -1, -1, -1, -1, -1, 343,
- 71, -1, 1466, 347, -1, 349, 350, 351, -1, -1,
- 81, 3, 4, 5, 6, -1, 360, 1558, -1, 1483,
- 1484, -1, 93, 94, -1, -1, -1, -1, 3, 4,
- 5, 6, 7, 8, 9, -1, -1, 12, -1, 14,
- -1, -1, 954, -1, -1, 3, 4, 5, 6, 393,
- 42, -1, -1, 28, -1, 30, 31, 1521, 402, -1,
- 404, 405, 37, 55, -1, 57, 58, 42, -1, 61,
- -1, 46, -1, 48, -1, 419, -1, -1, 422, 71,
- 55, -1, 57, 58, 42, -1, 998, 1551, -1, 81,
- 434, 49, -1, -1, -1, -1, 71, 89, 442, 57,
- 58, 93, -1, 1015, -1, -1, 81, -1, -1, -1,
- -1, -1, -1, -1, 89, -1, 1156, 1157, 93, 94,
- -1, -1, -1, 81, -1, -1, 470, 471, -1, -1,
- 474, 89, 476, 477, 478, 479, -1, -1, -1, 483,
- 1180, 1181, 1182, 1183, 488, -1, -1, 491, -1, 1189,
- -1, -1, -1, -1, 1, -1, -1, 4, 5, -1,
- -1, 8, 9, -1, 508, -1, -1, 14, -1, -1,
- -1, -1, 1212, 1213, -1, -1, -1, -1, -1, -1,
- -1, 28, -1, 30, -1, -1, -1, -1, -1, -1,
- 37, 1655, 39, 40, -1, -1, -1, -1, -1, 46,
- -1, 48, 546, 547, 548, 549, -1, -1, 55, -1,
- 57, 58, -1, 60, -1, -1, -1, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
- 87, 88, 89, -1, 91, -1, -1, 94, -1, -1,
- -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
- -1, 9, 606, 110, 608, -1, 1306, 1307, 1308, 1309,
- -1, -1, -1, 1313, -1, -1, 620, -1, 622, 623,
- 624, -1, -1, 31, -1, -1, 1198, 631, 1200, -1,
- 1202, 635, -1, -1, 42, -1, -1, -1, -1, -1,
- 48, -1, -1, -1, -1, -1, 650, 55, -1, 57,
- 58, -1, -1, -1, 3, 4, 5, 6, -1, -1,
- -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- -1, -1, 676, 81, 3, 4, 5, 6, -1, 683,
- -1, 89, 31, -1, -1, 93, 94, 691, 692, 693,
- 694, 695, 696, 42, -1, -1, -1, -1, -1, 48,
- -1, -1, 31, -1, -1, -1, 55, -1, 57, 58,
- -1, -1, -1, 42, 3, 4, 5, 6, -1, 48,
- 1420, 1421, 71, 1423, -1, -1, 55, -1, 57, 58,
- 1302, -1, 81, -1, 738, -1, -1, -1, 742, -1,
- 89, -1, 71, -1, 93, 94, 750, 751, 752, 753,
- 754, -1, 81, 42, 758, -1, -1, -1, -1, -1,
- 89, -1, -1, -1, 93, 94, 55, -1, 57, 58,
- -1, -1, -1, -1, 63, 3, 4, 5, 6, -1,
- -1, 9, 71, 787, -1, -1, 790, -1, 792, -1,
- -1, -1, 81, 797, 798, -1, 800, -1, -1, -1,
- 89, -1, 806, 31, 93, 1505, 1506, -1, 812, -1,
- -1, -1, -1, -1, 42, 819, 820, 821, 1, -1,
- 3, 4, 5, 6, 7, 8, 9, 55, 832, 57,
- 58, 14, -1, -1, -1, -1, -1, -1, 3, 4,
- 5, 6, -1, 71, -1, 28, -1, 30, 31, 32,
- -1, -1, -1, 81, 37, 38, -1, -1, -1, 42,
- -1, 89, -1, 46, 47, 93, 49, -1, -1, -1,
- -1, -1, 55, -1, 57, 58, -1, 42, 61, -1,
- 63, -1, -1, -1, 49, -1, -1, -1, 71, -1,
- -1, -1, 57, 58, 1466, -1, -1, -1, 81, -1,
- -1, 905, 906, -1, -1, 909, 89, -1, 912, -1,
- 93, -1, -1, 917, -1, -1, 81, 921, -1, 923,
- -1, 925, 926, 927, 89, -1, 109, 931, -1, 933,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
- 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 966, 28, 968, 30, 970, 971, 972, 4,
- -1, -1, 37, 107, 108, -1, -1, -1, -1, 14,
- -1, 46, -1, 48, -1, -1, -1, -1, 23, 24,
- 55, -1, 57, 58, -1, 30, 31, -1, 33, -1,
- 35, -1, -1, -1, -1, -1, 71, 42, -1, -1,
- -1, 1015, -1, -1, -1, -1, 81, -1, -1, -1,
- 55, -1, 57, -1, 1028, 1029, 1030, 1031, 93, 94,
- 65, 3, 4, 5, 6, -1, -1, 72, -1, -1,
- -1, 1045, -1, -1, 1048, -1, -1, -1, -1, 84,
- -1, -1, -1, 1057, -1, -1, -1, -1, -1, 31,
- -1, -1, -1, -1, -1, -1, 1070, -1, -1, -1,
- 42, -1, -1, -1, 1078, -1, -1, -1, -1, -1,
- -1, -1, -1, 55, -1, 57, 58, 1091, -1, 1093,
- -1, -1, -1, -1, -1, -1, -1, 1101, -1, 71,
- -1, 136, -1, -1, -1, 140, 141, -1, -1, 81,
- -1, 146, -1, -1, 149, 150, 151, 89, 1122, -1,
- -1, 93, -1, 1127, 1128, -1, 1130, -1, -1, -1,
- 165, -1, -1, -1, 169, -1, -1, -1, -1, -1,
- 175, 176, -1, -1, -1, -1, -1, -1, -1, 1153,
- -1, -1, 1156, 1157, 1158, -1, -1, -1, 193, 194,
- 195, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- -1, -1, 14, -1, -1, 1179, 1180, 1181, 1182, 1183,
- 1184, 1185, -1, -1, -1, 1189, 28, 222, 30, 31,
- 32, -1, -1, -1, -1, 37, 330, -1, -1, -1,
- 42, -1, -1, -1, 46, -1, -1, 49, 1212, 1213,
- 1214, -1, -1, 55, -1, 57, 58, -1, -1, -1,
- 1224, 1225, 1226, 1227, 259, -1, -1, -1, -1, 71,
- 1, -1, 3, 4, 5, 6, 7, 8, 9, 81,
- -1, -1, -1, 14, 1248, -1, -1, 89, -1, 1253,
- -1, 93, 1256, -1, -1, -1, 98, 28, -1, 30,
- 31, 32, 297, 298, -1, -1, 37, 38, 402, -1,
- -1, 42, -1, -1, -1, 46, 47, -1, 49, -1,
- -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
- 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
- 71, 1305, 1306, 1307, 1308, 1309, 1310, -1, 343, 1313,
- 81, -1, 347, -1, 349, 350, 351, -1, 89, -1,
- -1, 356, 93, -1, -1, 360, -1, -1, -1, -1,
- -1, -1, -1, -1, 468, -1, -1, -1, 109, -1,
- 3, 4, 5, 6, -1, 1349, 1350, 1351, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 393, -1,
- -1, -1, -1, -1, 1368, -1, -1, 402, 31, 404,
- 405, -1, -1, -1, -1, -1, -1, -1, -1, 42,
- -1, -1, -1, -1, 419, -1, -1, 422, -1, -1,
- -1, -1, 55, -1, 57, 58, -1, -1, -1, 434,
- 82, -1, -1, 537, -1, -1, 540, 442, 71, -1,
- -1, 545, 546, 547, 548, 549, 1420, 1421, 81, 1423,
- -1, -1, -1, -1, 558, -1, 89, -1, -1, -1,
- 93, -1, -1, -1, -1, 470, 471, 571, -1, 474,
- -1, 476, 477, 478, 479, -1, -1, -1, 483, -1,
- -1, -1, -1, 488, 4, 5, 491, 7, 8, 9,
- -1, -1, 1466, -1, 14, -1, -1, -1, -1, -1,
- -1, -1, 507, 508, -1, -1, -1, 159, 28, -1,
- 30, 31, -1, -1, -1, -1, -1, 37, -1, -1,
- 624, -1, -1, -1, -1, -1, 46, 631, -1, 49,
- -1, 1505, 1506, 1507, 1508, 55, -1, 57, 58, 191,
- -1, 546, 547, 548, 549, -1, -1, -1, -1, -1,
- -1, -1, 204, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1537, 1538, 1539, 1, -1, 3, 4,
+ 161, 209, 175, 55, 23, 80, 455, 174, 176, 402,
+ 720, 126, 4, 4, 485, 350, 251, 402, 507, 304,
+ 305, 402, 42, 356, 356, 57, 4, 14, 217, 218,
+ 35, 882, 46, 568, 695, 133, 134, 42, 156, 247,
+ 702, 182, 42, 35, 35, 789, 84, 791, 605, 357,
+ 358, 42, 57, 338, 134, 799, 647, 35, 243, 59,
+ 14, 4, 76, 373, 42, 124, 209, 72, 22, 144,
+ 1338, 1348, 133, 1422, 42, 218, 1513, 1512, 1355, 84,
+ 149, 150, 11, 88, 42, 90, 80, 92, 296, 54,
+ 38, 805, 35, 42, 1, 468, 83, 811, 440, 42,
+ 408, 409, 107, 108, 136, 11, 11, 59, 48, 4,
+ 4, 65, 703, 562, 1, 1514, 33, 1562, 55, 106,
+ 9, 356, 1, 175, 1559, 27, 12, 61, 203, 31,
+ 0, 136, 137, 1536, 139, 30, 31, 59, 75, 63,
+ 35, 35, 350, 65, 176, 4, 98, 42, 42, 169,
+ 49, 75, 59, 93, 625, 1558, 63, 63, 136, 61,
+ 165, 109, 60, 65, 169, 90, 1611, 92, 108, 169,
+ 124, 176, 59, 62, 60, 109, 35, 63, 169, 108,
+ 59, 12, 60, 42, 63, 4, 5, 165, 95, 84,
+ 155, 169, 109, 460, 148, 1594, 55, 165, 57, 213,
+ 12, 169, 108, 108, 539, 55, 1643, 109, 922, 209,
+ 108, 169, 137, 48, 0, 1618, 95, 217, 218, 25,
+ 169, 27, 108, 75, 1659, 75, 169, 8, 9, 60,
+ 719, 109, 63, 14, 65, 200, 55, 75, 57, 58,
+ 1517, 136, 136, 48, 93, 1513, 61, 247, 60, 347,
+ 1599, 63, 71, 59, 149, 150, 37, 63, 93, 94,
+ 65, 248, 81, 1236, 1237, 46, 60, 48, 262, 93,
+ 165, 165, 721, 108, 169, 169, 938, 136, 4, 941,
+ 1253, 140, 60, 60, 238, 239, 347, 448, 93, 95,
+ 493, 1568, 297, 93, 109, 61, 296, 251, 193, 194,
+ 489, 490, 39, 964, 685, 343, 165, 510, 497, 35,
+ 169, 644, 93, 393, 108, 75, 175, 176, 55, 48,
+ 509, 983, 984, 61, 881, 330, 385, 7, 360, 1043,
+ 108, 108, 60, 3, 4, 5, 306, 307, 343, 528,
+ 648, 1055, 1619, 109, 48, 4, 351, 490, 76, 742,
+ 350, 48, 404, 323, 359, 360, 326, 742, 38, 329,
+ 25, 479, 332, 222, 93, 675, 336, 48, 322, 356,
+ 75, 109, 714, 715, 344, 1089, 35, 1091, 48, 614,
+ 93, 25, 360, 42, 48, 55, 61, 57, 58, 93,
+ 94, 483, 4, 5, 59, 48, 93, 402, 63, 491,
+ 405, 65, 48, 738, 108, 1378, 406, 476, 477, 363,
+ 61, 402, 93, 94, 1387, 1388, 48, 1390, 372, 31,
+ 4, 107, 442, 93, 59, 84, 1277, 108, 63, 93,
+ 95, 385, 805, 968, 359, 12, 48, 442, 811, 55,
+ 93, 94, 442, 55, 1035, 57, 58, 93, 343, 48,
+ 27, 35, 923, 63, 31, 108, 4, 48, 55, 71,
+ 55, 93, 108, 468, 442, 360, 360, 48, 63, 81,
+ 48, 48, 55, 48, 442, 31, 508, 136, 75, 59,
+ 75, 93, 94, 60, 61, 499, 63, 35, 65, 489,
+ 490, 48, 75, 75, 93, 94, 501, 497, 1160, 1161,
+ 55, 360, 93, 508, 4, 5, 165, 402, 1252, 509,
+ 169, 55, 93, 821, 508, 93, 93, 94, 93, 94,
+ 3, 4, 5, 6, 3, 4, 5, 59, 528, 534,
+ 508, 108, 537, 108, 93, 540, 93, 3, 4, 5,
+ 545, 546, 547, 548, 549, 404, 713, 442, 442, 922,
+ 55, 505, 1041, 558, 1003, 55, 1407, 57, 58, 42,
+ 33, 55, 48, 568, 76, 508, 571, 48, 606, 1542,
+ 1543, 108, 965, 468, 57, 58, 501, 766, 57, 58,
+ 965, 476, 477, 442, 965, 683, 556, 557, 48, 774,
+ 775, 57, 58, 108, 60, 780, 676, 94, 650, 932,
+ 932, 606, 81, 683, 108, 65, 89, 93, 94, 534,
+ 48, 470, 93, 508, 508, 63, 570, 884, 76, 624,
+ 78, 55, 48, 831, 483, 11, 631, 75, 769, 63,
+ 48, 108, 491, 93, 94, 3, 60, 109, 6, 691,
+ 48, 693, 694, 928, 98, 33, 61, 48, 635, 508,
+ 958, 651, 76, 93, 78, 93, 4, 5, 1129, 48,
+ 614, 9, 3, 31, 25, 684, 27, 93, 783, 48,
+ 1043, 61, 48, 678, 42, 93, 149, 150, 151, 55,
+ 111, 25, 1055, 27, 343, 93, 738, 692, 55, 57,
+ 58, 696, 93, 94, 694, 75, 63, 932, 59, 75,
+ 719, 360, 63, 71, 93, 1194, 63, 55, 75, 57,
+ 58, 606, 55, 81, 93, 59, 1089, 93, 1091, 63,
+ 63, 89, 195, 71, 94, 93, 48, 622, 623, 624,
+ 684, 94, 75, 81, 95, 48, 631, 742, 738, 111,
+ 1229, 695, 63, 402, 796, 63, 94, 25, 63, 27,
+ 55, 95, 75, 678, 818, 819, 820, 789, 63, 791,
+ 75, 149, 150, 151, 796, 797, 766, 799, 107, 108,
+ 75, 93, 726, 4, 5, 1083, 1084, 1085, 792, 793,
+ 93, 59, 93, 442, 789, 63, 791, 108, 802, 1124,
+ 108, 650, 797, 93, 799, 789, 63, 791, 4, 5,
+ 805, 806, 807, 797, 809, 799, 811, 195, 75, 468,
+ 55, 789, 930, 791, 93, 4, 5, 95, 49, 75,
+ 55, 799, 60, 61, 991, 55, 57, 58, 63, 75,
+ 75, 831, 691, 692, 693, 694, 4, 5, 8, 9,
+ 75, 75, 1109, 1110, 14, 75, 789, 742, 791, 508,
+ 81, 57, 58, 1038, 1039, 1040, 799, 752, 753, 60,
+ 49, 60, 61, 11, 3, 4, 5, 37, 57, 58,
+ 3, 4, 5, 6, 60, 880, 46, 75, 55, 738,
+ 885, 806, 807, 742, 809, 108, 63, 55, 108, 57,
+ 58, 62, 81, 108, 789, 789, 791, 791, 75, 4,
+ 5, 976, 27, 71, 799, 799, 31, 1048, 1049, 42,
+ 805, 916, 108, 81, 55, 1625, 811, 922, 57, 58,
+ 59, 926, 55, 893, 57, 58, 94, 108, 1125, 1126,
+ 789, 1128, 791, 75, 1075, 60, 61, 796, 797, 1080,
+ 799, 1208, 4, 5, 49, 932, 75, 606, 45, 109,
+ 1217, 1218, 57, 58, 924, 925, 89, 109, 55, 1226,
+ 965, 58, 967, 968, 111, 624, 971, 60, 61, 140,
+ 4, 5, 631, 27, 965, 9, 81, 31, 60, 61,
+ 1288, 4, 5, 111, 1433, 156, 108, 49, 3, 4,
+ 5, 330, 1067, 111, 1046, 57, 58, 951, 84, 85,
+ 1449, 1268, 60, 476, 477, 478, 60, 61, 27, 1014,
+ 964, 65, 1347, 55, 1046, 4, 5, 75, 76, 81,
+ 78, 55, 1027, 57, 58, 75, 49, 922, 75, 924,
+ 925, 926, 75, 1151, 57, 58, 111, 71, 1043, 108,
+ 55, 212, 57, 58, 1076, 1059, 59, 81, 108, 220,
+ 1055, 1065, 1066, 108, 48, 1069, 1070, 108, 81, 1073,
+ 49, 55, 3, 4, 5, 1183, 237, 55, 57, 58,
+ 965, 1076, 111, 1067, 969, 970, 971, 60, 61, 60,
+ 61, 75, 1076, 742, 1089, 8, 1091, 1536, 476, 477,
+ 478, 93, 81, 48, 1099, 65, 4, 5, 1076, 93,
+ 1367, 1242, 1243, 109, 1245, 1246, 60, 1248, 93, 1558,
+ 1185, 1180, 1181, 109, 55, 1120, 57, 58, 59, 1014,
+ 60, 61, 55, 31, 60, 61, 465, 61, 1133, 60,
+ 789, 37, 791, 1076, 65, 65, 1585, 1404, 60, 61,
+ 799, 1210, 1211, 108, 75, 76, 805, 55, 1043, 57,
+ 58, 1156, 811, 60, 61, 65, 1110, 4, 5, 1552,
+ 1055, 1131, 65, 71, 108, 61, 63, 1552, 111, 1618,
+ 108, 108, 1345, 81, 1347, 1194, 108, 1182, 1346, 108,
+ 65, 1076, 1076, 1301, 65, 93, 65, 1046, 76, 60,
+ 1639, 3, 4, 5, 1089, 7, 1091, 108, 537, 108,
+ 1205, 540, 3, 4, 5, 60, 545, 1212, 1133, 108,
+ 57, 58, 76, 1205, 108, 108, 76, 1076, 76, 558,
+ 1252, 1556, 3, 4, 5, 76, 38, 1205, 108, 63,
+ 108, 63, 571, 108, 1375, 1376, 575, 63, 108, 108,
+ 1210, 1211, 94, 55, 48, 57, 58, 1252, 1202, 111,
+ 111, 55, 89, 1247, 1208, 75, 57, 58, 1252, 1154,
+ 1155, 1156, 1205, 922, 603, 48, 108, 926, 49, 108,
+ 609, 75, 61, 111, 1252, 111, 57, 58, 108, 450,
+ 3, 4, 5, 6, 108, 1180, 1181, 1182, 109, 93,
+ 3, 4, 5, 1345, 108, 1347, 109, 108, 60, 470,
+ 65, 1306, 30, 31, 65, 33, 965, 60, 479, 1252,
+ 1205, 60, 971, 63, 108, 1210, 1211, 1212, 1177, 42,
+ 108, 3, 4, 5, 93, 496, 49, 1222, 1223, 57,
+ 93, 59, 109, 1338, 57, 58, 49, 65, 1479, 1480,
+ 1481, 1346, 93, 1348, 57, 58, 93, 1347, 1556, 109,
+ 1355, 108, 108, 108, 8, 1014, 1348, 1252, 1252, 1364,
+ 1338, 33, 65, 1355, 108, 111, 89, 1528, 1338, 108,
+ 1348, 1385, 1386, 55, 108, 57, 58, 1355, 1332, 1333,
+ 111, 108, 1649, 108, 1043, 1244, 3, 4, 5, 108,
+ 1249, 108, 108, 1252, 108, 1338, 1055, 55, 1539, 1540,
+ 108, 108, 3, 4, 5, 1348, 7, 8, 9, 1304,
+ 1305, 1306, 1355, 141, 108, 63, 111, 1076, 146, 48,
+ 108, 149, 150, 151, 4, 5, 4, 5, 108, 9,
+ 1089, 108, 1091, 96, 61, 63, 349, 350, 351, 1606,
+ 57, 58, 63, 1338, 9, 1459, 61, 61, 176, 16,
+ 93, 31, 108, 1348, 182, 108, 57, 58, 108, 108,
+ 1355, 108, 1531, 1532, 108, 193, 194, 195, 48, 1610,
+ 1424, 49, 3, 4, 5, 55, 61, 57, 58, 57,
+ 58, 209, 3, 4, 5, 6, 1345, 1346, 1347, 217,
+ 218, 71, 1446, 1447, 93, 61, 1501, 1156, 971, 55,
+ 93, 81, 1507, 65, 111, 1557, 93, 1512, 1513, 1514,
+ 17, 61, 1517, 93, 94, 55, 108, 61, 55, 108,
+ 1512, 42, 97, 1182, 55, 1517, 57, 58, 1533, 108,
+ 107, 259, 108, 11, 1512, 1513, 57, 58, 61, 1517,
+ 93, 1014, 3, 4, 5, 61, 1205, 1552, 61, 60,
+ 889, 65, 61, 1212, 1559, 11, 1556, 108, 61, 108,
+ 108, 1531, 1532, 1568, 11, 61, 0, 1559, 0, 1512,
+ 1513, 1525, 0, 1587, 1517, 170, 1568, 2, 35, 1447,
+ 676, 1559, 965, 971, 165, 169, 442, 926, 1605, 1594,
+ 1568, 1194, 797, 1252, 94, 1432, 57, 58, 4, 5,
+ 48, 238, 330, 139, 1499, 1500, 1501, 81, 82, 83,
+ 84, 85, 1507, 1659, 1619, 1278, 1559, 1512, 1513, 1514,
+ 299, 951, 1517, 726, 657, 1568, 1014, 1619, 3, 4,
+ 5, 242, 7, 8, 9, 1229, 1531, 1532, 175, 87,
+ 88, 1619, 48, 91, 92, 93, 94, 1306, 1041, 55,
+ 659, 57, 58, 1076, 1659, 944, 31, 1552, 3, 4,
+ 5, 6, 37, 797, 1559, 71, 200, 1659, 1206, 347,
+ 1249, 606, 124, 1568, 31, 81, 1619, 405, 406, 1338,
+ 55, 1659, 57, 58, 59, 222, 1348, 93, 94, 1348,
+ 1625, 419, 1639, 1573, 422, 1637, 1355, 42, 1557, 1594,
+ 428, 429, 430, 1635, 49, 1022, 434, 1180, 1181, 1182,
+ 1364, -1, 57, 58, -1, -1, 1659, -1, -1, 9,
+ -1, -1, 12, -1, 1619, -1, -1, -1, 103, 104,
+ 105, -1, -1, 904, -1, -1, 81, 1210, 1211, 1212,
+ 911, -1, -1, 471, 89, -1, 474, -1, 476, 477,
+ 478, 3, 4, 5, 482, 7, 8, 9, 48, 930,
+ 488, 489, 490, -1, 1659, 493, 3, 4, 5, 497,
+ 60, -1, 62, 63, -1, 65, -1, -1, 691, 31,
+ 693, 694, 510, 696, 141, 37, 76, -1, 78, 146,
+ -1, -1, 1180, 1181, 1182, 3, 4, 5, 6, -1,
+ -1, -1, -1, 93, 94, 57, 58, -1, -1, 537,
+ -1, -1, 540, -1, -1, 80, -1, -1, 108, -1,
+ 57, 58, 1210, 1211, 1212, 738, -1, -1, 556, 557,
+ 558, -1, -1, -1, 42, -1, -1, 194, -1, 104,
+ -1, 49, 1501, 571, -1, 7, 8, 9, 1507, 57,
+ 58, -1, 14, 1512, 1513, 1514, -1, -1, 1517, -1,
+ -1, -1, 3, 4, 5, 6, -1, 404, 133, 31,
+ -1, -1, -1, 1212, -1, 37, -1, -1, -1, 144,
+ -1, 89, -1, -1, 46, 3, 4, 5, 6, -1,
+ -1, 9, -1, 1552, 622, 623, 624, -1, 461, 61,
+ 1559, 42, 259, 631, -1, 468, -1, -1, 49, 1568,
+ -1, -1, -1, 31, -1, -1, 57, 58, 831, -1,
+ -1, -1, -1, 651, 42, 1264, 1265, 1266, 1267, -1,
+ 48, -1, -1, 470, -1, 1594, -1, 55, 203, 57,
+ 58, -1, 479, -1, -1, -1, 483, 402, 89, -1,
+ -1, 4, 5, 71, 491, -1, 9, -1, -1, -1,
+ 1619, -1, -1, 81, 692, -1, 694, 695, -1, -1,
+ -1, 89, 535, 238, -1, 93, 94, -1, 31, -1,
+ 1151, 3, 4, 5, -1, -1, -1, 1460, -1, -1,
+ -1, 904, 1331, -1, 3, 4, 5, 262, 911, -1,
+ 1659, -1, 55, -1, 57, 58, 1177, -1, -1, -1,
+ 738, -1, 1183, 468, -1, -1, -1, 930, 71, -1,
+ 4, 5, 750, 751, 752, 753, 754, -1, 81, -1,
+ 758, -1, -1, 596, -1, 57, 58, -1, 766, 602,
+ 93, 769, 88, -1, 90, -1, 92, 31, 57, 58,
+ 3, 4, 5, 6, 1225, -1, 9, -1, 1531, 1532,
+ 1533, -1, 419, -1, 48, 422, 1405, -1, -1, 797,
+ -1, 55, 1460, 57, 58, 638, -1, 434, 31, -1,
+ 3, 4, 5, 6, -1, -1, 9, 71, -1, 42,
+ 355, 137, -1, 139, -1, 48, 824, 81, 3, 4,
+ 5, -1, 55, 1442, 57, 58, -1, -1, 31, 93,
+ 94, -1, -1, 650, 471, -1, -1, 474, 71, 42,
+ -1, -1, -1, -1, -1, 48, -1, -1, 81, -1,
+ 1301, 488, 55, -1, 57, 58, 89, -1, -1, -1,
+ 93, 94, -1, 1531, 1532, 1533, -1, 412, 71, -1,
+ -1, -1, 57, 58, 691, -1, 693, 694, 81, -1,
+ -1, 3, 4, 5, 6, -1, 89, 33, 1507, 624,
+ 93, 94, -1, -1, 1513, 1514, 631, 905, -1, -1,
+ 908, 4, 5, -1, 7, 8, 9, -1, -1, 31,
+ -1, 14, 920, -1, 1533, -1, 924, 925, 926, -1,
+ 42, 738, -1, 4, 5, 28, 48, 30, 31, -1,
+ -1, -1, -1, 55, 37, 57, 58, -1, -1, -1,
+ -1, -1, -1, 46, -1, -1, 4, 5, -1, 71,
+ -1, 9, 55, -1, 57, 58, 964, -1, 1151, 81,
+ 505, 969, 970, 971, 45, -1, -1, 89, -1, -1,
+ -1, 93, 94, 31, 55, 1594, 57, 58, -1, 796,
+ -1, -1, -1, -1, 1177, -1, 531, -1, -1, -1,
+ 1183, -1, -1, -1, 1613, 321, -1, 55, -1, 57,
+ 58, -1, -1, -1, 150, 151, 1014, 742, -1, 3,
+ 4, 5, 6, 71, -1, 1634, -1, -1, -1, -1,
+ 1028, 1029, 1030, 81, 1643, -1, 3, 4, 5, 6,
+ -1, -1, 9, 359, -1, 93, 879, 880, -1, 764,
+ 1048, 1049, 885, -1, -1, -1, -1, -1, 42, 195,
+ -1, 1502, -1, -1, 31, -1, 899, -1, 901, -1,
+ 903, 55, -1, 57, 58, 42, -1, 1075, -1, 63,
+ 805, 48, 1080, -1, 619, -1, 811, 71, 55, 804,
+ 57, 58, -1, -1, -1, 810, -1, 81, -1, 634,
+ 3, 4, 5, 6, 71, 89, -1, -1, -1, 93,
+ 1551, -1, -1, -1, 81, -1, -1, -1, 1301, -1,
+ 953, -1, 89, 750, 751, -1, 93, 94, -1, -1,
+ -1, 758, -1, -1, -1, -1, -1, 4, 5, 42,
+ -1, 8, 9, -1, 460, 461, 49, 14, -1, -1,
+ -1, -1, 468, -1, 57, 58, 1154, 1155, 1156, -1,
+ -1, 28, -1, 30, 997, -1, -1, -1, -1, -1,
+ 37, 79, 80, 81, 82, 83, 84, 85, 81, 46,
+ 1178, 1179, 1180, 1181, 1182, 501, 89, -1, 55, 1187,
+ 57, 58, -1, -1, 330, -1, -1, 922, -1, -1,
+ -1, 926, 917, -1, 919, -1, -1, -1, -1, -1,
+ -1, -1, 1210, 1211, 1212, -1, 461, -1, 534, 535,
+ 755, -1, -1, 468, 1222, 1223, 1224, -1, 544, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, -1, 1046,
+ 965, -1, -1, -1, 1242, 1243, 971, 1245, 1246, -1,
+ 1248, -1, 568, -1, 570, -1, -1, 573, 574, -1,
+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 591, 592, 593, 594, -1,
+ 596, -1, -1, 4, 5, -1, 602, -1, 9, 1014,
+ 535, -1, -1, 429, 430, -1, 7, 8, 9, -1,
+ -1, -1, -1, 14, 1302, 1303, 1304, 1305, 1306, -1,
+ 31, 1309, -1, -1, -1, 631, -1, -1, 1043, 1502,
+ 31, -1, 638, -1, -1, -1, 37, -1, -1, -1,
+ 1055, -1, -1, -1, 55, 46, 57, 58, -1, -1,
+ -1, 477, 478, 970, -1, -1, 662, 663, 1346, 1347,
+ 71, 596, -1, -1, -1, -1, -1, 602, -1, -1,
+ 81, -1, 678, 1196, 1089, 1198, 1091, 1200, 1551, -1,
+ 1177, -1, 93, 1088, -1, 1090, 1183, 1375, 1376, -1,
+ -1, -1, -1, -1, -1, -1, 631, -1, 3, 4,
+ 5, 6, -1, 638, -1, -1, 931, -1, 933, -1,
+ -1, 537, -1, -1, 540, -1, 3, 4, 5, 6,
+ 726, -1, 9, -1, -1, -1, 1414, 1415, 1225, 1417,
+ -1, 557, 558, -1, 39, 40, -1, 42, -1, -1,
+ -1, 1156, 1147, -1, 31, 571, -1, 1244, -1, -1,
+ 55, 976, 57, 58, -1, 42, -1, -1, -1, -1,
+ -1, 48, -1, -1, -1, -1, -1, 1182, 55, -1,
+ 57, 58, 1460, -1, -1, 1298, -1, -1, -1, -1,
+ -1, 82, 788, -1, 71, 3, 4, 5, 6, -1,
+ -1, 1479, 1480, 1481, 81, -1, -1, 1212, -1, -1,
+ 806, 807, 89, 809, 1301, 631, 93, 94, 7, 8,
+ 9, 1499, 1500, 1501, -1, 14, -1, -1, 824, -1,
+ -1, -1, -1, -1, 42, -1, -1, -1, 1233, -1,
+ 48, -1, 31, 1238, -1, -1, -1, 55, 37, 57,
+ 58, 847, 1067, 1531, 1532, 1533, -1, 46, 1345, -1,
+ 1347, 1539, 1540, 71, -1, -1, -1, -1, 159, -1,
+ -1, 1178, 1179, 81, -1, -1, -1, -1, -1, -1,
+ 1187, 89, -1, 879, 880, 93, 94, -1, 884, 885,
+ -1, -1, -1, -1, -1, -1, -1, 1292, -1, 824,
+ 191, 1306, -1, 899, -1, 901, -1, 903, -1, 7,
+ 8, 9, -1, 204, 4, -1, 14, -1, -1, -1,
+ -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
+ -1, -1, 1610, 31, 24, -1, -1, 753, 754, 37,
+ 30, 31, 1157, 33, -1, 35, 942, -1, 46, -1,
+ -1, -1, 42, -1, 879, 880, -1, 953, -1, -1,
+ 885, -1, -1, 61, -1, 55, -1, 57, -1, -1,
+ 1185, -1, 968, -1, 899, 65, 901, -1, 903, -1,
+ -1, -1, 72, -1, -1, 981, -1, 4, 5, -1,
+ -1, 8, 9, 83, 84, 1302, 1303, 14, -1, 1394,
+ 1395, 997, 1309, -1, -1, -1, 622, 623, 824, -1,
+ -1, 28, -1, 30, -1, 1502, 106, 1412, 1014, -1,
+ 37, -1, -1, -1, -1, -1, -1, -1, 953, 46,
+ 4, 5, 1247, -1, -1, 9, -1, -1, 55, -1,
+ 57, 58, 59, -1, 134, -1, 136, -1, -1, -1,
+ 140, 141, -1, -1, -1, 145, 146, 31, -1, 149,
+ 150, 151, 1058, -1, 1551, -1, -1, -1, -1, -1,
+ 1557, -1, 997, -1, 48, 165, 93, 1472, 1473, 169,
+ -1, 55, -1, 57, 58, 175, 176, -1, -1, 1014,
+ -1, -1, -1, 1488, 1489, -1, 1501, 71, -1, -1,
+ -1, -1, -1, 193, 194, 195, -1, 81, -1, 925,
+ 926, -1, -1, 1109, 1110, -1, -1, 1113, -1, 93,
+ 94, -1, -1, -1, -1, -1, -1, -1, 3, 4,
+ 5, 6, 222, -1, 9, 4, 5, 1133, -1, 8,
+ 9, -1, -1, -1, -1, 14, -1, 1552, -1, 239,
+ -1, -1, -1, 193, 194, 971, 31, -1, 248, 28,
+ -1, 30, -1, -1, -1, -1, -1, 42, 37, 259,
+ -1, -1, -1, 48, -1, -1, -1, 46, -1, -1,
+ 55, -1, 57, 58, -1, -1, 55, -1, 57, 58,
+ 481, -1, -1, -1, -1, 486, 71, -1, 1014, -1,
+ 1196, 1416, 1198, -1, 1200, -1, 81, 297, 298, -1,
+ -1, -1, 1208, -1, 89, -1, -1, -1, 93, 94,
+ 511, 1217, 1218, -1, 93, -1, 517, -1, -1, -1,
+ 1226, -1, 4, 5, -1, -1, 8, 9, 529, 530,
+ -1, 532, 14, -1, 1240, 1241, -1, -1, -1, -1,
+ -1, -1, -1, 343, -1, -1, 28, 347, 30, 349,
+ 350, 351, -1, -1, -1, 37, -1, -1, -1, -1,
+ 360, 1196, 1268, 1198, 46, 1200, -1, -1, -1, -1,
+ -1, -1, -1, 55, -1, 57, 58, -1, -1, 905,
+ -1, -1, 908, -1, 1, -1, 3, 4, 5, 6,
+ -1, 8, 1298, 393, 920, -1, -1, -1, 924, 925,
+ -1, -1, 402, -1, 404, 405, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 419,
+ -1, 1327, 422, -1, -1, 42, 627, 628, -1, 1155,
+ 1156, 632, 49, -1, 434, -1, -1, -1, 55, -1,
+ 57, 58, 442, 969, 970, 3, 4, 5, 6, -1,
+ -1, -1, -1, -1, -1, 1181, 1182, -1, -1, -1,
+ -1, 1367, -1, 1298, -1, 3, 4, 5, 6, -1,
+ 470, 471, 89, 31, 474, 1381, 476, 477, 478, 479,
+ -1, -1, -1, 483, 42, 1211, 1212, -1, 488, -1,
+ 48, 491, -1, -1, -1, -1, -1, 55, 1404, 57,
+ 58, -1, -1, -1, 42, -1, -1, -1, 508, -1,
+ -1, 49, -1, 71, 3, 4, 5, 6, -1, 57,
+ 58, 471, -1, 81, 474, -1, 476, 477, -1, -1,
+ -1, 89, -1, -1, -1, 93, 94, -1, 488, -1,
+ -1, -1, 31, 81, -1, -1, 546, 547, 548, 549,
+ -1, 89, -1, 42, 1460, 756, -1, -1, -1, 48,
+ -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
+ -1, 1477, 1478, -1, -1, -1, -1, -1, -1, 1305,
+ 1306, -1, 71, -1, -1, -1, -1, -1, -1, 4,
+ 5, -1, 81, -1, 9, -1, -1, -1, -1, -1,
+ 89, -1, -1, -1, 93, 94, 606, -1, 608, 1515,
+ -1, 812, -1, 814, -1, -1, 31, -1, -1, -1,
+ 620, -1, 622, 623, 624, 1460, -1, -1, 1154, 1155,
+ -1, 631, -1, 48, -1, 635, -1, -1, -1, 1545,
+ 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
+ 650, -1, 1178, 1179, 1180, 1181, 71, -1, -1, -1,
+ -1, 1187, -1, -1, -1, -1, 81, -1, -1, 3,
+ 4, 5, 6, 7, 8, 9, 676, -1, 93, 94,
+ 14, -1, -1, 683, 1210, 1211, 887, 888, -1, 890,
+ -1, 691, 692, 693, 694, 695, 696, 31, -1, -1,
+ -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
+ -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
+ 921, 55, -1, 57, 58, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1460, -1, -1, 71, 738, -1,
+ -1, -1, 742, 1649, -1, -1, -1, 81, -1, -1,
+ 750, 751, 752, 753, 754, 89, -1, -1, 758, 93,
+ 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 973, -1, -1, -1, 1302, 1303, 1304, 1305,
+ -1, -1, -1, 1309, -1, -1, 786, -1, -1, 789,
+ -1, 791, -1, -1, -1, -1, 796, 797, -1, 799,
+ 750, 751, 752, 753, -1, 805, 1532, 1533, 758, -1,
+ -1, 811, -1, -1, -1, -1, -1, -1, 818, 819,
+ 820, -1, 1, -1, 3, 4, 5, 6, 7, 8,
+ 9, 831, -1, -1, -1, 14, -1, -1, -1, -1,
+ -1, 1042, -1, -1, -1, -1, -1, -1, -1, 28,
+ -1, 30, 31, 1054, -1, -1, -1, -1, 37, -1,
+ -1, -1, -1, 42, -1, -1, -1, 46, -1, -1,
+ 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
+ -1, -1, 61, -1, -1, -1, -1, -1, 1414, 1415,
+ -1, 1417, 71, -1, -1, -1, -1, -1, 3, 4,
+ 5, 6, 81, -1, 904, 905, -1, -1, 908, -1,
+ 89, 911, -1, -1, 93, -1, 916, -1, -1, -1,
+ 920, -1, 922, -1, 924, 925, 926, -1, -1, -1,
+ 930, -1, 932, -1, -1, -1, -1, 42, -1, -1,
+ -1, 1142, -1, -1, -1, -1, -1, -1, -1, -1,
+ 55, -1, 57, 58, -1, -1, 61, -1, 63, -1,
+ -1, -1, -1, -1, -1, 965, 71, 967, -1, 969,
+ 970, 971, 4, 1499, 1500, -1, 81, -1, -1, -1,
+ -1, -1, 14, -1, 89, 1186, -1, -1, 93, -1,
+ -1, 23, 24, -1, -1, -1, -1, -1, 30, 31,
+ -1, 33, -1, 35, -1, -1, 3, 4, 5, 6,
+ 42, -1, 9, -1, 1014, -1, -1, -1, -1, 969,
+ 970, -1, -1, 55, -1, 57, -1, 1027, 1028, 1029,
+ 1030, -1, -1, 65, 31, -1, -1, -1, -1, -1,
+ 72, -1, -1, 1043, -1, 42, 1046, -1, -1, -1,
+ -1, -1, 84, 1254, -1, 1055, -1, 1258, 55, -1,
+ 57, 58, -1, -1, -1, -1, -1, -1, 1068, -1,
+ -1, -1, -1, -1, 71, -1, 1076, -1, 1028, 1029,
+ 1030, -1, -1, -1, 81, -1, -1, -1, -1, 1089,
+ -1, 1091, 89, 1294, -1, -1, 93, -1, -1, 1099,
+ -1, -1, -1, -1, 136, -1, 1307, -1, 140, 141,
+ -1, -1, -1, -1, 146, -1, -1, 149, 150, 151,
+ 1120, -1, -1, -1, -1, 1125, 1126, -1, 1128, -1,
+ -1, -1, -1, 165, -1, -1, -1, 169, -1, -1,
+ -1, -1, -1, 175, 176, -1, -1, -1, -1, -1,
+ -1, 1151, -1, -1, 1154, 1155, 1156, -1, -1, -1,
+ -1, 193, 194, 195, 3, 4, 5, 6, -1, 1370,
+ 9, -1, -1, 1374, -1, -1, -1, 1177, 1178, 1179,
+ 1180, 1181, 1182, 1183, -1, -1, -1, 1187, -1, -1,
+ 222, -1, 31, -1, -1, 1396, 1397, -1, -1, -1,
+ -1, -1, -1, 42, -1, -1, -1, -1, -1, -1,
+ 1210, 1211, 1212, -1, -1, -1, 55, -1, 57, 58,
+ -1, -1, 1222, 1223, 1224, 1225, -1, 259, 1178, 1179,
+ 1180, 1181, 71, -1, -1, -1, -1, 1187, -1, -1,
+ -1, -1, 81, -1, 1244, -1, -1, -1, -1, 1249,
+ 89, -1, 1252, -1, 93, -1, -1, -1, -1, -1,
+ 1210, 1211, -1, -1, -1, 297, 298, -1, -1, -1,
+ -1, -1, 1222, 1223, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 3, 4,
5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
- -1, -1, -1, 1557, 1558, -1, -1, -1, -1, 1563,
- -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
- -1, 606, 37, 608, -1, -1, -1, 42, -1, -1,
- -1, 46, -1, -1, 49, -1, -1, 622, 623, 624,
- 55, -1, 57, 58, -1, -1, 631, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 71, -1, 742, 644,
- -1, -1, -1, -1, -1, 650, 81, -1, -1, -1,
- -1, -1, -1, -1, 89, -1, -1, -1, 93, -1,
- -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
- 1, 676, 3, 4, 5, 6, 7, 8, 9, 684,
- -1, -1, -1, 14, -1, -1, 691, 692, 693, 694,
- 695, 696, -1, -1, -1, -1, -1, 28, -1, 30,
- 31, 32, 806, -1, -1, -1, 37, 38, 812, -1,
- -1, 42, -1, -1, 719, 46, 47, -1, 49, -1,
- -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
- 61, -1, 63, 738, -1, -1, -1, 742, -1, -1,
- 71, -1, -1, -1, -1, 750, 751, 752, 753, 754,
- 81, -1, -1, 758, -1, -1, -1, -1, 89, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, -1, -1, 9, 881, 109, -1,
- -1, -1, 787, -1, -1, 790, -1, 792, -1, -1,
- -1, -1, 797, 798, -1, 800, -1, -1, 31, -1,
- -1, 806, -1, 3, 4, 5, 6, 812, -1, 42,
- -1, -1, -1, 917, 819, 820, 821, -1, -1, 923,
- -1, -1, 55, 927, 57, 58, -1, 832, -1, 481,
- -1, 31, -1, -1, 486, -1, -1, -1, 71, -1,
- -1, -1, 42, -1, -1, -1, -1, -1, 81, -1,
- -1, -1, -1, -1, -1, 55, 89, 57, 58, 511,
- 93, -1, 966, -1, 968, 517, -1, -1, 972, -1,
- -1, 71, -1, -1, -1, -1, -1, 529, 530, -1,
- 532, 81, -1, -1, -1, -1, -1, -1, -1, 89,
- -1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
- 905, 906, -1, -1, 909, 4, 5, 912, 7, 8,
- 9, 1015, 917, 12, -1, 14, 921, -1, 923, -1,
- 925, 926, 927, -1, 1028, -1, 931, -1, 933, 28,
- -1, 30, 31, -1, 1038, -1, -1, -1, 37, -1,
- -1, 1045, -1, -1, -1, -1, -1, 46, -1, 48,
- -1, -1, -1, 1057, -1, -1, 55, -1, 57, 58,
- -1, 966, -1, 968, -1, 970, 971, 972, -1, -1,
- -1, -1, 71, -1, -1, 627, 628, -1, -1, -1,
- 632, -1, 81, -1, -1, -1, -1, 1091, -1, 1093,
- -1, -1, -1, -1, 93, 94, -1, 1101, -1, -1,
- -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
- 1015, -1, -1, -1, 14, -1, -1, -1, 1122, -1,
- -1, -1, -1, 1028, 1029, 1030, 1031, 27, 28, -1,
- 30, 31, 32, -1, -1, -1, -1, 37, 1043, -1,
- 1045, -1, 42, 1048, -1, 45, 46, 47, -1, 49,
- -1, -1, 1057, -1, 1158, 55, -1, 57, 58, -1,
- -1, 61, -1, -1, 3, 4, 5, 6, -1, -1,
- 9, 71, -1, 1078, -1, -1, -1, -1, -1, -1,
- 1184, 81, 4, 5, -1, -1, 1091, 9, 1093, 89,
- -1, -1, 31, 93, -1, -1, 1101, -1, 98, -1,
- -1, -1, -1, 42, 756, -1, -1, -1, -1, 31,
- 1214, -1, -1, -1, -1, -1, 55, 1122, 57, 58,
- -1, -1, 1127, 1128, -1, 1130, 48, -1, -1, -1,
- -1, -1, 71, 55, -1, 57, 58, -1, -1, -1,
- -1, -1, 81, -1, -1, -1, -1, -1, 1153, 71,
- 89, 1156, 1157, 1158, 93, -1, -1, -1, -1, 81,
- -1, 813, -1, 815, -1, -1, -1, -1, -1, -1,
- -1, 93, 94, -1, 1179, 1180, 1181, 1182, 1183, 1184,
- 1185, -1, -1, -1, 1189, -1, -1, -1, -1, -1,
- -1, 1196, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, -1, 1310, 1212, 1213, 1214,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1224,
- 1225, 1226, 1227, -1, -1, -1, -1, -1, 1233, -1,
- 4, -1, -1, -1, -1, -1, 888, 889, -1, 891,
- 4, 5, -1, 1248, -1, 9, -1, -1, 1253, -1,
- -1, 1256, -1, -1, -1, -1, 30, 31, -1, 33,
- -1, 35, -1, -1, 1368, -1, -1, 31, 42, -1,
- 922, 3, 4, 5, 6, -1, -1, 9, -1, -1,
- -1, 55, -1, 57, 48, -1, -1, -1, -1, -1,
- -1, 55, -1, 57, 58, -1, -1, -1, -1, 31,
- 1305, 1306, 1307, 1308, 1309, 1310, 80, 71, 1313, -1,
- 42, -1, -1, -1, -1, -1, -1, 81, -1, -1,
- -1, -1, 974, 55, -1, 57, 58, -1, -1, 93,
- 94, -1, -1, 1338, -1, -1, -1, -1, -1, 71,
- -1, -1, -1, -1, 1349, 1350, 1351, -1, -1, 81,
- -1, -1, -1, -1, -1, -1, -1, 89, -1, 133,
- 134, 93, 136, 1368, -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,
- -1, 165, 1044, -1, -1, 169, -1, -1, -1, -1,
- -1, 175, 176, 1507, 1056, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1420, 1421, -1, 1423, 193,
- 194, 195, -1, -1, -1, -1, -1, -1, -1, 203,
- -1, -1, -1, -1, -1, 1539, -1, 1, -1, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 222, 13,
- 14, -1, -1, -1, 1558, -1, -1, -1, -1, -1,
- -1, 1466, -1, -1, 28, 29, 30, 31, 32, -1,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, -1, 259, 50, 51, 52, 53,
- 54, 55, 1144, 57, 58, 59, -1, 61, 62, -1,
- 1505, 1506, 1507, 1508, 68, -1, -1, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
- -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
- -1, -1, 1537, 1538, 1539, -1, 1188, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
- -1, -1, 1557, 1558, -1, -1, 330, -1, 1563, -1,
+ -1, 1301, 1302, 1303, 1304, 1305, 1306, -1, -1, 1309,
+ -1, 343, -1, -1, -1, 347, 31, 349, 350, 351,
+ -1, -1, 37, -1, 356, -1, -1, 42, 360, -1,
+ -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
+ 55, -1, 57, 58, -1, 1345, 1346, 1347, -1, -1,
+ -1, -1, 1302, 1303, 1304, 1305, 71, -1, -1, 1309,
+ -1, 393, -1, -1, 1364, -1, 81, -1, -1, -1,
+ 402, -1, 404, 405, 89, -1, -1, -1, 93, 94,
+ 3, 4, 5, 6, -1, -1, 9, 419, -1, -1,
+ 422, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 434, -1, -1, -1, -1, -1, 31, -1,
+ 442, -1, -1, -1, 1414, 1415, -1, 1417, -1, 42,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 55, -1, 57, 58, -1, -1, 470, 471,
+ -1, -1, 474, -1, 476, 477, 478, 479, 71, -1,
+ -1, 483, -1, -1, -1, -1, 488, -1, 81, 491,
+ 1460, -1, -1, -1, 1414, 1415, 89, 1417, -1, -1,
+ 93, -1, -1, -1, -1, 507, 508, -1, -1, -1,
+ -1, 3, 4, 5, 6, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, -1, -1, 14, -1, -1, 1499,
+ 1500, 1501, 1502, -1, -1, -1, -1, -1, -1, -1,
+ 28, -1, 30, 31, 546, 547, 548, 549, -1, 37,
+ 42, -1, -1, -1, 42, -1, -1, 49, 46, -1,
+ -1, 1531, 1532, 1533, -1, 57, 58, 55, -1, 57,
+ 58, -1, -1, 61, -1, -1, -1, -1, -1, 1499,
+ 1500, 1551, 1552, 71, -1, -1, -1, 1557, -1, 81,
+ -1, -1, -1, 81, -1, -1, -1, 89, -1, -1,
+ -1, 89, -1, -1, 606, 93, 608, -1, -1, -1,
+ -1, 1531, 1532, -1, -1, -1, -1, -1, 4, 5,
+ 622, 623, 624, 9, -1, -1, -1, -1, -1, 631,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 347, -1, -1, -1, -1, -1, -1,
- -1, 355, -1, -1, -1, -1, 360, 1, -1, 3,
- 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
- 14, -1, -1, -1, -1, -1, 1258, -1, -1, -1,
- 1262, -1, -1, -1, 28, -1, 30, 31, 32, 393,
- -1, -1, -1, 37, 38, -1, -1, -1, 42, -1,
- 404, -1, 46, 47, -1, 49, -1, -1, -1, -1,
- -1, 55, -1, 57, 58, 419, 1298, 61, 422, 63,
- -1, -1, -1, -1, 428, 429, 430, 71, -1, 1311,
- 434, -1, -1, -1, -1, -1, -1, 81, 442, -1,
- -1, 3, 4, 5, 6, 89, -1, 9, -1, 93,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 109, 470, 471, -1, 31,
- 474, -1, 476, 477, 478, 479, -1, -1, -1, 483,
- 42, 4, 5, -1, 488, 8, 9, 491, -1, -1,
- -1, 14, -1, 55, 1376, 57, 58, -1, 1380, -1,
- -1, -1, -1, -1, 508, 28, -1, 30, -1, 71,
- -1, -1, -1, -1, 37, -1, -1, -1, -1, 81,
- 1402, 1403, -1, 46, -1, -1, -1, 89, -1, -1,
- -1, 93, 55, 537, 57, 58, 540, -1, -1, -1,
- -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
- 9, -1, 556, 557, 558, 14, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 571, -1, 28,
- -1, 30, 31, 32, -1, -1, -1, -1, 37, -1,
- 4, -1, -1, 42, -1, -1, -1, 46, 47, -1,
- 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
- -1, -1, 61, -1, 63, -1, 30, 31, -1, 33,
- -1, 35, 71, -1, -1, 619, 4, 5, 42, 7,
- 8, 9, 81, -1, 12, -1, 14, 631, -1, -1,
- 89, 55, -1, 57, 93, -1, -1, -1, -1, -1,
- 28, -1, 30, 31, -1, -1, 650, 4, 5, 37,
- -1, -1, 9, -1, -1, -1, -1, -1, 46, -1,
- 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
- 58, -1, 676, -1, 31, -1, -1, -1, -1, 683,
- -1, -1, -1, 71, -1, -1, -1, 691, 692, 693,
- 694, 48, -1, 81, -1, -1, -1, -1, 55, -1,
- 57, 58, -1, -1, -1, 93, 94, -1, -1, -1,
- -1, -1, 136, -1, 71, -1, 140, 141, -1, -1,
- -1, -1, 146, -1, 81, 149, 150, 151, -1, -1,
- -1, -1, -1, -1, 738, -1, 93, 94, 742, -1,
- -1, 165, -1, -1, -1, 169, 750, 751, 752, 753,
- 754, 175, 176, -1, 758, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, -1, -1, -1, -1, -1, 193,
- 194, 195, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 790, -1, 792, -1,
- -1, -1, -1, 797, 798, -1, 800, -1, 222, 42,
- 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, 12, 55, 14, 57, 58, -1, -1, -1, -1,
- 63, 825, -1, -1, 25, -1, 27, -1, 71, -1,
- 31, -1, -1, -1, -1, 259, 37, -1, 81, -1,
- -1, 42, -1, -1, -1, 46, 89, 48, -1, -1,
- 93, -1, -1, -1, 55, -1, 57, 58, 59, 60,
- 61, -1, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, -1, 87, 88, 89, -1,
- 91, 92, 93, 94, 95, -1, 97, 4, 5, -1,
- -1, 102, 9, -1, -1, -1, 107, 108, 109, -1,
- 111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 925, 926, 927, 31, -1, -1, 931, 932, -1,
- -1, -1, 356, -1, -1, -1, 360, -1, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
- 57, 58, 3, 4, 5, 6, -1, -1, -1, -1,
- -1, -1, -1, -1, 71, -1, 970, 971, 972, -1,
- -1, -1, -1, 977, 81, -1, -1, -1, -1, -1,
- 404, 33, -1, -1, -1, -1, 93, 94, -1, -1,
- -1, 42, -1, -1, -1, 419, -1, -1, 422, -1,
- -1, -1, -1, 55, 55, -1, 57, 58, -1, -1,
- 434, 1015, 63, -1, -1, -1, -1, -1, 442, -1,
- 71, -1, -1, 3, 4, 5, 6, 7, 8, 9,
- 81, -1, -1, -1, 14, -1, -1, -1, 89, -1,
- -1, -1, 93, -1, 1048, -1, 470, 471, -1, -1,
- 474, 31, 476, 477, 478, -1, -1, 37, -1, 483,
- -1, -1, 42, -1, 488, 1069, 46, 491, 48, -1,
- -1, -1, -1, -1, 1078, 55, -1, 57, 58, -1,
- -1, -1, 4, 5, 508, -1, 8, 9, -1, -1,
- -1, 71, 14, -1, -1, -1, -1, 149, 150, 151,
- -1, 81, -1, -1, -1, -1, 28, -1, 30, 89,
- -1, -1, -1, 93, 94, 37, -1, -1, -1, -1,
- -1, -1, -1, 175, 46, -1, -1, -1, -1, -1,
- -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
- -1, 193, 194, 195, -1, -1, -1, -1, -1, 1153,
- -1, -1, 1156, 1157, 1158, 1159, -1, -1, -1, 1,
- -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- 222, -1, 14, -1, -1, 1179, 1180, 1181, 1182, 1183,
- 1184, 1185, -1, 1187, -1, 1189, 28, -1, 30, 31,
- -1, -1, -1, -1, -1, 37, 620, -1, -1, -1,
- 42, -1, -1, -1, 46, -1, -1, 49, 1212, 1213,
- 1214, -1, -1, 55, -1, 57, 58, -1, -1, 61,
- -1, -1, -1, -1, -1, -1, 650, -1, -1, 71,
- 4, 5, -1, 7, 8, 9, -1, -1, 12, 81,
- 14, -1, -1, -1, 1248, -1, 298, 89, -1, 1253,
- -1, 93, 1256, -1, 28, -1, 30, 31, -1, -1,
- -1, -1, -1, 37, -1, -1, -1, 691, 692, 693,
- 694, -1, 46, -1, -1, -1, -1, -1, -1, -1,
- -1, 55, -1, 57, 58, 3, 4, 5, 6, 7,
- 8, 9, -1, -1, -1, -1, 14, 349, 350, 351,
- -1, 1305, 1306, 1307, 1308, 1309, 1310, -1, 55, 1313,
- 28, -1, 30, 31, 738, -1, -1, -1, 742, 37,
- -1, -1, -1, -1, 42, -1, 750, 751, 46, 12,
- -1, -1, -1, 80, 758, -1, 83, 55, -1, 57,
- 58, -1, -1, 61, -1, 1349, 1350, 1351, -1, -1,
- -1, -1, 404, 71, -1, -1, -1, 104, -1, 106,
- -1, -1, -1, 81, -1, -1, 790, -1, 792, -1,
- -1, 89, -1, 797, 798, 93, 800, -1, -1, -1,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, -1, -1, -1, 3, 4, 5, 6,
- -1, -1, 9, -1, -1, -1, -1, -1, 470, 471,
- -1, -1, 474, -1, 476, 477, 478, 479, 175, -1,
- -1, 483, -1, -1, 31, -1, 488, -1, -1, 491,
- -1, -1, -1, -1, -1, 42, 193, 194, 195, -1,
- -1, -1, -1, -1, -1, -1, 203, -1, 55, -1,
- 57, 58, 1466, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 71, 222, -1, 3, 4, 5,
- 6, 7, 8, 9, 81, -1, 12, -1, 14, -1,
- -1, -1, 89, -1, -1, -1, 93, 3, 4, 5,
- 6, 248, 28, 9, 30, 31, -1, -1, -1, 933,
- -1, 37, -1, -1, -1, 262, 42, -1, -1, -1,
- 46, -1, 48, -1, -1, 31, -1, -1, -1, 55,
- -1, 57, 58, 1537, 1538, 1539, 42, -1, -1, -1,
- -1, -1, -1, -1, -1, 71, 970, 971, 972, 55,
- -1, 57, 58, -1, -1, 81, 608, -1, -1, 1563,
- -1, -1, -1, 89, -1, 71, -1, 93, 94, -1,
- 622, 623, 624, -1, -1, 81, -1, -1, -1, 631,
- -1, -1, -1, 89, -1, -1, -1, 93, -1, -1,
- -1, 1015, -1, -1, -1, -1, -1, -1, 650, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
- 4, 5, 6, -1, 1048, 3, 4, 5, 6, 7,
- 8, 9, -1, -1, -1, -1, 14, -1, -1, 691,
- -1, 693, 694, -1, 696, -1, -1, 31, -1, -1,
- 28, -1, 30, 31, 1078, -1, -1, 404, 42, 37,
- -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
- 48, 55, -1, 57, 58, -1, -1, 55, -1, 57,
- 58, -1, -1, -1, -1, -1, 738, 71, -1, -1,
- -1, -1, -1, 71, -1, -1, -1, 81, 750, 751,
- 752, 753, 754, 81, -1, 89, 758, -1, -1, 93,
- -1, 89, -1, -1, -1, 93, 94, -1, -1, -1,
- -1, -1, -1, 470, 471, -1, -1, 474, -1, 476,
- 477, 478, 479, -1, -1, -1, 483, -1, -1, -1,
- -1, 488, -1, -1, 491, 797, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1179, 1180, 1181, 1182, 1183,
- 1184, -1, -1, -1, -1, 1189, -1, 819, 820, 821,
- -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
- 832, -1, 12, -1, 14, -1, -1, -1, 1212, 1213,
- 1214, -1, -1, -1, 3, 4, 5, 6, 28, -1,
- 30, 31, -1, -1, -1, -1, -1, 37, -1, -1,
- -1, -1, 42, -1, -1, -1, 46, -1, -1, -1,
- -1, -1, -1, -1, 1248, 55, -1, 57, 58, 1253,
- -1, -1, 1256, 42, -1, -1, -1, -1, -1, -1,
- -1, 71, -1, -1, -1, -1, 55, -1, 57, 58,
- -1, 81, 61, 905, 906, -1, -1, 909, -1, 89,
- 912, -1, 71, 93, -1, -1, -1, -1, -1, 921,
- -1, -1, 81, 925, 926, 927, -1, -1, -1, 931,
- 89, -1, 1306, 1307, 93, -1, -1, 634, 635, 1313,
- -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
- 7, 8, 9, 650, -1, -1, -1, 14, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 970, 971,
- 972, 28, -1, 30, 31, 1349, 1350, 1351, -1, -1,
- 37, -1, -1, -1, -1, 42, -1, -1, -1, 46,
- -1, -1, -1, -1, 691, -1, 693, 694, 55, -1,
- 57, 58, -1, -1, -1, -1, 63, -1, -1, -1,
- -1, -1, -1, 1015, 71, -1, -1, 349, 350, 351,
- 3, 4, 5, 6, 81, -1, 9, 1029, 1030, 1031,
- -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
- -1, 738, -1, -1, -1, -1, 1048, -1, 31, -1,
- -1, -1, -1, 750, 751, 752, 753, 754, 755, 42,
- -1, 758, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 55, -1, 57, 58, -1, -1, -1, -1,
- 3, 4, 5, 6, 7, 8, 9, 784, 71, -1,
- -1, 14, 1466, -1, -1, -1, -1, -1, 81, -1,
- 797, -1, -1, -1, -1, 28, 89, 30, 31, -1,
- 93, -1, -1, -1, 37, -1, -1, -1, -1, 42,
- -1, -1, -1, 46, -1, 1127, 1128, -1, 1130, -1,
- -1, -1, 55, 14, 57, 58, -1, -1, 61, -1,
- -1, -1, 23, 24, -1, -1, -1, -1, 71, 30,
- 31, 1153, 33, -1, 1156, 1157, 1158, -1, 81, -1,
- -1, -1, -1, 1537, 1538, 1539, 89, -1, -1, -1,
- 93, -1, -1, -1, -1, -1, -1, 1179, 1180, 1181,
- 1182, 1183, 1184, 1185, 65, -1, -1, 1189, -1, 1563,
+ -1, -1, 644, -1, -1, 31, -1, -1, 650, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
- 1212, 1213, 1214, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1224, 1225, 1226, 1227, -1, -1, -1, -1,
- -1, 31, -1, -1, -1, 932, 933, 934, -1, -1,
- -1, -1, 42, 124, -1, 126, 1248, -1, -1, -1,
- -1, -1, 133, 134, -1, 55, -1, 57, 58, 140,
- 141, -1, -1, 144, 145, 146, -1, 148, 149, 150,
- 151, 71, -1, 970, 971, 972, -1, -1, -1, -1,
- 977, 81, -1, -1, -1, 3, 4, 5, 6, 89,
- 622, 623, 624, 93, -1, -1, -1, -1, -1, 631,
- -1, -1, -1, 1305, 1306, 1307, 1308, 1309, 1310, -1,
- -1, 1313, -1, -1, -1, -1, -1, -1, 1015, -1,
- -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
- -1, -1, 1029, 1030, 1031, -1, -1, 55, -1, 57,
- 58, -1, -1, -1, -1, -1, 31, 1349, -1, 1351,
- -1, 1048, -1, 71, -1, -1, -1, 238, 239, 691,
- -1, 693, 694, 81, 696, -1, -1, -1, -1, -1,
- -1, 89, 1069, -1, -1, 93, -1, -1, 259, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ -1, -1, 48, -1, -1, -1, -1, -1, -1, 55,
+ -1, 57, 58, 1, 676, 3, 4, 5, 6, 7,
+ 8, 9, 684, -1, -1, 71, 14, -1, -1, 691,
+ 692, 693, 694, 695, 696, 81, -1, -1, -1, -1,
+ 28, -1, 30, 31, 32, -1, -1, 93, 94, 37,
+ 38, -1, -1, -1, 42, -1, -1, 719, 46, 47,
+ -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
+ 58, -1, -1, 61, -1, 63, 738, -1, -1, -1,
+ 742, -1, -1, 71, -1, -1, -1, -1, 750, 751,
+ 752, 753, 754, 81, -1, -1, 758, -1, -1, -1,
+ -1, 89, -1, -1, -1, 93, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, -1, -1, -1, 4, 5, 738, 7, 8, 9,
- -1, -1, 12, -1, 14, -1, -1, 298, 1420, 1421,
- -1, 1423, -1, -1, -1, -1, -1, -1, 28, -1,
- 30, 31, -1, -1, -1, -1, -1, 37, -1, -1,
- -1, -1, -1, -1, -1, -1, 46, -1, -1, -1,
- -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
- -1, -1, 1159, -1, 1466, -1, 347, -1, 349, 350,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1179, 1180, 1181, 1182, 1183, 1184, 1185, -1,
- 1187, -1, 1189, -1, -1, -1, -1, -1, -1, -1,
- 832, -1, -1, 1505, 1506, 1507, 1508, -1, -1, -1,
- -1, -1, 393, -1, -1, 1212, 1213, 1214, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1224, 1225, 1226,
- 1227, 412, -1, -1, -1, 1537, 1538, 1539, 419, -1,
- -1, 422, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1248, -1, 434, -1, 1557, -1, -1, -1, -1,
- -1, 1563, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 905, 906, -1, -1, 909, -1, -1,
- 912, -1, -1, -1, -1, -1, -1, -1, -1, 921,
- -1, -1, -1, 925, 926, 927, -1, -1, -1, 931,
- -1, -1, -1, -1, -1, -1, -1, -1, 1305, 1306,
- 1307, 1308, 1309, 1310, -1, -1, 1313, -1, -1, -1,
- -1, -1, -1, -1, 505, -1, 507, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 970, 971,
- 972, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 531, -1, 1349, -1, 1351, -1, -1, -1, -1, -1,
+ 85, 109, -1, -1, 786, -1, -1, 789, -1, 791,
+ -1, -1, -1, -1, 796, 797, -1, 799, 1, -1,
+ -1, 4, 5, 805, -1, 8, 9, -1, -1, 811,
+ -1, 14, -1, -1, -1, -1, 818, 819, 820, -1,
+ -1, -1, -1, -1, -1, 28, -1, 30, -1, 831,
+ -1, -1, -1, -1, 37, -1, 39, 40, -1, -1,
+ -1, -1, -1, 46, -1, 48, -1, -1, -1, -1,
+ -1, -1, 55, -1, 57, 58, -1, 60, -1, -1,
+ -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, -1, -1, 87, 88, 89, -1, 91, -1,
+ -1, 94, -1, -1, -1, -1, -1, -1, 3, 4,
+ 5, 6, 904, 905, -1, -1, 908, 110, -1, 911,
+ -1, -1, -1, -1, 916, -1, -1, -1, 920, -1,
+ 922, -1, 924, 925, 926, -1, -1, -1, 930, -1,
+ 932, -1, -1, -1, -1, -1, -1, 42, -1, -1,
+ -1, -1, -1, -1, 49, -1, -1, -1, -1, -1,
+ -1, -1, 57, 58, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 965, -1, 967, -1, 969, 970, 971,
+ 4, -1, -1, -1, -1, -1, 81, 3, 4, 5,
+ 6, 7, 8, 9, 89, -1, 12, -1, 14, -1,
+ -1, -1, -1, -1, -1, -1, 30, 31, -1, 33,
+ -1, 35, 28, -1, 30, 31, -1, -1, 42, -1,
+ -1, 37, 1014, -1, -1, -1, 42, -1, -1, -1,
+ 46, 55, 48, 57, -1, 1027, 1028, 1029, 1030, 55,
+ -1, 57, 58, -1, -1, -1, -1, -1, -1, 1041,
+ -1, 1043, -1, -1, 1046, 71, 80, -1, -1, -1,
+ -1, -1, -1, 1055, -1, 81, -1, -1, -1, -1,
+ -1, -1, -1, 89, -1, -1, -1, 93, 94, -1,
+ -1, -1, -1, -1, 1076, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1089, -1, 1091,
+ -1, -1, -1, -1, -1, -1, -1, 1099, -1, 133,
+ 134, -1, 136, -1, -1, -1, 140, 141, -1, -1,
+ 144, -1, 146, -1, -1, 149, 150, 151, 1120, -1,
+ -1, -1, 156, 1125, 1126, -1, 1128, -1, -1, -1,
+ -1, 165, -1, -1, -1, 169, -1, -1, -1, -1,
+ -1, 175, 176, -1, -1, -1, -1, -1, -1, 1151,
+ -1, -1, 1154, 1155, 1156, -1, -1, -1, -1, 193,
+ 194, 195, 4, 5, -1, -1, 8, 9, -1, 203,
+ -1, -1, 14, -1, -1, 1177, 1178, 1179, 1180, 1181,
+ 1182, 1183, -1, -1, -1, 1187, -1, -1, 222, -1,
+ -1, -1, 1194, -1, -1, 37, -1, -1, -1, -1,
+ -1, -1, -1, -1, 46, -1, 48, -1, 1210, 1211,
+ 1212, -1, -1, 55, -1, 57, 58, -1, -1, -1,
+ 1222, 1223, 1224, 1225, -1, 259, -1, 1229, 1, 71,
+ 3, 4, 5, 6, 7, 8, 9, -1, -1, 81,
+ -1, 14, 1244, -1, -1, -1, -1, 1249, -1, -1,
+ 1252, 93, 94, -1, -1, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, 37, 38, -1, -1, -1, 42,
+ -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
+ -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
+ 63, -1, -1, -1, -1, -1, 330, -1, 71, 1301,
+ 1302, 1303, 1304, 1305, 1306, -1, -1, 1309, 81, -1,
+ -1, -1, -1, 347, 4, 5, 89, 7, 8, 9,
+ 93, 355, 12, -1, 14, -1, 360, -1, -1, -1,
+ -1, -1, 1334, -1, -1, -1, 109, -1, 28, -1,
+ 30, 31, -1, 1345, 1346, 1347, -1, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, 46, -1, 48, 393,
+ -1, -1, 1364, -1, -1, 55, -1, 57, 58, -1,
+ 404, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 71, -1, -1, -1, 419, -1, -1, 422, -1,
+ -1, 81, -1, -1, 428, 429, 430, -1, -1, -1,
+ 434, -1, -1, 93, 94, -1, -1, -1, 442, -1,
+ -1, -1, 1414, 1415, -1, 1417, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, -1, 1015, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
- 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, 1420, 1421, 1422, 1423, 608, -1, -1,
- -1, -1, 68, -1, -1, 71, -1, -1, 619, 620,
- -1, 622, 623, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -1, -1, -1, 93, 94, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466,
- -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
- 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
- 14, -1, -1, -1, -1, 676, -1, -1, -1, -1,
- -1, -1, 683, 684, 28, -1, 30, 31, 1505, 1506,
- 1507, 1508, -1, 37, 695, -1, -1, -1, -1, -1,
- -1, 1153, 46, -1, 1156, 1157, 1158, -1, -1, -1,
- -1, 55, -1, 57, 58, -1, -1, -1, 719, -1,
- 1537, 1538, 1539, -1, -1, -1, -1, 1179, 1180, 1181,
- 1182, 1183, 1184, 1185, -1, -1, -1, 1189, -1, -1,
- 1557, -1, -1, -1, -1, -1, 1563, -1, -1, -1,
+ 6, 7, 8, 9, -1, -1, 470, 471, 14, -1,
+ 474, -1, 476, 477, 478, 479, -1, -1, -1, 483,
+ -1, -1, -1, -1, 488, 31, -1, 491, 1460, -1,
+ -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
+ 46, -1, 48, -1, 508, -1, -1, -1, -1, 55,
+ -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 71, -1, 1499, 1500, 1501,
+ 1502, -1, -1, 537, -1, 81, 540, -1, -1, 4,
+ -1, -1, -1, 89, -1, -1, -1, 93, -1, -1,
+ -1, -1, 556, 557, 558, -1, -1, -1, -1, 1531,
+ 1532, 1533, -1, -1, -1, 30, 31, 571, 33, -1,
+ 35, -1, -1, -1, -1, -1, -1, 42, -1, 1551,
+ 1552, -1, -1, -1, -1, 1557, -1, -1, -1, -1,
+ 55, -1, 57, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, -1, 619, 14, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 631, -1, -1,
+ 28, -1, 30, 31, 32, -1, -1, -1, -1, 37,
+ -1, -1, -1, -1, 42, -1, 650, -1, 46, 47,
+ -1, 49, -1, 3, 4, 5, 6, 55, -1, 57,
+ 58, -1, -1, 61, -1, 63, -1, -1, -1, -1,
+ -1, 136, 676, 71, -1, 140, 141, -1, -1, 683,
+ -1, 146, -1, 81, 149, 150, 151, 691, 692, 693,
+ 694, 89, 42, -1, -1, 93, -1, -1, -1, -1,
+ 165, -1, -1, -1, 169, 55, -1, 57, 58, -1,
+ 175, 176, 3, 4, 5, 6, -1, -1, 9, -1,
+ -1, 71, -1, -1, -1, -1, -1, -1, 193, 194,
+ 195, 81, -1, -1, 738, -1, -1, -1, 742, 89,
+ 31, -1, -1, 93, -1, -1, 750, 751, 752, 753,
+ 754, 42, -1, -1, 758, -1, -1, 222, -1, -1,
+ -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1212, 1213, 1214, 68, 69, 70, 71, 72, 73, 74,
+ 71, -1, -1, -1, -1, 789, -1, 791, -1, -1,
+ 81, -1, 796, 797, 259, 799, -1, -1, 89, -1,
+ -1, -1, 93, -1, -1, -1, 1, -1, 3, 4,
+ 5, 6, 7, 8, 9, -1, -1, 12, -1, 14,
+ 824, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 25, -1, 27, -1, -1, -1, 31, -1, -1, -1,
+ -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
+ -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
+ 55, -1, 57, 58, 59, 60, 61, -1, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, -1, -1, 784, -1, -1, 787, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 819, 820,
- 821, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 832, -1, -1, 111, -1, 1, -1, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- -1, -1, -1, 1305, 1306, 1307, 1308, 1309, 1310, -1,
- -1, 1313, -1, 28, 29, 30, 31, 32, -1, 34,
- 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
- -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
- -1, -1, -1, 68, 905, 906, 71, -1, 909, -1,
- -1, 912, -1, -1, 79, 80, 81, -1, -1, -1,
- 921, -1, 87, 88, 89, -1, -1, -1, 93, 94,
- 931, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 60, -1, -1, 110, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 1420, 1421,
- -1, 1423, -1, -1, -1, -1, -1, -1, -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, 37, -1, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, -1, -1, 50, 51,
- 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
- 62, -1, 1043, -1, -1, -1, 68, -1, -1, 71,
- -1, -1, -1, 1505, 1506, 1507, 1508, 79, 80, 81,
- -1, -1, -1, -1, -1, 87, 88, 89, -1, 1070,
- -1, 93, -1, 95, -1, -1, -1, -1, -1, 3,
- 4, 5, 6, 7, 8, 9, -1, 109, 110, -1,
- 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, 1557, 30, 31, -1, -1,
- -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
- -1, -1, 46, -1, -1, -1, 1127, 1128, -1, 1130,
- -1, 55, -1, 57, 58, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
- -1, -1, 1153, -1, -1, 1156, 1157, 81, -1, -1,
+ 85, 356, 87, 88, 89, 360, 91, 92, 93, 94,
+ 95, -1, 97, -1, -1, -1, -1, 102, -1, -1,
+ -1, -1, 107, 108, 109, -1, 111, -1, -1, -1,
+ 924, 925, 926, -1, -1, -1, 930, 931, -1, -1,
+ -1, 4, 5, 33, -1, 8, 9, -1, -1, 404,
+ -1, 14, -1, -1, -1, -1, -1, -1, -1, 3,
+ 4, 5, 6, -1, 419, 55, -1, 422, -1, -1,
+ -1, -1, -1, -1, 37, 969, 970, 971, -1, 434,
+ -1, -1, 976, 46, -1, 48, -1, 442, -1, -1,
+ -1, -1, 55, -1, 57, 58, -1, -1, 42, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
+ -1, 55, -1, 57, 58, 470, 471, 61, 81, 474,
+ 1014, 476, 477, 478, -1, -1, -1, 71, 483, -1,
+ 93, 94, -1, 488, -1, -1, 491, 81, -1, -1,
-1, -1, -1, -1, -1, 89, -1, -1, -1, 93,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 1196, 13, 14, 15, -1,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
- 37, -1, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, -1, 1233, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, 59, -1, 61, 62, -1, -1, -1, -1,
- 1251, 68, 1253, -1, 71, -1, -1, -1, -1, -1,
- -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- 87, 88, 89, -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, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
- -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
- -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
- 94, 1, -1, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
+ -1, -1, 1046, 508, -1, -1, -1, -1, -1, 149,
+ 150, 151, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1067, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1076, -1, -1, 175, -1, -1, 1, -1,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, -1, 193, 194, 195, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
+ -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
+ 43, 44, 222, 46, -1, 48, -1, 50, 51, 52,
+ 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
+ -1, -1, -1, -1, -1, 68, -1, 1151, 71, -1,
+ 1154, 1155, 1156, 1157, -1, 620, 79, 80, 81, -1,
+ -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
+ 93, 94, -1, 1177, 1178, 1179, 1180, 1181, 1182, 1183,
+ -1, 1185, -1, 1187, -1, 650, -1, 110, -1, -1,
+ 4, 5, -1, -1, 8, 9, -1, -1, 298, -1,
+ 14, -1, -1, -1, -1, -1, 1210, 1211, 1212, -1,
+ -1, -1, -1, -1, 28, -1, 30, -1, -1, -1,
+ -1, -1, -1, 37, -1, -1, 691, 692, 693, 694,
+ -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
+ 1244, 55, -1, 57, 58, 1249, -1, -1, 1252, 349,
+ 350, 351, -1, -1, -1, -1, -1, 71, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 81, 3, 4,
+ 5, 6, -1, 738, 9, -1, -1, 742, -1, 93,
+ 94, -1, -1, -1, -1, 750, 751, -1, -1, -1,
+ -1, -1, -1, 758, -1, -1, 31, 1301, 1302, 1303,
+ 1304, 1305, 1306, -1, 404, 1309, -1, 42, -1, -1,
+ -1, 4, 5, -1, 7, 8, 9, -1, -1, -1,
+ 55, 14, 57, 58, 789, -1, 791, -1, -1, -1,
+ -1, 796, 797, -1, 799, 28, 71, 30, 31, -1,
+ -1, 1345, 1346, 1347, 37, -1, 81, -1, -1, -1,
+ -1, -1, -1, 46, 89, -1, 49, -1, 93, -1,
+ -1, -1, 55, -1, 57, 58, -1, -1, -1, -1,
+ 470, 471, -1, -1, 474, -1, 476, 477, 478, 479,
+ -1, -1, -1, 483, -1, -1, -1, -1, 488, -1,
+ -1, 491, 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, 37, -1,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
+ -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
+ 59, -1, 61, 62, -1, -1, 1460, -1, -1, 68,
+ -1, -1, 71, -1, -1, -1, -1, 932, -1, 55,
+ 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
+ 89, -1, -1, -1, 93, -1, 95, 3, 4, 5,
+ 6, -1, -1, -1, 80, -1, -1, 83, -1, -1,
+ 109, 110, -1, -1, 969, 970, 971, -1, 608, -1,
+ -1, -1, -1, -1, 107, 108, -1, -1, 104, -1,
+ 106, -1, 622, 623, 624, -1, 42, 1531, 1532, 1533,
+ 1, 631, 3, 4, 5, 6, 7, 8, 9, 55,
+ -1, 57, 58, 14, -1, -1, -1, 63, -1, 1014,
+ 650, -1, -1, 1557, -1, 71, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
+ -1, 42, -1, 89, 45, 46, 47, 93, 49, -1,
+ -1, 1046, -1, -1, 55, -1, 57, 58, -1, 175,
+ 61, 691, -1, 693, 694, -1, 696, -1, -1, -1,
+ 71, -1, -1, -1, -1, -1, -1, 193, 194, 195,
+ 81, 1076, -1, -1, -1, -1, -1, 203, 89, -1,
+ -1, -1, 93, -1, -1, -1, -1, 98, -1, -1,
+ -1, -1, -1, -1, -1, -1, 222, -1, 738, -1,
+ -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
+ 750, 751, 752, 753, 754, -1, -1, -1, 758, -1,
+ -1, -1, 248, -1, -1, -1, -1, -1, -1, -1,
+ -1, 31, -1, -1, -1, -1, 262, -1, -1, -1,
+ -1, -1, 42, -1, -1, -1, -1, -1, 3, 4,
+ 5, 6, -1, -1, -1, 55, 796, 57, 58, 4,
+ 5, -1, 7, 8, 9, -1, -1, 12, -1, 14,
+ -1, 71, 1177, 1178, 1179, 1180, 1181, 1182, 818, 819,
+ 820, 81, 1187, 28, -1, 30, 31, 42, -1, 89,
+ -1, 831, 37, 93, -1, -1, -1, 330, -1, -1,
+ 55, 46, 57, 58, -1, 1210, 1211, 1212, 63, -1,
+ 55, -1, 57, 58, -1, -1, 71, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 81, -1, -1, 355,
+ 356, -1, -1, -1, 89, -1, -1, -1, 93, 1244,
+ -1, -1, -1, -1, 1249, -1, 1, 1252, 3, 4,
+ 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
+ -1, -1, -1, -1, 904, 905, -1, -1, 908, 402,
+ -1, 911, -1, 28, -1, 30, 31, 32, 404, -1,
+ 920, -1, 37, 38, 924, 925, 926, 42, -1, -1,
+ 930, 46, 47, -1, 49, -1, -1, 1302, 1303, -1,
+ 55, -1, 57, 58, 1309, -1, 61, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 81, -1, -1, 969,
+ 970, 971, -1, -1, 89, 468, -1, -1, 93, -1,
+ 1345, 1346, 1347, -1, 470, 471, -1, -1, 474, -1,
+ 476, 477, 478, 479, 109, -1, -1, 483, -1, -1,
+ -1, -1, 488, -1, -1, 491, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1014, -1, 4, 5, -1, -1,
+ -1, 9, -1, -1, -1, -1, -1, -1, 1028, 1029,
+ 1030, -1, 1, -1, 3, 4, 5, 6, 7, 8,
+ 9, -1, -1, 31, 537, 14, 1046, 540, -1, -1,
+ -1, -1, 545, 546, 547, 548, 549, -1, -1, 28,
+ 48, 30, 31, 32, -1, 558, -1, 55, 37, 57,
+ 58, -1, -1, 42, -1, -1, -1, 46, 571, -1,
+ 49, -1, -1, 71, -1, -1, 55, -1, 57, 58,
+ -1, -1, -1, 81, -1, 1460, -1, -1, -1, -1,
+ -1, -1, 71, -1, -1, 93, 94, -1, -1, -1,
+ -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
+ 89, -1, -1, -1, 93, 1125, 1126, -1, 1128, 98,
+ -1, 624, -1, -1, -1, -1, -1, -1, 631, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 634, 635,
+ -1, 1151, -1, -1, 1154, 1155, 1156, -1, -1, -1,
+ -1, -1, -1, -1, 650, -1, 1531, 1532, 1533, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1177, 1178, 1179,
+ 1180, 1181, 1182, 1183, -1, -1, -1, 1187, -1, -1,
+ -1, -1, 1557, 3, 4, 5, 6, 7, 8, 9,
+ -1, -1, 12, -1, 14, 691, -1, 693, 694, -1,
+ 1210, 1211, 1212, -1, -1, -1, -1, -1, 28, -1,
+ 30, 31, 1222, 1223, 1224, 1225, -1, 37, -1, -1,
+ -1, -1, 42, -1, -1, -1, 46, -1, 48, -1,
+ -1, -1, -1, -1, 1244, 55, -1, 57, 58, 742,
+ -1, -1, 738, -1, -1, -1, -1, -1, -1, -1,
+ -1, 71, -1, -1, 750, 751, 752, 753, 754, 755,
+ -1, 81, 758, -1, -1, -1, -1, -1, -1, 89,
+ -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 783, -1, -1,
+ -1, 1301, 1302, 1303, 1304, 1305, 1306, -1, -1, 1309,
+ 796, -1, 805, 349, 350, 351, -1, -1, 811, -1,
+ -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1345, -1, 1347, 28, 29,
30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
+ -1, -1, 62, -1, -1, -1, -1, 880, 68, -1,
-1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -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, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
+ -1, -1, -1, 93, 1414, 1415, -1, 1417, -1, -1,
+ -1, -1, -1, 916, -1, -1, -1, -1, 108, 922,
+ 110, -1, -1, 926, -1, -1, -1, 3, 4, 5,
+ 6, 7, 8, 9, -1, 931, 932, 933, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1460, -1, 28, -1, 30, 31, -1, -1, -1, -1,
+ -1, 37, 965, -1, 967, -1, 42, -1, 971, -1,
+ 46, -1, -1, 969, 970, 971, -1, -1, -1, 55,
+ 976, 57, 58, -1, -1, -1, -1, 63, -1, 1499,
+ 1500, 1501, 1502, 14, -1, 71, -1, -1, -1, -1,
+ -1, -1, 23, 24, -1, 81, -1, -1, -1, 30,
+ 31, 1014, 33, 89, -1, -1, -1, 93, 1014, -1,
+ -1, 1531, 1532, 1533, 1027, -1, -1, -1, -1, -1,
+ -1, -1, 1028, 1029, 1030, -1, -1, -1, -1, -1,
+ 1043, 1551, -1, -1, 65, -1, -1, 1557, -1, -1,
+ 1046, -1, 1055, -1, 3, 4, 5, 6, -1, -1,
+ 9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1067, -1, -1, -1, -1, 622, 623, 624, -1,
+ -1, -1, 31, -1, -1, 631, 1089, -1, 1091, -1,
+ -1, -1, -1, 42, -1, -1, 1099, -1, -1, -1,
+ -1, -1, -1, 124, -1, 126, 55, -1, 57, 58,
+ -1, -1, 133, 134, -1, -1, -1, 1120, -1, 140,
+ 141, -1, 71, 144, 145, 146, -1, 148, 149, 150,
+ 151, -1, 81, -1, -1, -1, -1, -1, -1, -1,
+ 89, -1, -1, -1, 93, 691, -1, 693, 694, -1,
+ 696, -1, -1, 1156, -1, -1, -1, -1, -1, -1,
+ -1, 1157, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 1182,
+ -1, 1177, 1178, 1179, 1180, 1181, 1182, 1183, -1, 1185,
+ -1, 1187, 738, -1, -1, -1, -1, 3, 4, 5,
+ 6, 7, 8, 9, -1, -1, 12, -1, 14, 1212,
+ -1, -1, -1, -1, 1210, 1211, 1212, 238, 239, -1,
+ -1, -1, 28, -1, 30, 31, 1222, 1223, 1224, 1225,
+ -1, 37, -1, -1, -1, -1, 42, -1, 259, -1,
+ 46, -1, 48, -1, -1, 4, 5, -1, 1244, 55,
+ 9, 57, 58, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 71, -1, -1, -1, -1,
+ -1, -1, 31, -1, -1, 81, -1, 298, 3, 4,
+ 5, 6, -1, 89, -1, 831, -1, 93, 94, 48,
+ -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
+ -1, -1, -1, 1306, -1, 1301, 1302, 1303, 1304, 1305,
+ 1306, -1, 71, 1309, -1, -1, -1, 42, -1, -1,
+ -1, -1, 81, -1, -1, -1, 347, -1, 349, 350,
+ 55, -1, 57, 58, 93, 94, 61, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 71, -1, -1, 1345,
+ -1, 1347, -1, -1, -1, -1, 81, -1, 904, 905,
+ -1, 1364, 908, -1, 89, 911, -1, -1, 93, -1,
+ -1, -1, 393, -1, 920, -1, -1, -1, 924, 925,
+ 926, -1, -1, -1, 930, -1, -1, -1, -1, -1,
+ -1, 412, -1, -1, -1, -1, -1, -1, 419, -1,
+ -1, 422, 1, -1, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 434, 13, 14, -1, -1, 1414, 1415,
+ 1416, 1417, -1, 969, 970, 971, -1, -1, -1, 28,
+ 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
-1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
+ 59, -1, 61, 62, 1460, -1, -1, -1, 1014, 68,
-1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -1, -1, -1, 93, 94, 1, -1, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- 109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
- 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
- -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
- -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
- -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
- -1, -1, 87, 88, 89, -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,
+ 79, 80, 81, -1, 505, -1, 507, -1, 87, 88,
+ 89, -1, -1, -1, 93, -1, -1, -1, 1501, -1,
+ -1, -1, -1, 1499, 1500, 1501, 1502, -1, -1, -1,
+ 531, 110, -1, -1, -1, -1, -1, 3, 4, 5,
+ 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
+ 1533, -1, -1, -1, -1, 1531, 1532, 1533, -1, -1,
+ -1, -1, 28, -1, 30, 31, 32, -1, -1, 1552,
+ -1, 37, -1, -1, -1, 1551, 42, -1, -1, -1,
+ 46, 1557, -1, 49, -1, -1, -1, -1, -1, 55,
+ -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 71, -1, 608, -1, -1,
+ -1, -1, -1, -1, -1, 81, -1, -1, 619, 620,
+ -1, 622, 623, 89, -1, 1151, -1, 93, 1154, 1155,
+ 1156, -1, 98, 1, -1, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
+ -1, 1177, 1178, 1179, 1180, 1181, 1182, 1183, -1, -1,
+ 28, 1187, 30, 31, 32, -1, -1, -1, -1, 37,
+ 38, -1, -1, -1, 42, 676, -1, -1, 46, 47,
+ -1, 49, 683, 684, 1210, 1211, 1212, 55, -1, 57,
+ 58, 12, -1, 61, 695, 63, -1, -1, -1, -1,
+ -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 81, -1, -1, -1, -1, 719, -1,
+ -1, 89, -1, -1, -1, 93, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 109, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1301, 1302, 1303, 1304, 1305,
+ 1306, -1, 783, 1309, -1, 786, -1, -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, -1, -1, 818, 819, 820,
+ 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
+ 831, 39, 40, 41, 42, 43, 44, -1, 46, -1,
+ 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
+ 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
+ 68, -1, -1, 71, -1, -1, 3, 4, 5, 6,
+ -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
+ 88, 89, -1, -1, -1, 93, 94, -1, 1414, 1415,
+ -1, 1417, -1, -1, 31, -1, -1, -1, -1, -1,
+ -1, -1, 110, 904, 905, 42, -1, 908, -1, -1,
+ 911, -1, -1, -1, -1, -1, -1, -1, 55, 920,
+ 57, 58, -1, -1, -1, -1, -1, -1, -1, 930,
+ -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
+ -1, -1, 89, -1, -1, -1, 93, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 1499, 1500, 1501, 1502, 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, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
- -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
- -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
- 94, 1, -1, 3, 4, 5, 6, -1, 8, 9,
- 10, 11, -1, 13, 14, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -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, 37, -1,
+ 44, 45, 46, 47, -1, 1551, 50, 51, 52, 53,
+ 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
+ 1041, -1, -1, -1, 68, -1, -1, 71, -1, -1,
+ -1, -1, -1, -1, 31, 79, 80, 81, -1, -1,
+ -1, -1, -1, 87, 88, 89, -1, 1068, -1, 93,
+ -1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 110, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1125, 1126, -1, 1128, 1, -1,
+ 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
+ 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1151, -1, -1, 1154, 1155, 28, 29, 30, -1, 32,
+ -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
+ 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
+ 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
+ -1, -1, -1, 1194, -1, 68, -1, -1, 71, -1,
+ -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
+ -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
+ 93, 94, 1, -1, 3, 4, 5, 6, 1229, 8,
+ 9, 10, 11, -1, 13, 14, 109, 110, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1247, -1, 1249, 28,
+ 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
-1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
@@ -3594,17 +3506,17 @@ static const short yycheck[] = { 4,
79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
89, -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,
+ -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
-1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
-1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
-1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
- 88, 89, -1, -1, -1, 93, -1, 1, -1, 3,
- 4, 5, 6, 101, 8, 9, 10, 11, -1, 13,
+ 88, 89, -1, -1, -1, 93, 94, 1, -1, 3,
+ 4, 5, 6, -1, 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,
+ -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
@@ -3612,7 +3524,7 @@ static const short yycheck[] = { 4,
-1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
-1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
- 13, 14, -1, -1, -1, -1, 110, -1, -1, -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, 37, -1, 39, 40, 41, 42,
43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
@@ -3621,48 +3533,21 @@ static const short yycheck[] = { 4,
-1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
-1, -1, -1, -1, 87, 88, 89, -1, -1, 1,
93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
+ -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, 37, -1, 39, 40, 41,
42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
- 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
- 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
+ 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
+ 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
-1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
-1, -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39, 40,
- 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
- 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -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, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
- -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -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, 37,
+ -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, 37,
-1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
-1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
+ 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
-1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
88, 89, -1, -1, 1, 93, 3, 4, 5, 6,
@@ -3671,33 +3556,97 @@ static const short yycheck[] = { 4,
-1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
-1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
+ 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
-1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
-1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
+ 87, 88, 89, -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, 37, -1, 39, 40, 41, 42, 43, 44, -1,
46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
+ -1, 57, 58, -1, -1, -1, 62, 63, -1, -1,
-1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
-1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -1, -1, -1, 93, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 110, 111, 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,
- 37, -1, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, 59, -1, 61, 62, -1, -1, -1, -1,
- -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
- -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- 87, 88, 89, -1, -1, -1, 93, -1, 95, -1,
+ -1, 87, 88, 89, -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, 37, -1, 39, 40, 41, 42, 43, 44,
+ -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
+ 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
+ -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
+ -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
+ -1, -1, 87, 88, 89, -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, 37, -1, 39, 40, 41, 42, 43,
+ 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
+ 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
+ -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
+ -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
+ -1, -1, -1, 87, 88, 89, -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, 28, 29, 30, -1, 32,
+ -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
+ 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
+ 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
+ -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
+ -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
+ -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39, 40, 41,
+ 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
+ 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
+ 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
+ -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
+ -1, -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39, 40,
+ 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
+ 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
+ -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
+ 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
+ 81, -1, -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39,
+ 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
+ 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
+ -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
+ -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
+ -1, -1, -1, 93, -1, -1, -1, -1, -1, -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,
+ 110, 111, 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, 37, -1, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
+ 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
+ 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
+ 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
+ 81, -1, -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, -1, -1, 50, 51, 52,
+ 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
+ -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
+ -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
+ -1, -1, -1, -1, 87, 88, 89, -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, 37, -1,
39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
@@ -3711,35 +3660,44 @@ static const short yycheck[] = { 4,
25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
45, 46, 47, -1, -1, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
+ 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
-1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
-1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
-1, -1, 87, 88, 89, -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, 37, -1, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
- 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -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,
+ 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, 37, -1, 39, 40, 41,
+ 42, 43, 44, -1, 46, -1, 48, -1, 50, 51,
+ 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
+ 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
+ -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
+ -1, -1, -1, -1, -1, 87, 88, 89, -1, -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, 37, -1, 39,
+ 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
+ 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
+ -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
+ -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
+ -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, 37,
-1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
+ 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
-1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
88, 89, -1, -1, -1, 93, 94, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ 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, 37, -1, 39, 40, 41, 42, 43, 44, -1,
46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
+ -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
-1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
-1, 87, 88, 89, -1, -1, -1, 93, 94, 3,
@@ -3747,42 +3705,51 @@ static const short yycheck[] = { 4,
14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
+ 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
+ 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
-1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
-1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
-1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
- 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
+ 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, 37, -1, 39, 40, 41, 42,
+ 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
+ 53, 54, 55, -1, 57, 58, -1, -1, 61, 62,
+ -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
+ -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
+ -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39, 40, 41,
42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
- 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
+ -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
-1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
-1, -1, -1, -1, -1, 87, 88, 89, -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, 37, -1, 39, 40,
+ 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
- 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
+ -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
- -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
+ -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, 34, 35, 36, 37, -1, 39,
+ 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
+ -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
-1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
-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, 34, 35, 36, 37, -1,
+ 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
-1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
-1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
@@ -3803,7 +3770,7 @@ static const short yycheck[] = { 4,
-1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
-1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
+ 57, 58, 59, -1, -1, -1, -1, -1, -1, -1,
-1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
-1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
@@ -3812,30 +3779,30 @@ static const short yycheck[] = { 4,
-1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
+ -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
-1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -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, 37, -1, 39, 40, 41, 42, 43, 44,
- -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
- -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
- -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
- -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
+ -1, 87, 88, 89, -1, -1, -1, 93, 94, 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,
+ 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
-1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
-1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
- 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
+ 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, 37, -1, 39, 40, 41, 42,
+ 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
+ 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
+ -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
+ -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
+ -1, -1, -1, -1, 87, 88, 89, -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, 34, 35, 36, 37, -1, 39, 40, 41,
42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
@@ -3849,13 +3816,13 @@ static const short yycheck[] = { 4,
-1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
- -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
81, -1, -1, -1, -1, -1, 87, 88, 89, -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, 34, 35, 36, 37, -1, 39,
+ 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
@@ -3868,48 +3835,82 @@ static const short yycheck[] = { 4,
39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
-1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -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, 37,
- -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
- -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
- 88, 89, -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,
- 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
- -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 68, -1, -1, 71, 3, 4, 5, 6, 7,
- 8, 9, 79, 80, 81, -1, 14, -1, -1, -1,
- 87, 88, 89, -1, -1, -1, 93, -1, -1, -1,
- 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
- -1, -1, -1, 110, 42, -1, -1, -1, 46, -1,
- -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
- 58, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 71, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 81, -1, -1, -1, -1, -1, -1,
- -1, 89, -1, -1, -1, 93, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, -1, 60, -1, -1, 107,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, -1, 71, 3, 4, 5, 6, 7, 8, 9,
+ 79, 80, 81, -1, 14, -1, -1, -1, 87, 88,
+ 89, -1, -1, -1, 93, -1, -1, -1, 28, -1,
+ 30, 31, -1, -1, -1, -1, -1, 37, -1, -1,
+ -1, 110, 42, -1, -1, -1, 46, -1, 48, -1,
+ -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
+ -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
+ -1, 71, 12, -1, 14, -1, -1, -1, -1, -1,
+ -1, 81, -1, -1, -1, -1, -1, -1, 28, 89,
+ 30, 31, -1, 93, 94, -1, -1, 37, -1, -1,
+ -1, -1, 42, -1, -1, -1, 46, -1, 3, 4,
+ 5, 6, 7, 8, 9, 55, -1, 57, 58, 14,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 71, -1, 28, -1, 30, 31, -1, -1, -1,
+ -1, 81, 37, -1, -1, -1, -1, 42, -1, 89,
+ -1, 46, -1, 93, -1, -1, -1, -1, -1, -1,
+ 55, -1, 57, 58, -1, -1, 61, -1, 3, 4,
+ 5, 6, 7, 8, 9, -1, 71, -1, -1, 14,
+ -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
+ -1, -1, -1, 28, 89, 30, 31, -1, 93, -1,
+ -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
+ -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
+ 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 71, -1, 28, -1,
+ 30, 31, -1, -1, -1, -1, 81, 37, -1, -1,
+ -1, -1, 42, -1, 89, -1, 46, -1, 93, -1,
+ -1, -1, -1, -1, -1, 55, -1, 57, 58, 4,
+ 5, -1, 7, 8, 9, -1, -1, 12, -1, 14,
+ -1, 71, -1, -1, -1, -1, 3, 4, 5, 6,
+ -1, 81, 9, 28, -1, 30, 31, -1, -1, 89,
+ -1, -1, 37, 93, -1, -1, -1, -1, -1, -1,
+ -1, 46, -1, 48, 31, -1, -1, -1, -1, -1,
+ 55, -1, 57, 58, -1, 42, -1, 3, 4, 5,
+ 6, -1, -1, 9, -1, -1, 71, -1, 55, -1,
+ 57, 58, -1, -1, -1, -1, 81, 3, 4, 5,
+ 6, -1, -1, -1, 71, 31, -1, -1, 93, 94,
+ -1, -1, -1, -1, 81, -1, 42, -1, 3, 4,
+ 5, 6, 89, -1, -1, 31, 93, -1, -1, 55,
+ -1, 57, 58, -1, -1, -1, 42, -1, 3, 4,
+ 5, 6, -1, -1, -1, 71, 31, -1, -1, 55,
+ -1, 57, 58, -1, -1, 81, -1, 42, -1, -1,
+ -1, -1, -1, 89, -1, 71, 31, 93, -1, -1,
+ 55, -1, 57, 58, -1, 81, -1, 42, -1, 3,
+ 4, 5, 6, 89, -1, -1, 71, 93, -1, -1,
+ 55, -1, 57, 58, -1, -1, 81, -1, -1, -1,
+ -1, -1, -1, -1, 89, -1, 71, 31, 93, -1,
+ -1, -1, -1, -1, -1, -1, 81, -1, 42, -1,
+ -1, -1, 4, 5, 89, 7, 8, 9, 93, -1,
+ 12, 55, 14, 57, 58, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 28, 71, 30, 31,
+ -1, -1, -1, -1, -1, 37, -1, 81, -1, -1,
+ -1, -1, -1, -1, 46, 89, -1, -1, -1, 93,
+ -1, -1, -1, 55, -1, 57, 58, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, -1, -1, -1, 111, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
+ -1, -1, 107, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85
+ 81, 82, 83, 84, 85, 60, -1, -1, -1, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/cygnus/gnupro-98r2/share/bison.simple"
+#line 3 "/usr/lib/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -4102,7 +4103,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
-#line 196 "/usr/cygnus/gnupro-98r2/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 *.
@@ -6582,74 +6583,24 @@ case 512:
break;}
case 513:
#line 2343 "parse.y"
-{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
- current_aggr
- == signature_type_node); ;
+{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
break;}
case 514:
-#line 2347 "parse.y"
-{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
- current_aggr
- == signature_type_node); ;
+#line 2345 "parse.y"
+{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 515:
-#line 2354 "parse.y"
+#line 2350 "parse.y"
{ if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
break;}
-case 517:
-#line 2357 "parse.y"
-{
- if (current_aggr == signature_type_node)
- {
- if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
- {
- sorry ("`sigof' as base signature specifier");
- yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
- }
- else
- {
- error ("`sigof' applied to non-aggregate expression");
- yyval.ttype = error_mark_node;
- }
- }
- else
- {
- error ("`sigof' in struct or class declaration");
- yyval.ttype = error_mark_node;
- }
- ;
- break;}
case 518:
-#line 2378 "parse.y"
-{
- if (current_aggr == signature_type_node)
- {
- if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
- {
- sorry ("`sigof' as base signature specifier");
- yyval.ttype = groktypename (yyvsp[-1].ftype.t);
- }
- else
- {
- error ("`sigof' applied to non-aggregate expression");
- yyval.ttype = error_mark_node;
- }
- }
- else
- {
- error ("`sigof' in struct or class declaration");
- yyval.ttype = error_mark_node;
- }
- ;
- break;}
-case 520:
-#line 2403 "parse.y"
+#line 2357 "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 521:
-#line 2407 "parse.y"
+case 519:
+#line 2361 "parse.y"
{
if (yyvsp[-2].ttype != access_default_virtual_node)
error ("multiple access specifiers");
@@ -6661,8 +6612,8 @@ case 521:
yyval.ttype = access_private_virtual_node;
;
break;}
-case 522:
-#line 2418 "parse.y"
+case 520:
+#line 2372 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
cp_error ("`%D' access", yyvsp[-1].ttype);
else if (yyval.ttype == access_public_node)
@@ -6675,62 +6626,56 @@ case 522:
error ("multiple `virtual' specifiers");
;
break;}
-case 527:
-#line 2439 "parse.y"
+case 525:
+#line 2393 "parse.y"
{
- if (current_aggr == signature_type_node)
- {
- error ("access specifier not allowed in signature");
- yyvsp[-1].ttype = access_public_node;
- }
-
current_access_specifier = yyvsp[-1].ttype;
;
break;}
-case 528:
-#line 2454 "parse.y"
+case 526:
+#line 2402 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
;
break;}
-case 529:
-#line 2458 "parse.y"
+case 527:
+#line 2406 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
;
break;}
-case 531:
-#line 2466 "parse.y"
+case 529:
+#line 2414 "parse.y"
{ error ("missing ';' before right brace");
yyungetc ('}', 0); ;
break;}
-case 532:
-#line 2471 "parse.y"
+case 530:
+#line 2419 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
-case 533:
-#line 2473 "parse.y"
+case 531:
+#line 2421 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
-case 534:
-#line 2475 "parse.y"
+case 532:
+#line 2423 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
-case 535:
-#line 2477 "parse.y"
+case 533:
+#line 2425 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
-case 536:
-#line 2479 "parse.y"
+case 534:
+#line 2427 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 537:
-#line 2481 "parse.y"
+case 535:
+#line 2429 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
-case 538:
-#line 2484 "parse.y"
+case 536:
+#line 2432 "parse.y"
{
if (yyvsp[0].ttype)
yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6741,15 +6686,15 @@ case 538:
finish_template_decl (yyvsp[-1].ttype);
;
break;}
-case 539:
-#line 2494 "parse.y"
+case 537:
+#line 2442 "parse.y"
{
yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
finish_template_decl (yyvsp[-2].ttype);
;
break;}
-case 540:
-#line 2505 "parse.y"
+case 538:
+#line 2453 "parse.y"
{
/* Most of the productions for component_decl only
allow the creation of one new member, so we call
@@ -6771,54 +6716,54 @@ case 540:
yyval.ttype = NULL_TREE;
;
break;}
-case 541:
-#line 2526 "parse.y"
+case 539:
+#line 2474 "parse.y"
{
if (!yyvsp[0].itype)
grok_x_components (yyvsp[-1].ttype);
yyval.ttype = NULL_TREE;
;
break;}
-case 542:
-#line 2532 "parse.y"
+case 540:
+#line 2480 "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 2535 "parse.y"
+case 541:
+#line 2483 "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 2538 "parse.y"
+case 542:
+#line 2486 "parse.y"
{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 545:
-#line 2540 "parse.y"
+case 543:
+#line 2488 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 546:
-#line 2551 "parse.y"
+case 544:
+#line 2499 "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 2556 "parse.y"
+case 545:
+#line 2504 "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 2559 "parse.y"
+case 546:
+#line 2507 "parse.y"
{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
break;}
-case 549:
-#line 2565 "parse.y"
+case 547:
+#line 2513 "parse.y"
{ yyval.itype = 0; ;
break;}
-case 550:
-#line 2567 "parse.y"
+case 548:
+#line 2515 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6826,8 +6771,8 @@ case 550:
yyval.itype = 1;
;
break;}
-case 551:
-#line 2574 "parse.y"
+case 549:
+#line 2522 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6836,12 +6781,12 @@ case 551:
yyval.itype = 2;
;
break;}
-case 552:
-#line 2585 "parse.y"
+case 550:
+#line 2533 "parse.y"
{ yyval.itype = 0; ;
break;}
-case 553:
-#line 2587 "parse.y"
+case 551:
+#line 2535 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6849,8 +6794,8 @@ case 553:
yyval.itype = 1;
;
break;}
-case 554:
-#line 2594 "parse.y"
+case 552:
+#line 2542 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6859,107 +6804,107 @@ case 554:
yyval.itype = 2;
;
break;}
-case 559:
-#line 2615 "parse.y"
+case 557:
+#line 2563 "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 2621 "parse.y"
+case 558:
+#line 2569 "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 2630 "parse.y"
+case 559:
+#line 2578 "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 2636 "parse.y"
+case 560:
+#line 2584 "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 2642 "parse.y"
+case 561:
+#line 2590 "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 2648 "parse.y"
+case 562:
+#line 2596 "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 2657 "parse.y"
+case 563:
+#line 2605 "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 2660 "parse.y"
+case 564:
+#line 2608 "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 2666 "parse.y"
+case 565:
+#line 2614 "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 2669 "parse.y"
+case 566:
+#line 2617 "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 2672 "parse.y"
+case 567:
+#line 2620 "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 2679 "parse.y"
+case 569:
+#line 2627 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 573:
-#line 2689 "parse.y"
+case 571:
+#line 2637 "parse.y"
{ TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 574:
-#line 2694 "parse.y"
+case 572:
+#line 2642 "parse.y"
{ yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
break;}
-case 575:
-#line 2696 "parse.y"
+case 573:
+#line 2644 "parse.y"
{ yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
break;}
-case 576:
-#line 2702 "parse.y"
+case 574:
+#line 2650 "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 577:
-#line 2705 "parse.y"
+case 575:
+#line 2653 "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 578:
-#line 2712 "parse.y"
+case 576:
+#line 2660 "parse.y"
{
if (pedantic)
pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
@@ -6968,102 +6913,102 @@ case 578:
yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
;
break;}
-case 579:
-#line 2723 "parse.y"
+case 577:
+#line 2671 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 580:
-#line 2725 "parse.y"
+case 578:
+#line 2673 "parse.y"
{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
-case 581:
-#line 2730 "parse.y"
+case 579:
+#line 2678 "parse.y"
{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
yyval.ftype.new_type_flag = 0; ;
break;}
-case 582:
-#line 2733 "parse.y"
+case 580:
+#line 2681 "parse.y"
{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 583:
-#line 2742 "parse.y"
+case 581:
+#line 2690 "parse.y"
{ yyval.itype = suspend_momentary (); ;
break;}
-case 584:
-#line 2747 "parse.y"
+case 582:
+#line 2695 "parse.y"
{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 585:
-#line 2753 "parse.y"
+case 583:
+#line 2701 "parse.y"
{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 586:
-#line 2755 "parse.y"
+case 584:
+#line 2703 "parse.y"
{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 587:
-#line 2757 "parse.y"
+case 585:
+#line 2705 "parse.y"
{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
break;}
-case 588:
-#line 2759 "parse.y"
+case 586:
+#line 2707 "parse.y"
{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
break;}
-case 590:
-#line 2767 "parse.y"
+case 588:
+#line 2715 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
-case 591:
-#line 2777 "parse.y"
+case 589:
+#line 2725 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 592:
-#line 2779 "parse.y"
+case 590:
+#line 2727 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 593:
-#line 2781 "parse.y"
+case 591:
+#line 2729 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 594:
-#line 2783 "parse.y"
+case 592:
+#line 2731 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 595:
-#line 2785 "parse.y"
+case 593:
+#line 2733 "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 597:
-#line 2793 "parse.y"
+case 595:
+#line 2741 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 598:
-#line 2795 "parse.y"
+case 596:
+#line 2743 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 599:
-#line 2797 "parse.y"
+case 597:
+#line 2745 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
-case 600:
-#line 2799 "parse.y"
+case 598:
+#line 2747 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 601:
-#line 2801 "parse.y"
+case 599:
+#line 2749 "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 603:
-#line 2809 "parse.y"
+case 601:
+#line 2757 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
{
@@ -7074,8 +7019,8 @@ case 603:
yyval.ttype = yyvsp[0].ttype;
;
break;}
-case 604:
-#line 2819 "parse.y"
+case 602:
+#line 2767 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -7084,139 +7029,139 @@ case 604:
got_scope = NULL_TREE;
;
break;}
-case 607:
-#line 2832 "parse.y"
+case 605:
+#line 2780 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 608:
-#line 2837 "parse.y"
+case 606:
+#line 2785 "parse.y"
{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
break;}
-case 610:
-#line 2846 "parse.y"
+case 608:
+#line 2794 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
-case 611:
-#line 2855 "parse.y"
+case 609:
+#line 2803 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 612:
-#line 2857 "parse.y"
+case 610:
+#line 2805 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 613:
-#line 2859 "parse.y"
+case 611:
+#line 2807 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 614:
-#line 2861 "parse.y"
+case 612:
+#line 2809 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 615:
-#line 2863 "parse.y"
+case 613:
+#line 2811 "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 617:
-#line 2871 "parse.y"
+case 615:
+#line 2819 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 618:
-#line 2873 "parse.y"
+case 616:
+#line 2821 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 619:
-#line 2875 "parse.y"
+case 617:
+#line 2823 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 620:
-#line 2877 "parse.y"
+case 618:
+#line 2825 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 621:
-#line 2879 "parse.y"
+case 619:
+#line 2827 "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 623:
-#line 2887 "parse.y"
+case 621:
+#line 2835 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 624:
-#line 2889 "parse.y"
+case 622:
+#line 2837 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 625:
-#line 2891 "parse.y"
+case 623:
+#line 2839 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 626:
-#line 2893 "parse.y"
+case 624:
+#line 2841 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
-case 627:
-#line 2895 "parse.y"
+case 625:
+#line 2843 "parse.y"
{ enter_scope_of (yyvsp[0].ttype); ;
break;}
-case 628:
-#line 2897 "parse.y"
+case 626:
+#line 2845 "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 629:
-#line 2905 "parse.y"
+case 627:
+#line 2853 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 630:
-#line 2908 "parse.y"
+case 628:
+#line 2856 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 631:
-#line 2914 "parse.y"
+case 629:
+#line 2862 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 632:
-#line 2917 "parse.y"
+case 630:
+#line 2865 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 634:
-#line 2924 "parse.y"
+case 632:
+#line 2872 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 635:
-#line 2929 "parse.y"
+case 633:
+#line 2877 "parse.y"
{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
-case 636:
-#line 2931 "parse.y"
+case 634:
+#line 2879 "parse.y"
{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
-case 637:
-#line 2933 "parse.y"
+case 635:
+#line 2881 "parse.y"
{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 642:
-#line 2944 "parse.y"
+case 640:
+#line 2892 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 643:
-#line 2946 "parse.y"
+case 641:
+#line 2894 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 644:
-#line 2953 "parse.y"
+case 642:
+#line 2901 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
{
@@ -7227,32 +7172,32 @@ case 644:
complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)));
;
break;}
-case 645:
-#line 2963 "parse.y"
+case 643:
+#line 2911 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
;
break;}
-case 646:
-#line 2969 "parse.y"
+case 644:
+#line 2917 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
-case 647:
-#line 2975 "parse.y"
+case 645:
+#line 2923 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
break;}
-case 649:
-#line 2991 "parse.y"
+case 647:
+#line 2939 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 650:
-#line 2996 "parse.y"
+case 648:
+#line 2944 "parse.y"
{
if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -7266,27 +7211,27 @@ case 650:
}
;
break;}
-case 651:
-#line 3009 "parse.y"
+case 649:
+#line 2957 "parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
break;}
-case 652:
-#line 3011 "parse.y"
+case 650:
+#line 2959 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 653:
-#line 3013 "parse.y"
+case 651:
+#line 2961 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
-case 654:
-#line 3018 "parse.y"
+case 652:
+#line 2966 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
;
break;}
-case 655:
-#line 3023 "parse.y"
+case 653:
+#line 2971 "parse.y"
{
if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -7300,16 +7245,16 @@ case 655:
}
;
break;}
-case 656:
-#line 3036 "parse.y"
+case 654:
+#line 2984 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
-case 657:
-#line 3038 "parse.y"
+case 655:
+#line 2986 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 658:
-#line 3043 "parse.y"
+case 656:
+#line 2991 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
yyvsp[-1].ttype = lastiddecl;
@@ -7322,32 +7267,32 @@ case 658:
cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
;
break;}
-case 659:
-#line 3055 "parse.y"
+case 657:
+#line 3003 "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 660:
-#line 3061 "parse.y"
+case 658:
+#line 3009 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
break;}
-case 663:
-#line 3065 "parse.y"
+case 661:
+#line 3013 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
-case 664:
-#line 3074 "parse.y"
+case 662:
+#line 3022 "parse.y"
{ yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 665:
-#line 3079 "parse.y"
+case 663:
+#line 3027 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -7356,157 +7301,157 @@ case 665:
got_scope = NULL_TREE;
;
break;}
-case 667:
-#line 3088 "parse.y"
+case 665:
+#line 3036 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 668:
-#line 3093 "parse.y"
+case 666:
+#line 3041 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
-case 669:
-#line 3095 "parse.y"
+case 667:
+#line 3043 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
break;}
-case 670:
-#line 3102 "parse.y"
+case 668:
+#line 3050 "parse.y"
{ got_scope = void_type_node; ;
break;}
-case 671:
-#line 3108 "parse.y"
+case 669:
+#line 3056 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 672:
-#line 3110 "parse.y"
+case 670:
+#line 3058 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
-case 673:
-#line 3112 "parse.y"
+case 671:
+#line 3060 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 674:
-#line 3114 "parse.y"
+case 672:
+#line 3062 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
-case 675:
-#line 3116 "parse.y"
+case 673:
+#line 3064 "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 676:
-#line 3120 "parse.y"
+case 674:
+#line 3068 "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 678:
-#line 3129 "parse.y"
+case 676:
+#line 3077 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
-case 679:
-#line 3131 "parse.y"
+case 677:
+#line 3079 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 681:
-#line 3137 "parse.y"
+case 679:
+#line 3085 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
-case 682:
-#line 3147 "parse.y"
+case 680:
+#line 3095 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 683:
-#line 3149 "parse.y"
+case 681:
+#line 3097 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 684:
-#line 3151 "parse.y"
+case 682:
+#line 3099 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
-case 685:
-#line 3153 "parse.y"
+case 683:
+#line 3101 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
break;}
-case 686:
-#line 3155 "parse.y"
+case 684:
+#line 3103 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 687:
-#line 3157 "parse.y"
+case 685:
+#line 3105 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 688:
-#line 3159 "parse.y"
+case 686:
+#line 3107 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
-case 689:
-#line 3161 "parse.y"
+case 687:
+#line 3109 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
break;}
-case 690:
-#line 3163 "parse.y"
+case 688:
+#line 3111 "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 691:
-#line 3167 "parse.y"
+case 689:
+#line 3115 "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 693:
-#line 3176 "parse.y"
+case 691:
+#line 3124 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 694:
-#line 3179 "parse.y"
+case 692:
+#line 3127 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 695:
-#line 3181 "parse.y"
+case 693:
+#line 3129 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 696:
-#line 3183 "parse.y"
+case 694:
+#line 3131 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 697:
-#line 3185 "parse.y"
+case 695:
+#line 3133 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
-case 698:
-#line 3187 "parse.y"
+case 696:
+#line 3135 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 699:
-#line 3189 "parse.y"
+case 697:
+#line 3137 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 700:
-#line 3191 "parse.y"
+case 698:
+#line 3139 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 701:
-#line 3193 "parse.y"
+case 699:
+#line 3141 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
-case 702:
-#line 3195 "parse.y"
+case 700:
+#line 3143 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
-case 709:
-#line 3218 "parse.y"
+case 707:
+#line 3166 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids label declarations"); ;
break;}
-case 712:
-#line 3229 "parse.y"
+case 710:
+#line 3177 "parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
@@ -7516,261 +7461,261 @@ case 712:
}
;
break;}
-case 713:
-#line 3243 "parse.y"
+case 711:
+#line 3191 "parse.y"
{;
break;}
-case 715:
-#line 3249 "parse.y"
+case 713:
+#line 3197 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
-case 716:
-#line 3251 "parse.y"
+case 714:
+#line 3199 "parse.y"
{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
-case 717:
-#line 3256 "parse.y"
+case 715:
+#line 3204 "parse.y"
{
yyval.ttype = begin_if_stmt ();
cond_stmt_keyword = "if";
;
break;}
-case 718:
-#line 3261 "parse.y"
+case 716:
+#line 3209 "parse.y"
{ finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
-case 719:
-#line 3263 "parse.y"
+case 717:
+#line 3211 "parse.y"
{ yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
break;}
-case 721:
-#line 3268 "parse.y"
+case 719:
+#line 3216 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
-case 722:
-#line 3270 "parse.y"
+case 720:
+#line 3218 "parse.y"
{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
-case 723:
-#line 3275 "parse.y"
+case 721:
+#line 3223 "parse.y"
{;
break;}
-case 725:
-#line 3281 "parse.y"
+case 723:
+#line 3229 "parse.y"
{ finish_stmt (); ;
break;}
-case 726:
-#line 3283 "parse.y"
+case 724:
+#line 3231 "parse.y"
{ finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
-case 727:
-#line 3285 "parse.y"
+case 725:
+#line 3233 "parse.y"
{ begin_else_clause (); ;
break;}
-case 728:
-#line 3287 "parse.y"
+case 726:
+#line 3235 "parse.y"
{
finish_else_clause (yyvsp[-3].ttype);
finish_if_stmt ();
;
break;}
-case 729:
-#line 3292 "parse.y"
+case 727:
+#line 3240 "parse.y"
{ finish_if_stmt (); ;
break;}
-case 730:
-#line 3294 "parse.y"
+case 728:
+#line 3242 "parse.y"
{
yyval.ttype = begin_while_stmt ();
cond_stmt_keyword = "while";
;
break;}
-case 731:
-#line 3299 "parse.y"
+case 729:
+#line 3247 "parse.y"
{ finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
-case 732:
-#line 3301 "parse.y"
+case 730:
+#line 3249 "parse.y"
{ finish_while_stmt (yyvsp[-3].ttype); ;
break;}
-case 733:
-#line 3303 "parse.y"
+case 731:
+#line 3251 "parse.y"
{ yyval.ttype = begin_do_stmt (); ;
break;}
-case 734:
-#line 3305 "parse.y"
+case 732:
+#line 3253 "parse.y"
{
finish_do_body (yyvsp[-2].ttype);
cond_stmt_keyword = "do";
;
break;}
-case 735:
-#line 3310 "parse.y"
+case 733:
+#line 3258 "parse.y"
{ finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
-case 736:
-#line 3312 "parse.y"
+case 734:
+#line 3260 "parse.y"
{ yyval.ttype = begin_for_stmt (); ;
break;}
-case 737:
-#line 3314 "parse.y"
+case 735:
+#line 3262 "parse.y"
{ finish_for_init_stmt (yyvsp[-2].ttype); ;
break;}
-case 738:
-#line 3316 "parse.y"
+case 736:
+#line 3264 "parse.y"
{ finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
-case 739:
-#line 3318 "parse.y"
+case 737:
+#line 3266 "parse.y"
{ finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
break;}
-case 740:
-#line 3320 "parse.y"
+case 738:
+#line 3268 "parse.y"
{ finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
break;}
-case 741:
-#line 3322 "parse.y"
+case 739:
+#line 3270 "parse.y"
{ begin_switch_stmt (); ;
break;}
-case 742:
-#line 3324 "parse.y"
+case 740:
+#line 3272 "parse.y"
{ yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
break;}
-case 743:
-#line 3326 "parse.y"
+case 741:
+#line 3274 "parse.y"
{ finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 744:
-#line 3328 "parse.y"
+case 742:
+#line 3276 "parse.y"
{ finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
break;}
-case 746:
-#line 3331 "parse.y"
+case 744:
+#line 3279 "parse.y"
{ finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 748:
-#line 3334 "parse.y"
+case 746:
+#line 3282 "parse.y"
{ finish_case_label (NULL_TREE, NULL_TREE); ;
break;}
-case 750:
-#line 3337 "parse.y"
+case 748:
+#line 3285 "parse.y"
{ finish_break_stmt (); ;
break;}
-case 751:
-#line 3339 "parse.y"
+case 749:
+#line 3287 "parse.y"
{ finish_continue_stmt (); ;
break;}
-case 752:
-#line 3341 "parse.y"
+case 750:
+#line 3289 "parse.y"
{ finish_return_stmt (NULL_TREE); ;
break;}
-case 753:
-#line 3343 "parse.y"
+case 751:
+#line 3291 "parse.y"
{ finish_return_stmt (yyvsp[-1].ttype); ;
break;}
-case 754:
-#line 3345 "parse.y"
+case 752:
+#line 3293 "parse.y"
{
finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
NULL_TREE);
;
break;}
-case 755:
-#line 3351 "parse.y"
+case 753:
+#line 3299 "parse.y"
{
finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
NULL_TREE);
;
break;}
-case 756:
-#line 3357 "parse.y"
+case 754:
+#line 3305 "parse.y"
{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
-case 757:
-#line 3361 "parse.y"
+case 755:
+#line 3309 "parse.y"
{ finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
-case 758:
-#line 3363 "parse.y"
+case 756:
+#line 3311 "parse.y"
{
if (pedantic)
pedwarn ("ANSI C++ forbids computed gotos");
finish_goto_stmt (yyvsp[-1].ttype);
;
break;}
-case 759:
-#line 3369 "parse.y"
+case 757:
+#line 3317 "parse.y"
{ finish_goto_stmt (yyvsp[-1].ttype); ;
break;}
-case 760:
-#line 3371 "parse.y"
+case 758:
+#line 3319 "parse.y"
{ finish_stmt (); ;
break;}
-case 761:
-#line 3373 "parse.y"
+case 759:
+#line 3321 "parse.y"
{ error ("label must be followed by statement");
yyungetc ('}', 0);
finish_stmt (); ;
break;}
-case 762:
-#line 3377 "parse.y"
+case 760:
+#line 3325 "parse.y"
{ finish_stmt (); ;
break;}
-case 765:
-#line 3381 "parse.y"
+case 763:
+#line 3329 "parse.y"
{ do_local_using_decl (yyvsp[0].ttype); ;
break;}
-case 767:
-#line 3387 "parse.y"
+case 765:
+#line 3335 "parse.y"
{ yyval.ttype = begin_function_try_block (); ;
break;}
-case 768:
-#line 3389 "parse.y"
+case 766:
+#line 3337 "parse.y"
{ finish_function_try_block (yyvsp[-2].ttype); ;
break;}
-case 769:
-#line 3391 "parse.y"
+case 767:
+#line 3339 "parse.y"
{
finish_function_handler_sequence (yyvsp[-4].ttype);
yyval.itype = yyvsp[-3].itype;
;
break;}
-case 770:
-#line 3399 "parse.y"
+case 768:
+#line 3347 "parse.y"
{ yyval.ttype = begin_try_block (); ;
break;}
-case 771:
-#line 3401 "parse.y"
+case 769:
+#line 3349 "parse.y"
{ finish_try_block (yyvsp[-1].ttype); ;
break;}
-case 772:
-#line 3403 "parse.y"
+case 770:
+#line 3351 "parse.y"
{ finish_handler_sequence (yyvsp[-3].ttype); ;
break;}
-case 775:
-#line 3413 "parse.y"
+case 773:
+#line 3361 "parse.y"
{ yyval.ttype = begin_handler(); ;
break;}
-case 776:
-#line 3415 "parse.y"
+case 774:
+#line 3363 "parse.y"
{ finish_handler_parms (yyvsp[-1].ttype); ;
break;}
-case 777:
-#line 3417 "parse.y"
+case 775:
+#line 3365 "parse.y"
{ finish_handler (yyvsp[-3].ttype); ;
break;}
-case 780:
-#line 3427 "parse.y"
+case 778:
+#line 3375 "parse.y"
{ expand_start_catch_block (NULL_TREE, NULL_TREE); ;
break;}
-case 781:
-#line 3443 "parse.y"
+case 779:
+#line 3391 "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 782:
-#line 3450 "parse.y"
+case 780:
+#line 3398 "parse.y"
{ tree label;
do_label:
label = define_label (input_filename, lineno, yyvsp[-1].ttype);
@@ -7778,99 +7723,99 @@ case 782:
expand_label (label);
;
break;}
-case 783:
-#line 3457 "parse.y"
+case 781:
+#line 3405 "parse.y"
{ goto do_label; ;
break;}
-case 784:
-#line 3459 "parse.y"
+case 782:
+#line 3407 "parse.y"
{ goto do_label; ;
break;}
-case 785:
-#line 3461 "parse.y"
+case 783:
+#line 3409 "parse.y"
{ goto do_label; ;
break;}
-case 786:
-#line 3466 "parse.y"
+case 784:
+#line 3414 "parse.y"
{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
break;}
-case 788:
-#line 3469 "parse.y"
+case 786:
+#line 3417 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids compound statements inside for initializations");
;
break;}
-case 789:
-#line 3478 "parse.y"
+case 787:
+#line 3426 "parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
-case 790:
-#line 3481 "parse.y"
+case 788:
+#line 3429 "parse.y"
{ emit_line_note (input_filename, lineno); ;
break;}
-case 791:
-#line 3486 "parse.y"
+case 789:
+#line 3434 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 793:
-#line 3489 "parse.y"
+case 791:
+#line 3437 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 794:
-#line 3496 "parse.y"
+case 792:
+#line 3444 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 797:
-#line 3503 "parse.y"
+case 795:
+#line 3451 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 798:
-#line 3508 "parse.y"
+case 796:
+#line 3456 "parse.y"
{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 799:
-#line 3513 "parse.y"
+case 797:
+#line 3461 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
break;}
-case 800:
-#line 3515 "parse.y"
+case 798:
+#line 3463 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
-case 801:
-#line 3526 "parse.y"
+case 799:
+#line 3474 "parse.y"
{
yyval.ttype = empty_parms();
;
break;}
-case 803:
-#line 3531 "parse.y"
+case 801:
+#line 3479 "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 804:
-#line 3539 "parse.y"
+case 802:
+#line 3487 "parse.y"
{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
break;}
-case 805:
-#line 3541 "parse.y"
+case 803:
+#line 3489 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
-case 806:
-#line 3544 "parse.y"
+case 804:
+#line 3492 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
-case 807:
-#line 3546 "parse.y"
+case 805:
+#line 3494 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
yyvsp[-1].ftype.t), 1); ;
break;}
-case 808:
-#line 3549 "parse.y"
+case 806:
+#line 3497 "parse.y"
{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
break;}
-case 809:
-#line 3551 "parse.y"
+case 807:
+#line 3499 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7881,8 +7826,8 @@ case 809:
yychar = ')';
;
break;}
-case 810:
-#line 3561 "parse.y"
+case 808:
+#line 3509 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7894,100 +7839,100 @@ case 810:
yychar = ')';
;
break;}
-case 811:
-#line 3576 "parse.y"
+case 809:
+#line 3524 "parse.y"
{ maybe_snarf_defarg (); ;
break;}
-case 812:
-#line 3578 "parse.y"
+case 810:
+#line 3526 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 815:
-#line 3589 "parse.y"
+case 813:
+#line 3537 "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 816:
-#line 3592 "parse.y"
+case 814:
+#line 3540 "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 817:
-#line 3595 "parse.y"
+case 815:
+#line 3543 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
break;}
-case 818:
-#line 3598 "parse.y"
+case 816:
+#line 3546 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
-case 819:
-#line 3600 "parse.y"
+case 817:
+#line 3548 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
break;}
-case 821:
-#line 3606 "parse.y"
+case 819:
+#line 3554 "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 822:
-#line 3616 "parse.y"
+case 820:
+#line 3564 "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 823:
-#line 3620 "parse.y"
+case 821:
+#line 3568 "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 824:
-#line 3623 "parse.y"
+case 822:
+#line 3571 "parse.y"
{ yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 825:
-#line 3627 "parse.y"
+case 823:
+#line 3575 "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 826:
-#line 3631 "parse.y"
+case 824:
+#line 3579 "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 827:
-#line 3635 "parse.y"
+case 825:
+#line 3583 "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 828:
-#line 3642 "parse.y"
+case 826:
+#line 3590 "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 829:
-#line 3645 "parse.y"
+case 827:
+#line 3593 "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 832:
-#line 3656 "parse.y"
+case 830:
+#line 3604 "parse.y"
{ see_typename (); ;
break;}
-case 833:
-#line 3661 "parse.y"
+case 831:
+#line 3609 "parse.y"
{
error ("type specifier omitted for parameter");
yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
;
break;}
-case 834:
-#line 3666 "parse.y"
+case 832:
+#line 3614 "parse.y"
{
error ("type specifier omitted for parameter");
if (TREE_CODE (yyval.ttype) == SCOPE_REF
@@ -7997,198 +7942,198 @@ case 834:
yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
;
break;}
-case 835:
-#line 3678 "parse.y"
+case 833:
+#line 3626 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 836:
-#line 3680 "parse.y"
+case 834:
+#line 3628 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 837:
-#line 3682 "parse.y"
+case 835:
+#line 3630 "parse.y"
{ yyval.ttype = empty_except_spec; ;
break;}
-case 838:
-#line 3687 "parse.y"
+case 836:
+#line 3635 "parse.y"
{
check_for_new_type ("exception specifier", yyvsp[0].ftype);
yyval.ttype = groktypename (yyvsp[0].ftype.t);
;
break;}
-case 839:
-#line 3695 "parse.y"
+case 837:
+#line 3643 "parse.y"
{ yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
break;}
-case 840:
-#line 3697 "parse.y"
+case 838:
+#line 3645 "parse.y"
{ yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
break;}
-case 841:
-#line 3702 "parse.y"
+case 839:
+#line 3650 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 842:
-#line 3704 "parse.y"
+case 840:
+#line 3652 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 843:
-#line 3706 "parse.y"
+case 841:
+#line 3654 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 844:
-#line 3708 "parse.y"
+case 842:
+#line 3656 "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 845:
-#line 3715 "parse.y"
+case 843:
+#line 3663 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
-case 846:
-#line 3720 "parse.y"
+case 844:
+#line 3668 "parse.y"
{ yyval.ttype = ansi_opname[MULT_EXPR]; ;
break;}
-case 847:
-#line 3722 "parse.y"
+case 845:
+#line 3670 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
break;}
-case 848:
-#line 3724 "parse.y"
+case 846:
+#line 3672 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
break;}
-case 849:
-#line 3726 "parse.y"
+case 847:
+#line 3674 "parse.y"
{ yyval.ttype = ansi_opname[PLUS_EXPR]; ;
break;}
-case 850:
-#line 3728 "parse.y"
+case 848:
+#line 3676 "parse.y"
{ yyval.ttype = ansi_opname[MINUS_EXPR]; ;
break;}
-case 851:
-#line 3730 "parse.y"
+case 849:
+#line 3678 "parse.y"
{ yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
break;}
-case 852:
-#line 3732 "parse.y"
+case 850:
+#line 3680 "parse.y"
{ yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
break;}
-case 853:
-#line 3734 "parse.y"
+case 851:
+#line 3682 "parse.y"
{ yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
break;}
-case 854:
-#line 3736 "parse.y"
+case 852:
+#line 3684 "parse.y"
{ yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
break;}
-case 855:
-#line 3738 "parse.y"
+case 853:
+#line 3686 "parse.y"
{ yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
break;}
-case 856:
-#line 3740 "parse.y"
+case 854:
+#line 3688 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
-case 857:
-#line 3742 "parse.y"
+case 855:
+#line 3690 "parse.y"
{ yyval.ttype = ansi_opname[LT_EXPR]; ;
break;}
-case 858:
-#line 3744 "parse.y"
+case 856:
+#line 3692 "parse.y"
{ yyval.ttype = ansi_opname[GT_EXPR]; ;
break;}
-case 859:
-#line 3746 "parse.y"
+case 857:
+#line 3694 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
-case 860:
-#line 3748 "parse.y"
+case 858:
+#line 3696 "parse.y"
{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
break;}
-case 861:
-#line 3750 "parse.y"
+case 859:
+#line 3698 "parse.y"
{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
break;}
-case 862:
-#line 3752 "parse.y"
+case 860:
+#line 3700 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
-case 863:
-#line 3754 "parse.y"
+case 861:
+#line 3702 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
-case 864:
-#line 3756 "parse.y"
+case 862:
+#line 3704 "parse.y"
{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
break;}
-case 865:
-#line 3758 "parse.y"
+case 863:
+#line 3706 "parse.y"
{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
break;}
-case 866:
-#line 3760 "parse.y"
+case 864:
+#line 3708 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
break;}
-case 867:
-#line 3762 "parse.y"
+case 865:
+#line 3710 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
break;}
-case 868:
-#line 3764 "parse.y"
+case 866:
+#line 3712 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
break;}
-case 869:
-#line 3766 "parse.y"
+case 867:
+#line 3714 "parse.y"
{ yyval.ttype = ansi_opname[COND_EXPR]; ;
break;}
-case 870:
-#line 3768 "parse.y"
+case 868:
+#line 3716 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
-case 871:
-#line 3770 "parse.y"
+case 869:
+#line 3718 "parse.y"
{ yyval.ttype = ansi_opname[COMPONENT_REF]; ;
break;}
-case 872:
-#line 3772 "parse.y"
+case 870:
+#line 3720 "parse.y"
{ yyval.ttype = ansi_opname[MEMBER_REF]; ;
break;}
-case 873:
-#line 3774 "parse.y"
+case 871:
+#line 3722 "parse.y"
{ yyval.ttype = ansi_opname[CALL_EXPR]; ;
break;}
-case 874:
-#line 3776 "parse.y"
+case 872:
+#line 3724 "parse.y"
{ yyval.ttype = ansi_opname[ARRAY_REF]; ;
break;}
-case 875:
-#line 3778 "parse.y"
+case 873:
+#line 3726 "parse.y"
{ yyval.ttype = ansi_opname[NEW_EXPR]; ;
break;}
-case 876:
-#line 3780 "parse.y"
+case 874:
+#line 3728 "parse.y"
{ yyval.ttype = ansi_opname[DELETE_EXPR]; ;
break;}
-case 877:
-#line 3782 "parse.y"
+case 875:
+#line 3730 "parse.y"
{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
break;}
-case 878:
-#line 3784 "parse.y"
+case 876:
+#line 3732 "parse.y"
{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
break;}
-case 879:
-#line 3787 "parse.y"
+case 877:
+#line 3735 "parse.y"
{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 880:
-#line 3789 "parse.y"
+case 878:
+#line 3737 "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-98r2/share/bison.simple"
+#line 498 "/usr/lib/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
@@ -8384,7 +8329,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 3792 "parse.y"
+#line 3740 "parse.y"
#ifdef SPEW_DEBUG
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index fc62c0f..792292b 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -2340,61 +2340,15 @@ base_class_list:
base_class:
base_class.1
- { $$ = finish_base_specifier (access_default_node, $1,
- current_aggr
- == signature_type_node); }
+ { $$ = finish_base_specifier (access_default_node, $1); }
| base_class_access_list see_typename base_class.1
- { $$ = finish_base_specifier ($1, $3,
- current_aggr
- == signature_type_node); }
+ { $$ = finish_base_specifier ($1, $3); }
;
base_class.1:
typename_sub
{ if ($$ != error_mark_node) $$ = TYPE_MAIN_DECL ($1); }
| nonnested_type
- | SIGOF '(' expr ')'
- {
- if (current_aggr == signature_type_node)
- {
- if (IS_AGGR_TYPE (TREE_TYPE ($3)))
- {
- sorry ("`sigof' as base signature specifier");
- $$ = TREE_TYPE ($3);
- }
- else
- {
- error ("`sigof' applied to non-aggregate expression");
- $$ = error_mark_node;
- }
- }
- else
- {
- error ("`sigof' in struct or class declaration");
- $$ = error_mark_node;
- }
- }
- | SIGOF '(' type_id ')'
- {
- if (current_aggr == signature_type_node)
- {
- if (IS_AGGR_TYPE (groktypename ($3.t)))
- {
- sorry ("`sigof' as base signature specifier");
- $$ = groktypename ($3.t);
- }
- else
- {
- error ("`sigof' applied to non-aggregate expression");
- $$ = error_mark_node;
- }
- }
- else
- {
- error ("`sigof' in struct or class declaration");
- $$ = error_mark_node;
- }
- }
;
base_class_access_list:
@@ -2437,12 +2391,6 @@ opt.component_decl_list:
access_specifier:
VISSPEC ':'
{
- if (current_aggr == signature_type_node)
- {
- error ("access specifier not allowed in signature");
- $1 = access_public_node;
- }
-
current_access_specifier = $1;
}
;
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 7592df6..f68edd6 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -1458,8 +1458,6 @@ lookup_member (xbasetype, name, protect, want_type)
In the case of overloaded function names, access control is
applied to the function selected by overloaded resolution. */
if (rval && protect && !is_overloaded_fn (rval)
- && !IS_SIGNATURE_POINTER (DECL_REAL_CONTEXT (rval))
- && !IS_SIGNATURE_REFERENCE (DECL_REAL_CONTEXT (rval))
&& !enforce_access (xbasetype, rval))
return error_mark_node;
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index fe68ae8..1b64900 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -1035,14 +1035,8 @@ finish_qualified_object_call_expr (fn, object, args)
tree object;
tree args;
{
- if (IS_SIGNATURE (TREE_OPERAND (fn, 0)))
- {
- warning ("signature name in scope resolution ignored");
- return finish_object_call_expr (TREE_OPERAND (fn, 1), object, args);
- }
- else
- return build_scoped_method_call (object, TREE_OPERAND (fn, 0),
- TREE_OPERAND (fn, 1), args);
+ return build_scoped_method_call (object, TREE_OPERAND (fn, 0),
+ TREE_OPERAND (fn, 1), args);
}
/* Finish a pseudo-destructor call expression of OBJECT, with SCOPE
@@ -1231,9 +1225,7 @@ finish_template_type_parm (aggr, identifier)
tree aggr;
tree identifier;
{
- if (aggr == signature_type_node)
- sorry ("signature as template type parameter");
- else if (aggr != class_type_node)
+ if (aggr != class_type_node)
{
pedwarn ("template type parameters must use the keyword `class' or `typename'");
aggr = class_type_node;
@@ -1364,24 +1356,22 @@ begin_class_definition (t)
/* Reset the interface data, at the earliest possible
moment, as it might have been set via a class foo;
before. */
- /* Don't change signatures. */
- if (! IS_SIGNATURE (t))
- {
- tree name = TYPE_IDENTIFIER (t);
-
- if (! ANON_AGGRNAME_P (name))
- {
- CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
- SET_CLASSTYPE_INTERFACE_UNKNOWN_X
- (t, interface_unknown);
- }
-
- /* Only leave this bit clear if we know this
- class is part of an interface-only specification. */
- if (! CLASSTYPE_INTERFACE_KNOWN (t)
- || ! CLASSTYPE_INTERFACE_ONLY (t))
- CLASSTYPE_VTABLE_NEEDS_WRITING (t) = 1;
- }
+ {
+ tree name = TYPE_IDENTIFIER (t);
+
+ if (! ANON_AGGRNAME_P (name))
+ {
+ CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
+ SET_CLASSTYPE_INTERFACE_UNKNOWN_X
+ (t, interface_unknown);
+ }
+
+ /* Only leave this bit clear if we know this
+ class is part of an interface-only specification. */
+ if (! CLASSTYPE_INTERFACE_KNOWN (t)
+ || ! CLASSTYPE_INTERFACE_ONLY (t))
+ CLASSTYPE_VTABLE_NEEDS_WRITING (t) = 1;
+ }
#if 0
tmp = TYPE_IDENTIFIER ($<ttype>0);
if (tmp && IDENTIFIER_TEMPLATE (tmp))
@@ -1652,11 +1642,9 @@ enter_scope_of (sr)
access_{default,public,protected_private}[_virtual]_node.*/
tree
-finish_base_specifier (access_specifier, base_class,
- current_aggr_is_signature)
+finish_base_specifier (access_specifier, base_class)
tree access_specifier;
tree base_class;
- int current_aggr_is_signature;
{
tree type;
tree result;
@@ -1668,27 +1656,9 @@ finish_base_specifier (access_specifier, base_class,
}
else
type = TREE_TYPE (base_class);
- if (current_aggr_is_signature && access_specifier)
- error ("access and source specifiers not allowed in signature");
+
if (! is_aggr_type (type, 1))
result = NULL_TREE;
- else if (current_aggr_is_signature
- && (! type) && (! IS_SIGNATURE (type)))
- {
- error ("class name not allowed as base signature");
- result = NULL_TREE;
- }
- else if (current_aggr_is_signature)
- {
- sorry ("signature inheritance, base type `%s' ignored",
- IDENTIFIER_POINTER (access_specifier));
- result = build_tree_list (access_public_node, type);
- }
- else if (type && IS_SIGNATURE (type))
- {
- error ("signature name not allowed as base class");
- result = NULL_TREE;
- }
else
result = build_tree_list (access_specifier, type);
diff --git a/gcc/cp/sig.c b/gcc/cp/sig.c
deleted file mode 100644
index f170df5..0000000
--- a/gcc/cp/sig.c
+++ /dev/null
@@ -1,1067 +0,0 @@
-/* Functions dealing with signatures and signature pointers/references.
- Copyright (C) 1992, 93-97, 1998 Free Software Foundation, Inc.
- Contributed by Gerald Baumgartner (gb@cs.purdue.edu)
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-
-#include "config.h"
-#include "system.h"
-#include "obstack.h"
-#include "tree.h"
-#include "cp-tree.h"
-#include "flags.h"
-#include "assert.h"
-#include "toplev.h"
-
-extern struct obstack *current_obstack;
-extern struct obstack permanent_obstack;
-extern struct obstack *saveable_obstack;
-
-static tree save_this PROTO((tree));
-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));
-static void build_signature_pointer_or_reference_decl
- PROTO((tree, tree));
-static tree build_signature_pointer_or_reference_type
- 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));
-static tree build_sigtable PROTO((tree, tree, tree));
-
-/* Used to help generate globally unique names for signature tables. */
-
-static int global_sigtable_name_counter;
-
-/* Build an identifier for a signature pointer or reference, so we
- can use it's name in function name mangling. */
-
-static tree
-build_signature_pointer_or_reference_name (to_type, type_quals, refp)
- tree to_type;
- int type_quals;
- int refp;
-{
- const char * sig_name = TYPE_NAME_STRING (to_type);
- int name_len = TYPE_NAME_LENGTH (to_type) + 3 /* Enough room for
- C,V,R. */;
- char * name;
-
- const char *const_rep = (type_quals & TYPE_QUAL_CONST) ? "C" : "";
- const char *restrict_rep = (type_quals & TYPE_QUAL_RESTRICT) ? "R" : "";
- const 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,
- 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,
- const_rep, volatile_rep, restrict_rep, sig_name);
- }
- return get_identifier (name);
-}
-
-/* Build a DECL node for a signature pointer or reference, so we can
- tell the debugger the structure of signature pointers/references.
- This function is called at most eight times for a given signature,
- once for each [const] [volatile] signature pointer/reference. */
-
-static void
-build_signature_pointer_or_reference_decl (type, name)
- tree type, name;
-{
- tree decl;
-
- /* We don't enter this declaration in any sort of symbol table. */
- decl = build_decl (TYPE_DECL, name, type);
- TYPE_NAME (type) = decl;
- 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 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, type_quals, refp)
- tree to_type;
- int type_quals;
- int refp;
-{
- register tree t, m;
- register struct obstack *ambient_obstack = current_obstack;
- register struct obstack *ambient_saveable_obstack = saveable_obstack;
-
- 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 && type_quals != TYPE_UNQUALIFIED)
- m = build_signature_pointer_or_reference_type (to_type,
- TYPE_UNQUALIFIED, refp);
-
- /* Treat any nonzero argument as 1. */
- refp = !!refp;
-
- /* If not generating auxiliary info, search the chain of variants to see
- if there is already one there just like the one we need to have. If so,
- use that existing one.
-
- We don't do this in the case where we are generating aux info because
- in that case we want each typedef names to get it's own distinct type
- node, even if the type of this new typedef is the same as some other
- (existing) type. */
-
- if (m && !flag_gen_aux_info)
- for (t = m; t; t = TYPE_NEXT_VARIANT (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. */
- if (TREE_PERMANENT (to_type))
- {
- current_obstack = &permanent_obstack;
- saveable_obstack = &permanent_obstack;
- }
-
- /* A signature pointer or reference to a signature `s' looks like this:
-
- struct {
- void * optr;
- const s * sptr;
- };
-
- A `const' signature pointer/reference is a
-
- struct {
- const void * optr;
- const s * sptr;
- };
-
- Similarly, for `volatile' and `const volatile'. */
-
- t = make_lang_type (RECORD_TYPE);
- {
- tree obj_type = build_qualified_type (void_type_node, type_quals);
- tree optr_type = build_pointer_type (obj_type);
- tree optr, sptr;
-
- optr = build_lang_field_decl (FIELD_DECL,
- get_identifier (SIGNATURE_OPTR_NAME),
- optr_type);
- DECL_FIELD_CONTEXT (optr) = t;
- DECL_CLASS_CONTEXT (optr) = t;
-
- if (m)
- /* We can share the `sptr' field among type variants. */
- sptr = TREE_CHAIN (TYPE_FIELDS (m));
- else
- {
- 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),
- build_pointer_type (sig_tbl_type));
- DECL_FIELD_CONTEXT (sptr) = t;
- DECL_CLASS_CONTEXT (sptr) = t;
- TREE_CHAIN (sptr) = NULL_TREE;
- }
-
- TREE_CHAIN (optr) = sptr;
- TYPE_FIELDS (t) = optr;
- /* Allow signature pointers/references to be grabbed 2 words at a time.
- For this to work on a Sparc, we need 8-byte alignment. */
- TYPE_ALIGN (t) = MAX (TYPE_ALIGN (double_type_node),
- TYPE_ALIGN (optr_type));
-
- /* A signature pointer/reference type isn't a `real' class type. */
- SET_IS_AGGR_TYPE (t, 0);
- }
-
- {
- 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);
- }
-
- CLASSTYPE_GOT_SEMICOLON (t) = 1;
- IS_SIGNATURE_POINTER (t) = ! refp;
- IS_SIGNATURE_REFERENCE (t) = refp;
- SIGNATURE_TYPE (t) = to_type;
-
- if (m)
- {
- /* Add this type to the chain of variants of TYPE.
- Every type has to be its own TYPE_MAIN_VARIANT. */
- TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (m);
- TYPE_NEXT_VARIANT (m) = t;
- }
- else if (refp)
- /* Record this type as the reference to TO_TYPE. */
- SIGNATURE_REFERENCE_TO (to_type) = t;
- else
- /* Record this type as the pointer to TO_TYPE. */
- SIGNATURE_POINTER_TO (to_type) = t;
-
- /* Lay out the type. This function has many callers that are concerned
- with expression-construction, and this simplifies them all.
- Also, it guarantees the TYPE_SIZE is permanent if the type is. */
- layout_type (t);
-
- current_obstack = ambient_obstack;
- saveable_obstack = ambient_saveable_obstack;
-
- /* Output debug information for this type. */
- rest_of_type_compilation (t, 1);
-
- return t;
-}
-
-/* Construct, lay out and return the type of pointers to signature TO_TYPE. */
-
-tree
-build_signature_pointer_type (to_type)
- tree to_type;
-{
- return
- build_signature_pointer_or_reference_type (TYPE_MAIN_VARIANT (to_type),
- CP_TYPE_QUALS (to_type), 0);
-}
-
-/* Construct, lay out and return the type of pointers to signature TO_TYPE. */
-
-tree
-build_signature_reference_type (to_type)
- tree to_type;
-{
- return
- build_signature_pointer_or_reference_type (TYPE_MAIN_VARIANT (to_type),
- CP_TYPE_QUALS (to_type), 1);
-}
-
-/* Return the name of the signature table (as an IDENTIFIER_NODE)
- for the given signature type SIG_TYPE and rhs type RHS_TYPE. */
-
-static tree
-get_sigtable_name (sig_type, rhs_type)
- tree sig_type, rhs_type;
-{
- tree sig_type_id = build_typename_overload (sig_type);
- tree rhs_type_id = build_typename_overload (rhs_type);
- char *buf = (char *) alloca (sizeof (SIGTABLE_NAME_FORMAT_LONG)
- + IDENTIFIER_LENGTH (sig_type_id)
- + IDENTIFIER_LENGTH (rhs_type_id) + 20);
- const char *sig_ptr = IDENTIFIER_POINTER (sig_type_id);
- const char *rhs_ptr = IDENTIFIER_POINTER (rhs_type_id);
- int i, j;
-
- for (i = 0; sig_ptr[i] == OPERATOR_TYPENAME_FORMAT[i]; i++)
- /* do nothing */;
- while (sig_ptr[i] >= '0' && sig_ptr[i] <= '9')
- i += 1;
-
- for (j = 0; rhs_ptr[j] == OPERATOR_TYPENAME_FORMAT[j]; j++)
- /* do nothing */;
- while (rhs_ptr[j] >= '0' && rhs_ptr[j] <= '9')
- j += 1;
-
- if (IS_SIGNATURE (rhs_type))
- sprintf (buf, SIGTABLE_NAME_FORMAT_LONG, sig_ptr+i, rhs_ptr+j,
- global_sigtable_name_counter++);
- else
- sprintf (buf, SIGTABLE_NAME_FORMAT, sig_ptr+i, rhs_ptr+j);
- return get_identifier (buf);
-}
-
-/* Build a field decl that points to a signature member function. */
-
-static tree
-build_member_function_pointer (member)
- tree member;
-{
- const char *namstr = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (member));
- int namlen = IDENTIFIER_LENGTH (DECL_ASSEMBLER_NAME (member));
- char *name;
- tree entry;
-
- name = (char *) alloca (namlen + sizeof (SIGNATURE_FIELD_NAME) + 2);
- sprintf (name, SIGNATURE_FIELD_NAME_FORMAT, namstr);
-
- /* @@ Do we really want to xref signature table fields? */
- GNU_xref_ref (current_function_decl, name);
-
- entry = build_lang_field_decl (FIELD_DECL, get_identifier (name),
- sigtable_entry_type);
- TREE_CONSTANT (entry) = 1;
- TREE_READONLY (entry) = 1;
-
- /* @@ Do we really want to xref signature table fields? */
- GNU_xref_decl (current_function_decl, entry);
-
- return entry;
-}
-
-/* For each FUNCTION_DECL in a signature we construct a member function
- pointer of the appropriate type. We also need two flags to test
- whether the member function pointer points to a virtual function or
- to a default implementation. Those flags will be the two lower order
- bits of the member function pointer (or the two higher order bits,
- based on the configuration).
-
- The new FIELD_DECLs are appended at the end of the last (and only)
- sublist of `list_of_fieldlists.'
-
- T is the signature type.
-
- As a side effect, each member function in the signature gets the
- `decl.ignored' bit turned on, so we don't output debug info for it. */
-
-void
-append_signature_fields (t)
- tree t;
-{
- tree x;
- tree mfptr;
- tree last_mfptr = NULL_TREE;
- tree mfptr_list = NULL_TREE;
-
- for (x = TYPE_METHODS (t); x; x = TREE_CHAIN (x))
- {
- if (TREE_CODE (x) == FUNCTION_DECL)
- {
- mfptr = build_member_function_pointer (x);
- DECL_MEMFUNC_POINTER_TO (x) = mfptr;
- DECL_MEMFUNC_POINTING_TO (mfptr) = x;
- DECL_IGNORED_P (x) = 1;
- DECL_IN_AGGR_P (mfptr) = 1;
- if (! mfptr_list)
- mfptr_list = last_mfptr = mfptr;
- else
- {
- TREE_CHAIN (last_mfptr) = mfptr;
- last_mfptr = mfptr;
- }
- }
- }
-
- /* The member function pointers must come after the TYPE_DECLs, in
- this case, because build_signature_table_constructor depends on
- finding opaque TYPE_DECLS before the functions that make use of
- them. */
- if (last_mfptr)
- TYPE_FIELDS (t) = chainon (TYPE_FIELDS (t), mfptr_list);
-}
-
-/* Compare the types of a signature member function and a class member
- function. Returns 1 if the types are in the C++ `<=' relationship.
-
- If we have a signature pointer/reference as argument or return type
- we don't want to do a recursive conformance check. The conformance
- check only succeeds if both LHS and RHS refer to the same signature
- pointer. Otherwise we need to keep information about parameter types
- around at run time to initialize the signature table correctly. */
-
-static int
-match_method_types (sig_mtype, class_mtype)
- tree sig_mtype, class_mtype;
-{
- tree sig_return_type = TREE_TYPE (sig_mtype);
- tree sig_arg_types = TYPE_ARG_TYPES (sig_mtype);
- tree class_return_type = TREE_TYPE (class_mtype);
- tree class_arg_types = TYPE_ARG_TYPES (class_mtype);
-
- /* The return types have to be the same. */
- if (!same_type_p (sig_return_type, class_return_type))
- return 0;
-
- /* Compare the first argument `this.' */
- {
- /* Get the type of what the `optr' is pointing to. */
- tree sig_this
- = TREE_TYPE (TREE_TYPE (TYPE_FIELDS (TREE_VALUE (sig_arg_types))));
- tree class_this = TREE_VALUE (class_arg_types);
-
- if (TREE_CODE (class_this) == RECORD_TYPE) /* Is `this' a sig ptr? */
- class_this = TREE_TYPE (TREE_TYPE (TYPE_FIELDS (class_this)));
- else
- class_this = TREE_TYPE (class_this);
-
- /* If a signature method's `this' is const or volatile, so has to be
- the corresponding class method's `this.' */
- if (!at_least_as_qualified_p (class_this, sig_this))
- return 0;
- }
-
- sig_arg_types = TREE_CHAIN (sig_arg_types);
- 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);
-}
-
-/* Undo casts of opaque type variables to the RHS types. */
-
-static void
-undo_casts (sig_ty)
- tree sig_ty;
-{
- tree field = TYPE_FIELDS (sig_ty);
-
- /* Since all the FIELD_DECLs for the signature table entries are at the end
- of the chain (see `append_signature_fields'), we can do it this way. */
- for (; field && TREE_CODE (field) != FIELD_DECL; field = TREE_CHAIN (field))
- if (TYPE_MAIN_VARIANT (TREE_TYPE (field)) == opaque_type_node)
- TREE_TYPE (TREE_TYPE (field)) = TREE_TYPE (ptr_type_node);
-}
-
-/* Do the type checking necessary to see whether the `rhs' conforms to
- the lhs's `sig_ty'. Depending on the type of `rhs' return a NULL_TREE,
- an integer_zero_node, a constructor, or an expression offsetting the
- `rhs' signature table. */
-
-static tree
-build_signature_table_constructor (sig_ty, rhs)
- tree sig_ty, rhs;
-{
- tree rhstype = TREE_TYPE (rhs);
- tree sig_field = TYPE_FIELDS (sig_ty);
- tree result = NULL_TREE;
- tree first_rhs_field = NULL_TREE;
- tree last_rhs_field = NULL_TREE;
- int sig_ptr_p = IS_SIGNATURE (rhstype);
- int offset_p = sig_ptr_p;
-
- rhstype = sig_ptr_p ? rhstype : TREE_TYPE (rhstype);
-
- if (CLASSTYPE_TAGS (sig_ty))
- {
- sorry ("conformance check with signature containing class declarations");
- return error_mark_node;
- }
-
- for (; sig_field; sig_field = TREE_CHAIN (sig_field))
- {
- tree basetype_path, baselink, basetypes;
- tree sig_method, sig_mname, sig_mtype;
- tree rhs_method, tbl_entry;
-
- if (TREE_CODE (sig_field) == TYPE_DECL)
- {
- tree sig_field_type = TREE_TYPE (sig_field);
-
- if (TYPE_MAIN_VARIANT (sig_field_type) == opaque_type_node)
- {
- /* We've got an opaque type here. */
- tree oty_name = DECL_NAME (sig_field);
- tree oty_type = lookup_field (rhstype, oty_name, 1, 1);
-
- if (oty_type == NULL_TREE || oty_type == error_mark_node)
- {
- cp_error ("class `%T' does not contain type `%T'",
- rhstype, oty_type);
- undo_casts (sig_ty);
- return error_mark_node;
- }
- oty_type = TREE_TYPE (oty_type);
-
- /* Cast `sig_field' to be of type `oty_type'. This will be
- undone in `undo_casts' by walking over all the TYPE_DECLs. */
- TREE_TYPE (sig_field_type) = TREE_TYPE (oty_type);
- }
- /* If we don't have an opaque type, we can ignore the `typedef'. */
- continue;
- }
-
- /* Find the signature method corresponding to `sig_field'. */
- sig_method = DECL_MEMFUNC_POINTING_TO (sig_field);
- sig_mname = DECL_NAME (sig_method);
- sig_mtype = TREE_TYPE (sig_method);
-
- basetype_path = TYPE_BINFO (rhstype);
- baselink = lookup_fnfields (basetype_path, sig_mname, 0);
- if (baselink == NULL_TREE || baselink == error_mark_node)
- {
- if (! IS_DEFAULT_IMPLEMENTATION (sig_method))
- {
- cp_error ("class `%T' does not contain method `%D'",
- rhstype, sig_mname);
- undo_casts (sig_ty);
- return error_mark_node;
- }
- else
- {
- /* We use the signature's default implementation. */
- rhs_method = sig_method;
- }
- }
- else
- {
- /* Find the class method of the correct type. */
- tree rhs_methods;
- basetypes = TREE_PURPOSE (baselink);
- if (TREE_CODE (basetypes) == TREE_LIST)
- basetypes = TREE_VALUE (basetypes);
-
- rhs_methods = TREE_VALUE (baselink);
- for (; rhs_methods; rhs_methods = OVL_NEXT (rhs_methods))
- if ((rhs_method = OVL_CURRENT (rhs_methods))
- && sig_mname == DECL_NAME (rhs_method)
- && ! DECL_STATIC_FUNCTION_P (rhs_method)
- && match_method_types (sig_mtype, TREE_TYPE (rhs_method)))
- break;
-
- if (rhs_methods == NULL_TREE
- || !accessible_p (basetypes, rhs_method))
- {
- cp_error ("`%T' does not contain a method conforming to `%#D'",
- rhstype, sig_method);
- undo_casts (sig_ty);
- return error_mark_node;
- }
- }
-
- if (sig_ptr_p && rhs_method != sig_method)
- {
- tree rhs_field = DECL_MEMFUNC_POINTER_TO (rhs_method);
-
- if (first_rhs_field == NULL_TREE)
- {
- first_rhs_field = rhs_field;
- last_rhs_field = rhs_field;
- }
- else if (TREE_CHAIN (last_rhs_field) == rhs_field)
- last_rhs_field = rhs_field;
- else
- offset_p = 0;
-
- tbl_entry = build_component_ref (rhs, DECL_NAME (rhs_field),
- NULL_TREE, 1);
- }
- else
- {
- tree tag, vb_off, delta, idx, pfn = NULL_TREE, vt_off = NULL_TREE;
- tree tag_decl, vb_off_decl, delta_decl, index_decl;
- tree pfn_decl, vt_off_decl;
-
- if (rhs_method == sig_method)
- {
- /* default implementation */
- tag = build_unary_op (NEGATE_EXPR, integer_one_node, 0);
- vb_off = build_unary_op (NEGATE_EXPR, integer_one_node, 0);
- delta = integer_zero_node;
- idx = integer_zero_node;
- pfn = build_addr_func (rhs_method);
- TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (rhs_method)) = 1;
- TREE_TYPE (pfn) = ptr_type_node;
- TREE_ADDRESSABLE (rhs_method) = 1;
- offset_p = 0; /* we can't offset the rhs sig table */
- }
- else if (DECL_VINDEX (rhs_method))
- {
- /* virtual member function */
- tag = integer_one_node;
- vb_off = build_unary_op (NEGATE_EXPR, integer_one_node, 0);
- if (flag_vtable_thunks)
- delta = BINFO_OFFSET
- (get_binfo (DECL_CONTEXT (rhs_method), rhstype, 1));
- else
- delta = BINFO_OFFSET
- (get_binfo (DECL_CLASS_CONTEXT (rhs_method), rhstype, 1));
- idx = DECL_VINDEX (rhs_method);
- vt_off = get_vfield_offset (get_binfo (DECL_CONTEXT (rhs_method),
- rhstype, 0));
- }
- else
- {
- /* non-virtual member function */
- tag = integer_zero_node;
- vb_off = build_unary_op (NEGATE_EXPR, integer_one_node, 0);
- delta = BINFO_OFFSET (get_binfo (DECL_CLASS_CONTEXT (rhs_method),
- rhstype, 1));
- idx = integer_zero_node;
- pfn = build_addr_func (rhs_method);
- TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (rhs_method)) = 1;
- TREE_TYPE (pfn) = ptr_type_node;
- TREE_ADDRESSABLE (rhs_method) = 1;
- }
-
- /* Since digest_init doesn't handle initializing selected fields
- of a struct (i.e., anonymous union), we build the constructor
- by hand, without calling digest_init. */
- tag_decl = TYPE_FIELDS (sigtable_entry_type);
- vb_off_decl = TREE_CHAIN (tag_decl);
- delta_decl = TREE_CHAIN (vb_off_decl);
- index_decl = TREE_CHAIN (delta_decl);
- pfn_decl = TREE_CHAIN (index_decl);
- vt_off_decl = TREE_CHAIN (pfn_decl);
-
- tag = cp_convert (TREE_TYPE (tag_decl), tag);
- vb_off = cp_convert (TREE_TYPE (vb_off_decl), vb_off);
- delta = cp_convert (TREE_TYPE (delta_decl), delta);
- idx = cp_convert (TREE_TYPE (index_decl), idx);
-
- if (DECL_VINDEX (rhs_method))
- {
- vt_off = cp_convert (TREE_TYPE (vt_off_decl), vt_off);
-
- tbl_entry = build_tree_list (vt_off_decl, vt_off);
- }
- else
- {
- pfn = cp_convert (TREE_TYPE (pfn_decl), pfn);
-
- tbl_entry = build_tree_list (pfn_decl, pfn);
- }
- tbl_entry = tree_cons (delta_decl, delta,
- tree_cons (index_decl, idx, tbl_entry));
- tbl_entry = tree_cons (tag_decl, tag,
- tree_cons (vb_off_decl, vb_off, tbl_entry));
- tbl_entry = build (CONSTRUCTOR, sigtable_entry_type,
- NULL_TREE, tbl_entry);
-
- TREE_CONSTANT (tbl_entry) = 1;
- }
-
- /* Chain those function address expressions together. */
- if (result)
- result = tree_cons (NULL_TREE, tbl_entry, result);
- else
- result = build_tree_list (NULL_TREE, tbl_entry);
- }
-
- if (result == NULL_TREE)
- {
- /* The signature was empty, we don't need a signature table. */
- undo_casts (sig_ty);
- return NULL_TREE;
- }
-
- if (offset_p)
- {
- if (first_rhs_field == TYPE_FIELDS (rhstype))
- {
- /* The sptr field on the lhs can be copied from the rhs. */
- undo_casts (sig_ty);
- return integer_zero_node;
- }
- else
- {
- /* The sptr field on the lhs will point into the rhs sigtable. */
- undo_casts (sig_ty);
- return build_component_ref (rhs, DECL_NAME (first_rhs_field),
- NULL_TREE, 0);
- }
- }
-
- /* We need to construct a new signature table. */
- result = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (result));
- TREE_HAS_CONSTRUCTOR (result) = 1;
- TREE_CONSTANT (result) = !sig_ptr_p;
-
- undo_casts (sig_ty);
- return result;
-}
-
-/* Build a signature table declaration and initialize it or return an
- existing one if we built one already. If we don't get a constructor
- as initialization expression, we don't need a new signature table
- variable and just hand back the init expression.
-
- The declaration processing is done by hand instead of using `cp_finish_decl'
- so that we can make signature pointers global variables instead of
- static ones. */
-
-static tree
-build_sigtable (sig_type, rhs_type, init_from)
- tree sig_type, rhs_type, init_from;
-{
- tree name = NULL_TREE;
- tree decl = NULL_TREE;
- tree init_expr;
-
- push_obstacks_nochange ();
- end_temporary_allocation ();
-
- if (! IS_SIGNATURE (rhs_type))
- {
- name = get_sigtable_name (sig_type, rhs_type);
- decl = IDENTIFIER_GLOBAL_VALUE (name);
- }
- if (decl == NULL_TREE)
- {
- tree init = NULL_TREE;
-
- /* We allow only one signature table to be generated for signatures
- with opaque types. Otherwise we create a loophole in the type
- system since we could cast data from one classes implementation
- of the opaque type to that of another class. */
- if (SIGNATURE_HAS_OPAQUE_TYPEDECLS (sig_type)
- && SIGTABLE_HAS_BEEN_GENERATED (sig_type))
- {
- error ("signature with opaque type implemented by multiple classes");
- return error_mark_node;
- }
- SIGTABLE_HAS_BEEN_GENERATED (sig_type) = 1;
-
- init_expr = build_signature_table_constructor (sig_type, init_from);
- if (init_expr == NULL_TREE || TREE_CODE (init_expr) != CONSTRUCTOR)
- return init_expr;
-
- if (name == NULL_TREE)
- name = get_sigtable_name (sig_type, rhs_type);
- {
- tree context = current_function_decl;
-
- /* Make the signature table global, not just static in whichever
- function a signature pointer/ref is used for the first time. */
- current_function_decl = NULL_TREE;
- decl = pushdecl_top_level (build_decl (VAR_DECL, name, sig_type));
- current_function_decl = context;
- }
- SET_IDENTIFIER_GLOBAL_VALUE (name, decl);
- store_init_value (decl, init_expr);
- if (IS_SIGNATURE (rhs_type))
- {
- init = DECL_INITIAL (decl);
- DECL_INITIAL (decl) = error_mark_node;
- }
-
- DECL_ALIGN (decl) = MAX (TYPE_ALIGN (double_type_node),
- DECL_ALIGN (decl));
-#if 0
- /* GDB-4.7 doesn't find the initialization value of a signature table
- when it is constant. */
- TREE_READONLY (decl) = 1;
-#endif
- TREE_STATIC (decl) = 1;
- TREE_USED (decl) = 1;
-
- make_decl_rtl (decl, NULL, 1);
- if (IS_SIGNATURE (rhs_type))
- expand_static_init (decl, init);
- }
-
- pop_obstacks ();
-
- return decl;
-}
-
-/* Create a constructor or modify expression if the LHS of an assignment
- is a signature pointer or a signature reference. If LHS is a record
- type node, we build a constructor, otherwise a compound expression. */
-
-tree
-build_signature_pointer_constructor (lhs, rhs)
- tree lhs, rhs;
-{
- register struct obstack *ambient_obstack = current_obstack;
- register struct obstack *ambient_saveable_obstack = saveable_obstack;
- int initp = (TREE_CODE (lhs) == RECORD_TYPE);
- tree lhstype = initp ? lhs : TREE_TYPE (lhs);
- tree rhstype = TREE_TYPE (rhs);
- tree sig_ty = SIGNATURE_TYPE (lhstype);
- tree sig_tbl, sptr_expr, optr_expr;
- tree result;
-
- if (! ((TREE_CODE (rhstype) == POINTER_TYPE
- && TREE_CODE (TREE_TYPE (rhstype)) == RECORD_TYPE)
- || (TYPE_LANG_SPECIFIC (rhstype)
- && (IS_SIGNATURE_POINTER (rhstype)
- || IS_SIGNATURE_REFERENCE (rhstype)))))
- {
- error ("invalid assignment to signature pointer or reference");
- return error_mark_node;
- }
-
- if (TYPE_SIZE (sig_ty) == NULL_TREE)
- {
- cp_error ("undefined signature `%T' used in signature %s declaration",
- sig_ty,
- IS_SIGNATURE_POINTER (lhstype) ? "pointer" : "reference");
- return error_mark_node;
- }
-
- /* If SIG_TY is permanent, make the signature table constructor and
- the signature pointer/reference constructor permanent too. */
- if (TREE_PERMANENT (sig_ty))
- {
- current_obstack = &permanent_obstack;
- saveable_obstack = &permanent_obstack;
- }
-
- if (TYPE_LANG_SPECIFIC (rhstype)
- && (IS_SIGNATURE_POINTER (rhstype) || IS_SIGNATURE_REFERENCE (rhstype)))
- {
- if (SIGNATURE_TYPE (rhstype) == sig_ty)
- {
- /* LHS and RHS are signature pointers/refs of the same signature. */
- optr_expr = build_optr_ref (rhs);
- sptr_expr = build_sptr_ref (rhs);
- }
- else
- {
- /* We need to create a new signature table and copy
- elements from the rhs signature table. */
- tree rhs_sptr_ref = build_sptr_ref (rhs);
- tree rhs_tbl = build1 (INDIRECT_REF, SIGNATURE_TYPE (rhstype),
- rhs_sptr_ref);
-
- sig_tbl = build_sigtable (sig_ty, SIGNATURE_TYPE (rhstype), rhs_tbl);
- if (sig_tbl == error_mark_node)
- return error_mark_node;
-
- optr_expr = build_optr_ref (rhs);
- if (sig_tbl == NULL_TREE)
- /* The signature was empty. The signature pointer is
- pretty useless, but the user has been warned. */
- sptr_expr = copy_node (null_pointer_node);
- else if (sig_tbl == integer_zero_node)
- sptr_expr = rhs_sptr_ref;
- else
- sptr_expr = build_unary_op (ADDR_EXPR, sig_tbl, 0);
- TREE_TYPE (sptr_expr) = build_pointer_type (sig_ty);
- }
- }
- else
- {
- sig_tbl = build_sigtable (sig_ty, TREE_TYPE (rhstype), rhs);
- if (sig_tbl == error_mark_node)
- return error_mark_node;
-
- optr_expr = rhs;
- if (sig_tbl == NULL_TREE)
- /* The signature was empty. The signature pointer is
- pretty useless, but the user has been warned. */
- {
- sptr_expr = copy_node (null_pointer_node);
- TREE_TYPE (sptr_expr) = build_pointer_type (sig_ty);
- }
- else
- sptr_expr = build_unary_op (ADDR_EXPR, sig_tbl, 0);
- }
-
- if (initp)
- {
- result = tree_cons (NULL_TREE, optr_expr,
- build_tree_list (NULL_TREE, sptr_expr));
- result = build_nt (CONSTRUCTOR, NULL_TREE, result);
- result = digest_init (lhstype, result, 0);
- }
- else
- {
- 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,
- optr_expr);
- sptr_expr = build_modify_expr (build_sptr_ref (lhs), NOP_EXPR,
- sptr_expr);
-
- result = tree_cons (NULL_TREE, optr_expr,
- tree_cons (NULL_TREE, sptr_expr,
- build_tree_list (NULL_TREE, lhs)));
- result = build_compound_expr (result);
- }
-
- current_obstack = ambient_obstack;
- saveable_obstack = ambient_saveable_obstack;
- return result;
-}
-
-/* Build a temporary variable declaration for the instance of a signature
- member function call if it isn't a declaration node already. Simply
- using a SAVE_EXPR doesn't work since we need `this' in both branches
- of a conditional expression. */
-
-static tree
-save_this (instance)
- tree instance;
-{
- tree decl;
-
- if (TREE_CODE_CLASS (TREE_CODE (instance)) == 'd')
- decl = instance;
- else
- {
- decl = build_decl (VAR_DECL, NULL_TREE, TREE_TYPE (instance));
- DECL_REGISTER (decl) = 1;
- layout_decl (decl, 0);
- expand_decl (decl);
- }
-
- return decl;
-}
-
-/* Build a signature member function call. Looks up the signature table
- entry corresponding to FUNCTION. Depending on the value of the CODE
- field, either call the function in PFN directly, or use OFFSET to
- index the object's virtual function table. */
-
-tree
-build_signature_method_call (function, parms)
- tree function, parms;
-{
- tree instance = TREE_VALUE (parms);
- tree saved_instance = save_this (instance); /* Create temp for `this'. */
- tree object_ptr = build_optr_ref (saved_instance);
- tree new_object_ptr, new_parms;
- tree signature_tbl_ptr = build_sptr_ref (saved_instance);
- tree sig_field_name = DECL_NAME (DECL_MEMFUNC_POINTER_TO (function));
- tree basetype = DECL_CONTEXT (function);
- tree basetype_path = TYPE_BINFO (basetype);
- tree tbl_entry = build_component_ref (build1 (INDIRECT_REF, basetype,
- signature_tbl_ptr),
- sig_field_name, basetype_path, 1);
- tree tag, delta, pfn, vt_off, idx, vfn;
- tree deflt_call = NULL_TREE, direct_call, virtual_call, result;
-
- tbl_entry = save_expr (tbl_entry);
- tag = build_component_ref (tbl_entry, tag_identifier, NULL_TREE, 1);
- delta = build_component_ref (tbl_entry, delta_identifier, NULL_TREE, 1);
- pfn = build_component_ref (tbl_entry, pfn_identifier, NULL_TREE, 1);
- vt_off = build_component_ref (tbl_entry, vt_off_identifier, NULL_TREE, 1);
- idx = build_component_ref (tbl_entry, index_identifier, NULL_TREE, 1);
- TREE_TYPE (pfn) = build_pointer_type (TREE_TYPE (function));
-
- if (IS_DEFAULT_IMPLEMENTATION (function))
- {
- pfn = save_expr (pfn);
- deflt_call = build_function_call (pfn, parms);
- }
-
- new_object_ptr = build (PLUS_EXPR, build_pointer_type (basetype),
- cp_convert (ptrdiff_type_node, object_ptr),
- cp_convert (ptrdiff_type_node, delta));
-
- parms = tree_cons (NULL_TREE,
- cp_convert (build_pointer_type (basetype), object_ptr),
- TREE_CHAIN (parms));
- new_parms = tree_cons (NULL_TREE, new_object_ptr, TREE_CHAIN (parms));
-
- {
- /* Cast the signature method to have `this' of a normal pointer type. */
- tree old_this = TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (TREE_TYPE (pfn))));
-
- TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (TREE_TYPE (pfn))))
- = build_qualified_type (build_pointer_type (basetype),
- TYPE_QUALS (old_this));
-
- direct_call = build_function_call (pfn, new_parms);
-
- {
- tree vfld, vtbl, aref;
-
- vfld = build (PLUS_EXPR,
- build_pointer_type (build_pointer_type (vtbl_type_node)),
- cp_convert (ptrdiff_type_node, object_ptr),
- cp_convert (ptrdiff_type_node, vt_off));
- vtbl = build_indirect_ref (build_indirect_ref (vfld, NULL_PTR),
- NULL_PTR);
- aref = build_array_ref (vtbl, idx);
-
- if (flag_vtable_thunks)
- vfn = aref;
- else
- vfn = build_component_ref (aref, pfn_identifier, NULL_TREE, 0);
-
- TREE_TYPE (vfn) = build_pointer_type (TREE_TYPE (function));
-
- virtual_call = build_function_call (vfn, new_parms);
- }
-
- /* Undo the cast, make `this' a signature pointer again. */
- TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (TREE_TYPE (pfn)))) = old_this;
- }
-
- /* Once the function was found, there should be no reason why we
- couldn't build the member function pointer call. */
- if (!direct_call || direct_call == error_mark_node
- || !virtual_call || virtual_call == error_mark_node
- || (IS_DEFAULT_IMPLEMENTATION (function)
- && (!deflt_call || deflt_call == error_mark_node)))
- {
- compiler_error ("cannot build call of signature member function `%s'",
- fndecl_as_string (function, 1));
- return error_mark_node;
- }
-
- if (IS_DEFAULT_IMPLEMENTATION (function))
- {
- tree test = build_binary_op_nodefault (LT_EXPR, tag, integer_zero_node,
- LT_EXPR);
- result = build_conditional_expr (tag,
- build_conditional_expr (test,
- deflt_call,
- virtual_call),
- direct_call);
- }
- else
- result = build_conditional_expr (tag, virtual_call, direct_call);
-
- /* If we created a temporary variable for `this', initialize it first. */
- if (instance != saved_instance)
- result = build (COMPOUND_EXPR, TREE_TYPE (result),
- build_modify_expr (saved_instance, NOP_EXPR, instance),
- result);
-
- return result;
-}
-
-/* Create a COMPONENT_REF expression for referencing the OPTR field
- of a signature pointer or reference. */
-
-tree
-build_optr_ref (instance)
- tree instance;
-{
- tree field = get_identifier (SIGNATURE_OPTR_NAME);
-
- return build_component_ref (instance, field, NULL_TREE, 1);
-}
-
-/* Create a COMPONENT_REF expression for referencing the SPTR field
- of a signature pointer or reference. */
-
-static tree
-build_sptr_ref (instance)
- tree instance;
-{
- tree field = get_identifier (SIGNATURE_SPTR_NAME);
-
- return build_component_ref (instance, field, NULL_TREE, 1);
-}
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 281e7a7..592b602 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -410,10 +410,7 @@ build_cplus_method_type (basetype, rettype, argtypes)
TYPE_METHOD_BASETYPE (t) = TYPE_MAIN_VARIANT (basetype);
TREE_TYPE (t) = rettype;
- if (IS_SIGNATURE (basetype))
- ptype = build_signature_pointer_type (basetype);
- else
- ptype = build_pointer_type (basetype);
+ ptype = build_pointer_type (basetype);
/* The actual arglist for this function includes a "hidden" argument
which is "this". Put it into the list of argument types. */
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 0301786..0b71e72 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -104,10 +104,7 @@ require_complete_type (value)
/* First, detect a valid value with a complete type. */
if (TYPE_SIZE (type) != 0
- && TYPE_SIZE (type) != size_zero_node
- && ! (TYPE_LANG_SPECIFIC (type)
- && (IS_SIGNATURE_POINTER (type) || IS_SIGNATURE_REFERENCE (type))
- && TYPE_SIZE (SIGNATURE_TYPE (type)) == 0))
+ && TYPE_SIZE (type) != size_zero_node)
return value;
/* If we see X::Y, we build an OFFSET_TYPE which has
@@ -1697,14 +1694,7 @@ c_sizeof (type)
if (code == REFERENCE_TYPE)
type = TREE_TYPE (type);
- /* @@ This also produces an error for a signature ref.
- In that case we should be able to do better. */
- if (IS_SIGNATURE (type))
- {
- error ("`sizeof' applied to a signature type");
- return size_int (0);
- }
- else if (code == OFFSET_TYPE)
+ if (code == OFFSET_TYPE)
{
cp_error ("`sizeof' applied to non-static member");
return size_int (0);
@@ -1816,14 +1806,6 @@ c_alignof (type)
if (code == REFERENCE_TYPE)
type = TREE_TYPE (type);
- /* @@ This also produces an error for a signature ref.
- In that case we should be able to do better. */
- if (IS_SIGNATURE (type))
- {
- error ("`__alignof' applied to a signature type");
- return size_int (1);
- }
-
t = size_int (TYPE_ALIGN (type) / BITS_PER_UNIT);
force_fit_type (t, 0);
return t;
@@ -2038,11 +2020,6 @@ build_object_ref (datum, basetype, field)
basetype, field, dtype);
return error_mark_node;
}
- else if (IS_SIGNATURE (basetype))
- {
- warning ("signature name in scope resolution ignored");
- return build_component_ref (datum, field, NULL_TREE, 1);
- }
else if (is_aggr_type (basetype, 1))
{
tree binfo = binfo_or_else (basetype, dtype);
@@ -2401,8 +2378,7 @@ build_component_ref (datum, component, basetype_path, protect)
not const, even within a const object. */
if (DECL_LANG_SPECIFIC (field) && DECL_MUTABLE_P (field))
type_quals &= ~TYPE_QUAL_CONST;
- if (!IS_SIGNATURE (field_type))
- field_type = cp_build_qualified_type (field_type, type_quals);
+ field_type = cp_build_qualified_type (field_type, type_quals);
}
ref = fold (build (COMPONENT_REF, field_type,
@@ -2513,9 +2489,6 @@ build_indirect_ref (ptr, errorstring)
pointer to member, so it's cool to check for this here. */
else if (TYPE_PTRMEM_P (type) || TYPE_PTRMEMFUNC_P (type))
error ("invalid use of `%s' on pointer to member", errorstring);
- else if (TREE_CODE (type) == RECORD_TYPE
- && (IS_SIGNATURE_POINTER (type) || IS_SIGNATURE_REFERENCE (type)))
- error ("cannot dereference signature pointer/reference");
else if (pointer != error_mark_node)
{
if (errorstring)
@@ -5580,12 +5553,6 @@ build_c_cast (type, expr)
return error_mark_node;
}
- if (IS_SIGNATURE (type))
- {
- error ("cast specifies signature type");
- return error_mark_node;
- }
-
if (processing_template_decl)
{
tree t = build_min (CAST_EXPR, type,
@@ -5726,14 +5693,6 @@ build_modify_expr (lhs, modifycode, rhs)
newrhs = rhs;
- /* Handle assignment to signature pointers/refs. */
-
- if (TYPE_LANG_SPECIFIC (lhstype)
- && (IS_SIGNATURE_POINTER (lhstype) || IS_SIGNATURE_REFERENCE (lhstype)))
- {
- return build_signature_pointer_constructor (lhs, rhs);
- }
-
/* Handle control structure constructs used as "lvalues". */
switch (TREE_CODE (lhs))
@@ -5923,11 +5882,6 @@ build_modify_expr (lhs, modifycode, rhs)
/* Warn about storing in something that is `const'. */
/* For C++, don't warn if this is initialization. */
if (modifycode != INIT_EXPR
- /* For assignment to `const' signature pointer/reference fields,
- don't warn either, we already printed a better message before. */
- && ! (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) || CP_TYPE_CONST_P (lhstype)
/* Functions are not modifiable, even though they are
lvalues. */
@@ -6735,10 +6689,6 @@ convert_for_initialization (exp, type, rhs, flags, errtype, fndecl, parmnum)
type = complete_type (type);
- if (TYPE_LANG_SPECIFIC (type)
- && (IS_SIGNATURE_POINTER (type) || IS_SIGNATURE_REFERENCE (type)))
- return build_signature_pointer_constructor (type, rhs);
-
if (IS_AGGR_TYPE (type))
return ocp_convert (type, rhs, CONV_IMPLICIT|CONV_FORCE_TEMP, flags);
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index c4a12b3..db13872 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -177,39 +177,6 @@ abstract_virtuals_error (decl, type)
return 1;
}
-/* Print an error message for invalid use of a signature type.
- Signatures are treated similar to abstract classes here, they
- cannot be instantiated. */
-
-void
-signature_error (decl, type)
- tree decl;
- tree type;
-{
- if (decl)
- {
- if (TREE_CODE (decl) == RESULT_DECL)
- return;
-
- if (TREE_CODE (decl) == VAR_DECL)
- cp_error ("cannot declare variable `%D' to be of signature type `%T'",
- decl, type);
- else if (TREE_CODE (decl) == PARM_DECL)
- cp_error ("cannot declare parameter `%D' to be of signature type `%T'",
- decl, type);
- else if (TREE_CODE (decl) == FIELD_DECL)
- cp_error ("cannot declare field `%D' to be of signature type `%T'",
- decl, type);
- else if (TREE_CODE (decl) == FUNCTION_DECL
- && TREE_CODE (TREE_TYPE (decl)) == METHOD_TYPE)
- cp_error ("invalid return type for method `%#D'", decl);
- else if (TREE_CODE (decl) == FUNCTION_DECL)
- cp_error ("invalid return type for function `%#D'", decl);
- }
- else
- cp_error ("cannot allocate an object of signature type `%T'", type);
-}
-
/* Print an error message for invalid use of an incomplete type.
VALUE is the expression that was used (or 0 if that isn't known)
and TYPE is the type that was invalid. */
@@ -418,17 +385,7 @@ store_init_value (decl, init)
&& TREE_CODE (init) != CONSTRUCTOR)
my_friendly_abort (109);
- /* Although we are not allowed to declare variables of signature
- type, we complain about a possible constructor call in such a
- declaration as well. */
- if (TREE_CODE (init) == TREE_LIST
- && IS_SIGNATURE (type))
- {
- cp_error ("constructor syntax cannot be used with signature type `%T'",
- type);
- init = error_mark_node;
- }
- else if (TREE_CODE (init) == TREE_LIST)
+ if (TREE_CODE (init) == TREE_LIST)
{
cp_error ("constructor syntax used, but no constructor declared for type `%T'", type);
init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (init));
@@ -532,13 +489,7 @@ store_init_value (decl, init)
#if 0 /* No, that's C. jason 9/19/94 */
else
{
- if (pedantic && TREE_CODE (value) == CONSTRUCTOR
- /* Don't complain about non-constant initializers of
- signature tables and signature pointers/references. */
- && ! (TYPE_LANG_SPECIFIC (type)
- && (IS_SIGNATURE (type)
- || IS_SIGNATURE_POINTER (type)
- || IS_SIGNATURE_REFERENCE (type))))
+ if (pedantic && TREE_CODE (value) == CONSTRUCTOR)
{
if (! TREE_CONSTANT (value) || ! TREE_STATIC (value))
pedwarn ("ANSI C++ forbids non-constant aggregate initializer expressions");
@@ -666,9 +617,7 @@ digest_init (type, init, tail)
if (code == INTEGER_TYPE || code == REAL_TYPE || code == POINTER_TYPE
|| code == ENUMERAL_TYPE || code == REFERENCE_TYPE
|| code == BOOLEAN_TYPE || code == COMPLEX_TYPE
- || TYPE_PTRMEMFUNC_P (type)
- || (code == RECORD_TYPE && ! raw_constructor
- && (IS_SIGNATURE_POINTER (type) || IS_SIGNATURE_REFERENCE (type))))
+ || TYPE_PTRMEMFUNC_P (type))
{
if (raw_constructor)
{
@@ -1194,11 +1143,6 @@ build_x_arrow (datum)
else
last_rval = default_conversion (rval);
- /* Signature pointers are not dereferenced. */
- if (TYPE_LANG_SPECIFIC (TREE_TYPE (last_rval))
- && IS_SIGNATURE_POINTER (TREE_TYPE (last_rval)))
- return last_rval;
-
if (TREE_CODE (TREE_TYPE (last_rval)) == POINTER_TYPE)
return build_indirect_ref (last_rval, NULL_PTR);
@@ -1318,12 +1262,6 @@ build_functional_cast (exp, parms)
if (processing_template_decl)
return build_min (CAST_EXPR, type, parms);
- if (IS_SIGNATURE (type))
- {
- error ("signature type not allowed in cast or constructor expression");
- return error_mark_node;
- }
-
if (! IS_AGGR_TYPE (type))
{
/* this must build a C cast */
diff --git a/gcc/cp/xref.c b/gcc/cp/xref.c
index 003910c..2952f36 100644
--- a/gcc/cp/xref.c
+++ b/gcc/cp/xref.c
@@ -367,7 +367,6 @@ GNU_xref_decl (fndecl,decl)
else if (TREE_CODE (decl) == RECORD_TYPE)
{
if (CLASSTYPE_DECLARED_CLASS (decl)) cls = "CLASSID";
- else if (IS_SIGNATURE (decl)) cls = "SIGNATUREID";
else cls = "STRUCTID";
decl = TYPE_NAME (decl);
uselin = TRUE;
@@ -417,8 +416,7 @@ GNU_xref_decl (fndecl,decl)
(cur_scope != NULL ? cur_scope->lid : 0),
cls, fctname(fndecl), buf);
- if (STREQL (cls, "STRUCTID") || STREQL (cls, "UNIONID")
- || STREQL (cls, "SIGNATUREID"))
+ if (STREQL (cls, "STRUCTID") || STREQL (cls, "UNIONID"))
{
cls = "CLASSID";
fprintf (xref_file, "DCL %s %d %s %d %s %s %s\n",
diff --git a/gcc/extend.texi b/gcc/extend.texi
index a6644ce..253b0e6 100644
--- a/gcc/extend.texi
+++ b/gcc/extend.texi
@@ -3158,9 +3158,6 @@ Predefined Macros,cpp.info,The C Preprocessor}).
each needed template instantiation is emitted.
* Bound member functions:: You can extract a function pointer to the
method denoted by a @samp{->*} or @samp{.*} expression.
-* C++ Signatures:: You can specify abstract types to get subtype
- polymorphism independent from inheritance.
-
@end menu
@node Naming Results
@@ -3654,141 +3651,3 @@ fptr p = (fptr)(a.*fp);
You must specify @samp{-Wno-pmf-conversions} to use this extension.
-@node C++ Signatures
-@section Type Abstraction using Signatures
-
-@findex signature
-@cindex type abstraction, C++
-@cindex C++ type abstraction
-@cindex subtype polymorphism, C++
-@cindex C++ subtype polymorphism
-@cindex signatures, C++
-@cindex C++ signatures
-
-In GNU C++, you can use the keyword @code{signature} to define a
-completely abstract class interface as a datatype. You can connect this
-abstraction with actual classes using signature pointers. If you want
-to use signatures, run the GNU compiler with the
-@samp{-fhandle-signatures} command-line option. (With this option, the
-compiler reserves a second keyword @code{sigof} as well, for a future
-extension.)
-
-Roughly, signatures are type abstractions or interfaces of classes.
-Some other languages have similar facilities. C++ signatures are
-related to ML's signatures, Haskell's type classes, definition modules
-in Modula-2, interface modules in Modula-3, abstract types in Emerald,
-type modules in Trellis/Owl, categories in Scratchpad II, and types in
-POOL-I. For a more detailed discussion of signatures, see
-@cite{Signatures: A Language Extension for Improving Type Abstraction and
-Subtype Polymorphism in C++}
-by @w{Gerald} Baumgartner and Vincent F. Russo (Tech report
-CSD--TR--95--051, Dept. of Computer Sciences, Purdue University,
-August 1995, a slightly improved version appeared in
-@emph{Software---Practice & Experience}, @b{25}(8), pp. 863--889,
-August 1995). You can get the tech report by anonymous FTP from
-@code{ftp.cs.purdue.edu} in @file{pub/gb/Signature-design.ps.gz}.
-
-Syntactically, a signature declaration is a collection of
-member function declarations and nested type declarations.
-For example, this signature declaration defines a new abstract type
-@code{S} with member functions @samp{int foo ()} and @samp{int bar (int)}:
-
-@example
-signature S
-@{
- int foo ();
- int bar (int);
-@};
-@end example
-
-Since signature types do not include implementation definitions, you
-cannot write an instance of a signature directly. Instead, you can
-define a pointer to any class that contains the required interfaces as a
-@dfn{signature pointer}. Such a class @dfn{implements} the signature
-type.
-@c Eventually signature references should work too.
-
-To use a class as an implementation of @code{S}, you must ensure that
-the class has public member functions @samp{int foo ()} and @samp{int
-bar (int)}. The class can have other member functions as well, public
-or not; as long as it offers what's declared in the signature, it is
-suitable as an implementation of that signature type.
-
-For example, suppose that @code{C} is a class that meets the
-requirements of signature @code{S} (@code{C} @dfn{conforms to}
-@code{S}). Then
-
-@example
-C obj;
-S * p = &obj;
-@end example
-
-@noindent
-defines a signature pointer @code{p} and initializes it to point to an
-object of type @code{C}.
-The member function call @w{@samp{int i = p->foo ();}}
-executes @samp{obj.foo ()}.
-
-@cindex @code{signature} in C++, advantages
-Abstract virtual classes provide somewhat similar facilities in standard
-C++. There are two main advantages to using signatures instead:
-
-@enumerate
-@item
-Subtyping becomes independent from inheritance. A class or signature
-type @code{T} is a subtype of a signature type @code{S} independent of
-any inheritance hierarchy as long as all the member functions declared
-in @code{S} are also found in @code{T}. So you can define a subtype
-hierarchy that is completely independent from any inheritance
-(implementation) hierarchy, instead of being forced to use types that
-mirror the class inheritance hierarchy.
-
-@item
-Signatures allow you to work with existing class hierarchies as
-implementations of a signature type. If those class hierarchies are
-only available in compiled form, you're out of luck with abstract virtual
-classes, since an abstract virtual class cannot be retrofitted on top of
-existing class hierarchies. So you would be required to write interface
-classes as subtypes of the abstract virtual class.
-@end enumerate
-
-@cindex default implementation, signature member function
-@cindex signature member function default implementation
-There is one more detail about signatures. A signature declaration can
-contain member function @emph{definitions} as well as member function
-declarations. A signature member function with a full definition is
-called a @emph{default implementation}; classes need not contain that
-particular interface in order to conform. For example, a
-class @code{C} can conform to the signature
-
-@example
-signature T
-@{
- int f (int);
- int f0 () @{ return f (0); @};
-@};
-@end example
-
-@noindent
-whether or not @code{C} implements the member function @samp{int f0 ()}.
-If you define @code{C::f0}, that definition takes precedence;
-otherwise, the default implementation @code{S::f0} applies.
-
-@ignore
-There will be more support for signatures in the future.
-Add to this doc as the implementation grows.
-In particular, the following features are planned but not yet
-implemented:
-@itemize @bullet
-@item signature references,
-@item signature inheritance,
-@item the @code{sigof} construct for extracting the signature information
- of a class,
-@item views for renaming member functions when matching a class type
- with a signature type,
-@item specifying exceptions with signature member functions, and
-@item signature templates.
-@end itemize
-This list is roughly in the order in which we intend to implement
-them. Watch this space for updates.
-@end ignore
diff --git a/gcc/invoke.texi b/gcc/invoke.texi
index 5e0a860..c5e6bb2 100644
--- a/gcc/invoke.texi
+++ b/gcc/invoke.texi
@@ -105,7 +105,7 @@ in the following sections.
@smallexample
-fno-access-control -fcheck-new -fconserve-space -fdollars-in-identifiers
-fno-elide-constructors -fexternal-templates -ffor-scope
--fno-for-scope -fno-gnu-keywords -fguiding-decls -fhandle-signatures
+-fno-for-scope -fno-gnu-keywords -fguiding-decls
-fhonor-std -fhuge-objects -fno-implicit-templates -finit-priority
-fno-implement-inlines -fname-mangling-version-@var{n} -fno-default-inline
-foperator-names -fno-optional-diags -fpermissive -frepo -fstrict-prototype
@@ -1025,10 +1025,9 @@ but to allow and give a warning for old-style code that would
otherwise be invalid, or have different behavior.
@item -fno-gnu-keywords
-Do not recognize @code{classof}, @code{headof}, @code{signature},
-@code{sigof} or @code{typeof} as a keyword, so that code can use these
-words as identifiers. You can use the keywords @code{__classof__},
-@code{__headof__}, @code{__signature__}, @code{__sigof__}, and
+Do not recognize @code{classof}, @code{headof}, or @code{typeof} as a
+keyword, so that code can use these words as identifiers. You can use
+the keywords @code{__classof__}, @code{__headof__}, and
@code{__typeof__} instead. @samp{-ansi} implies
@samp{-fno-gnu-keywords}.
@@ -1046,12 +1045,6 @@ with other name mangling versions. Like all options that change the
ABI, all C++ code, @emph{including libgcc.a} must be built with the same
setting of this option.
-@item -fhandle-signatures
-Recognize the @code{signature} and @code{sigof} keywords for specifying
-abstract types. The default (@samp{-fno-handle-signatures}) is not to
-recognize them. @xref{C++ Signatures, Type Abstraction using
-Signatures}.
-
@item -fhonor-std
Treat the @code{namespace std} as a namespace, instead of ignoring
it. For compatibility with earlier versions of g++, the compiler will,
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig01.C b/gcc/testsuite/g++.old-deja/g++.gb/sig01.C
deleted file mode 100644
index a3e9277..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig01.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment
-// Test assignment to local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
-
- p = &a;
-
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig02.C b/gcc/testsuite/g++.old-deja/g++.gb/sig02.C
deleted file mode 100644
index f739a28..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig02.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment
-// Test assigning objects of different classes to local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-int main (void)
-{
- C a;
- D b;
- S * p;
- int i;
-
- for (i = 0; i < 2; i++)
- {
- if (i == 0)
- p = &a;
- else
- p = &b;
- printf ("%s", p->f ());
- }
- printf ("\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig03.C b/gcc/testsuite/g++.old-deja/g++.gb/sig03.C
deleted file mode 100644
index d791c7e..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig03.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr overloading
-// Test overloading of signature member functions.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * f (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * f (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
-
- p = &a;
-
- printf ("%s%s\n", p->f (), p->f (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig04.C b/gcc/testsuite/g++.old-deja/g++.gb/sig04.C
deleted file mode 100644
index af54959..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig04.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr this
-// Test passing of 'this' pointer through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C;
-int inc_mod_4 (C *);
-
-class C
-{
-public:
- char * text[4];
- int i;
- int get_i (void) { return i; }
- char * msg (void) { i = inc_mod_4 (this); return text[i]; }
-};
-
-signature S
-{
- char * msg (void);
-};
-
-int inc_mod_4 (C * p)
-{
- return (p->get_i () + 1) % 4;
-}
-
-int main (void)
-{
- C o = { "P", "A", "S", "S", -1 };
- S * p;
- int i;
-
- p = &o;
-
- for (i = 0; i < 4; i++)
- printf ("%s", p->msg ());
-
- printf ("\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig05.C b/gcc/testsuite/g++.old-deja/g++.gb/sig05.C
deleted file mode 100644
index 3023e34..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig05.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization
-// Test initialization of a local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig06.C b/gcc/testsuite/g++.old-deja/g++.gb/sig06.C
deleted file mode 100644
index b6476d5..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig06.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization
-// Test initialization of a local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-C a;
-S * p = &a;
-
-int main (void)
-{
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig07.C b/gcc/testsuite/g++.old-deja/g++.gb/sig07.C
deleted file mode 100644
index 18a47be..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig07.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr default-argument
-// Test calling a signature member function with default argument.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (char * text) { return text; }
-};
-
-signature S
-{
- char * f (char * text = "PA");
-};
-
-C a;
-S * p = &a;
-
-int main (void)
-{
- printf ("%s%s\n", p->f (), p->f ("SS"));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig08.C b/gcc/testsuite/g++.old-deja/g++.gb/sig08.C
deleted file mode 100644
index 2d5d14d..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig08.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr argument return-value
-// Test passing a signature pointer to a function and returning it from one.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * text;
- char * get_msg (void) const { return text; }
-};
-
-const C a = { "PA" };
-const C b = { "SS" };
-
-signature S
-{
- char * get_msg (void) const;
-};
-
-char * f (const S * p)
-{
- return p->get_msg ();
-}
-
-const S * g (const C * p)
-{
- return p;
-}
-
-int main (void)
-{
- printf ("%s%s\n", f(&a), g(&b)->get_msg ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig09.C b/gcc/testsuite/g++.old-deja/g++.gb/sig09.C
deleted file mode 100644
index a2e3b33..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig09.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization new
-// Test assignment to/initialization of signature pointer with run-time value.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
-};
-
-signature S
-{
- int f (void);
-};
-
-S * p1 = new C;
-
-int main (void)
-{
- S * p2 = new C;
- S * p3;
-
- p3 = new C;
-
- if (p1->f () + p2->f () + p3->f () == 3)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig10.C b/gcc/testsuite/g++.old-deja/g++.gb/sig10.C
deleted file mode 100644
index e16f2ee..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig10.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr argument return-value new
-// Test passing a signature pointer to a function and returning it from one.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
- char * text;
-public:
- C (char * s) { text = s; }
- char * get_msg (void) const { return text; }
-};
-
-signature S
-{
- char * get_msg (void) const;
-};
-
-char * f (const S * p)
-{
- return p->get_msg ();
-}
-
-const S * g (const C * p)
-{
- return p;
-}
-
-int main (void)
-{
- printf ("%s%s\n", f(new C ("PA")), g(new C ("SS"))->get_msg ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig11.C b/gcc/testsuite/g++.old-deja/g++.gb/sig11.C
deleted file mode 100644
index 892695f..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig11.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr array
-// Test a signature pointer array.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-int main (void)
-{
- S * p[2] = { new C, new D };
-
- printf ("%s%s\n", p[0]->f (), p[1]->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig12.C b/gcc/testsuite/g++.old-deja/g++.gb/sig12.C
deleted file mode 100644
index 2747a80..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig12.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr structure
-// Test a signature pointer structure.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-struct SP
-{
- S * p;
- S * q;
-};
-
-int main (void)
-{
- SP o = { new C, new D };
-
- printf ("%s%s\n", o.p->f (), o.q->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig13.C b/gcc/testsuite/g++.old-deja/g++.gb/sig13.C
deleted file mode 100644
index f5da9f8..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig13.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization
-// Test assignment of/initialization with same type signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
-};
-
-signature S
-{
- int f (void);
-};
-
-C a;
-S * p1 = &a;
-S * q1 = p1;
-
-int main (void)
-{
- C a;
- S * p2 = &a;
- S * q2 = p2;
- S * q3;
-
- q3 = p2;
-
- if (q1->f () + q2->f () + q3->f () == 3)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig14.C b/gcc/testsuite/g++.old-deja/g++.gb/sig14.C
deleted file mode 100644
index 6ce1d02..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig14.C
+++ /dev/null
@@ -1,55 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization
-// Test assignment of/initialization with different type signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
- int g (int) { return 2; }
-};
-
-signature S
-{
- int f (void);
- int g (int);
-};
-
-signature T
-{
- int f (void);
-};
-
-signature U
-{
- int g (int);
-};
-
-C a;
-S * p1 = &a;
-T * q1 = p1;
-U * r1 = p1;
-
-int main (void)
-{
- C a;
- S * p2 = &a;
- T * q2 = p2;
- U * r2 = p2;
- T * q3;
- U * r3;
-
- q3 = p2;
- r3 = p2;
-
- if (q1->f () + q2->f () + q3->f () == 3
- && r1->g (0) + r2->g (0) + r3->g (0) == 6)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig15.C b/gcc/testsuite/g++.old-deja/g++.gb/sig15.C
deleted file mode 100644
index f0ae52e..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig15.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr cast
-// Test casting a signature pointer to a class pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
- C * q;
-
- p = &a;
- q = (C *) p;
-
- printf ("%s%s\n", q->f (), q->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig16.C b/gcc/testsuite/g++.old-deja/g++.gb/sig16.C
deleted file mode 100644
index 35475e9..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig16.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr cast
-// Test casting a class pointer to an anonymous signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "S"; }
- char * h (void) { return "FAIL"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-signature T
-{
- char * f (void);
-};
-
-C a;
-signature { char * g (int); } * r1 =
- (signature { char * h (void); char * g (int); } *) &a;
-
-int main (void)
-{
- C a;
- S * p = &a;
- T * q = p;
- signature { char * g (int); } * r2 =
- (signature { char * h (void); char * g (int); } *) &a;
-
- printf ("%s%s%s\n", q->f (), r1->g (0), r2->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig17.C b/gcc/testsuite/g++.old-deja/g++.gb/sig17.C
deleted file mode 100644
index 6d1d1d9..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig17.C
+++ /dev/null
@@ -1,54 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr cast
-// Test casting a class pointer through a chain of signature pointers.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-class D : public C
-{
-public:
- char * h (void) { return "FAIL"; }
-};
-
-class E : public C
-{
-public:
- int foo (int) { return 0; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-signature T
-{
- char * f (void);
-};
-
-int main (void)
-{
- D a;
- S * p;
- T * q;
- signature { char * g (int); } * r;
-
- p = &a;
- q = (T*) (signature { char * f (void); int foo (int); } *) (E*) (S*) (C*) p;
- r = (signature { char * h (void); char * g (int); } *) &a;
-
- printf ("%s%s\n", q->f (), r->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig18.C b/gcc/testsuite/g++.old-deja/g++.gb/sig18.C
deleted file mode 100644
index ba0ec86..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig18.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment virtual
-// Test assignment of object from virtual class to signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) { return "PA"; }
- virtual char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
-
- p = &a;
-
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig19.C b/gcc/testsuite/g++.old-deja/g++.gb/sig19.C
deleted file mode 100644
index 160a4a3..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig19.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization virtual
-// Test initialization of signature pointer with object from abstract class.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) = 0;
- virtual char * g (int) = 0;
-};
-
-class D : public C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C * p = new D;
- S * q = p;
-
- printf ("%s%s\n", q->f (), q->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig20.C b/gcc/testsuite/g++.old-deja/g++.gb/sig20.C
deleted file mode 100644
index a8228de..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig20.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization virtual
-// Test initialization of signature pointer with object from virtual class.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) { return "FA"; }
- virtual char * g (int) { return "IL"; }
-};
-
-class D : public C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C * p = new D;
- S * q = p;
-
- printf ("%s%s\n", q->f (), q->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig21.C b/gcc/testsuite/g++.old-deja/g++.gb/sig21.C
deleted file mode 100644
index faad45b..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig21.C
+++ /dev/null
@@ -1,56 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment virtual
-// Test assignment of objects of different types to same signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) = 0;
-};
-
-class D : public C
-{
-public:
- char * f (void) { return "P"; }
-};
-
-class E
-{
-public:
- char * f (void) { return "AS"; }
-};
-
-class F : public C
-{
-public:
- char * f (void) { return "S"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-int main (void)
-{
- E a;
- C * p = new D;
- S * q;
-
- q = p;
- printf ("%s", q->f ());
-
- q = &a;
- printf ("%s", q->f ());
-
- p = new F;
- q = p;
- printf ("%s\n", q->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig22.C b/gcc/testsuite/g++.old-deja/g++.gb/sig22.C
deleted file mode 100644
index 25b0a1a..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig22.C
+++ /dev/null
@@ -1,59 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization
-// Test assignment to/init of sigptr that requires copying sigtable slots.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
- int g (int) { return 2; }
- int h (void) { return 666; }
-};
-
-signature S
-{
- int f (void);
- int g (int);
- int h (void);
-};
-
-signature T
-{
- int f (void);
- int h (void);
-};
-
-signature U
-{
- int h (void);
- int g (int);
-};
-
-C a;
-S * p = &a;
-T * q1 = p;
-U * r1 = p;
-
-int main (void)
-{
- C a;
- S * p = &a;
- T * q2 = p;
- U * r2 = p;;
- T * q3;
- U * r3;
-
- q3 = p;
- r3 = p;
-
- if (q1->f () + q2->f () + q3->f () == 3
- && r1->g (0) + r2->g (0) + r3->g (0) == 6)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig23.C b/gcc/testsuite/g++.old-deja/g++.gb/sig23.C
deleted file mode 100644
index 767cfa3..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig23.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment local-signature
-// Test assignment to signature pointer of local signature.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-char * PA (void)
-{
- class C
- {
- public:
- char * f (void) { return "PA"; }
- };
-
- signature S
- {
- char * f (void);
- };
-
- C a;
- S * p = &a;
-
- return p->f ();
-}
-
-char * SS (void)
-{
- class C
- {
- public:
- char * f (void) { return "SS"; }
- };
-
- signature S
- {
- char * f (void);
- };
-
- C a;
- S * p = &a;
-
- return p->f ();
-}
-
-int main (void)
-{
- printf ("%s%s\n", PA (), SS ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig24.C b/gcc/testsuite/g++.old-deja/g++.gb/sig24.C
deleted file mode 100644
index 2dca6f9..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig24.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr opaque-type
-// Test calling member functions taking/returning opaque type through sigptr.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-signature S
-{
- typedef t;
- char * f (t);
- t g (void);
- t h (void);
-};
-
-class C
-{
-public:
- typedef char * t;
- char * f (t text) { return text; }
- t g (void) { return "PA"; }
- t h (void) { return "SS"; }
-};
-
-int main (void)
-{
- C a;
- S * p = &a;
- S::t w = p->h ();
-
- printf ("%s%s\n", p->f (p->g ()), p->f (w));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig25.C b/gcc/testsuite/g++.old-deja/g++.gb/sig25.C
deleted file mode 100644
index d00ef57..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig25.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr default-implementation
-// Test calling default implementation through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C { };
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void) { return "PA"; }
-};
-
-int main (void)
-{
- C a;
- D b;
- S * p = &a;
- S * q = &b;
-
- printf ("%s%s\n", p->f (), q->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig26.C b/gcc/testsuite/g++.old-deja/g++.gb/sig26.C
deleted file mode 100644
index 399737b..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig26.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr default-implementation
-// Test calling default implementation through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C { };
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void) { return "PA"; }
- char * g (void) { return f (); }
-};
-
-int main (void)
-{
- C a;
- D b;
- S * p = &a;
- S * q = &b;
-
- printf ("%s%s\n", p->g (), q->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig27.C b/gcc/testsuite/g++.old-deja/g++.gb/sig27.C
deleted file mode 100644
index 7b9e7d2..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig27.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test class defined by multiple inheritance as implementation of signature.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * g (void) { return "SS"; }
-};
-
-class E : public C, public D { };
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig28.C b/gcc/testsuite/g++.old-deja/g++.gb/sig28.C
deleted file mode 100644
index 4edff68..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig28.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test correct adjustment of `this' pointer in case of multiple inheritance.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
- char * text;
-public:
- C () { text = "PA"; }
- char * f (void) { return text; }
-};
-
-class D
-{
- char * text;
-public:
- D () { text = "SS"; }
- char * g (void) { return text; }
-};
-
-class E : public C, public D
-{
-public:
- E () : C (), D () { }
-};
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig29.C b/gcc/testsuite/g++.old-deja/g++.gb/sig29.C
deleted file mode 100644
index e5c5e39..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig29.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test calling virtual function from MI class through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
- char * text;
-public:
- C () { text = "PA"; }
- virtual char * f (void) { return text; }
-};
-
-class D
-{
- char * text;
-public:
- D () { text = "SS"; }
- virtual char * g (void) { return text; }
-};
-
-class E : public C, public D
-{
-public:
- E () : C (), D () { }
-};
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig30.C b/gcc/testsuite/g++.old-deja/g++.gb/sig30.C
deleted file mode 100644
index 3e93e11..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig30.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test calling overwritten virtual functions through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * text1;
- C () { text1 = "PA"; }
- virtual char * f (void) = 0;
-};
-
-class D
-{
-public:
- char * text2;
- D () { text2 = "SS"; }
- virtual char * g (void) = 0;
-};
-
-class E : public C, public D
-{
-public:
- E () : C (), D () { };
- char * f (void) { return text1; }
- char * g (void) { return text2; }
-};
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig31.C b/gcc/testsuite/g++.old-deja/g++.gb/sig31.C
deleted file mode 100644
index 90fa9e9..0000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig31.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment sigsigtable
-// Test use of multiple signature-signature tables for same signature pair.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual int f (void) { return 1; }
- int g (int) { return 2; }
-};
-
-class D : public C
-{
-public:
- int f (void) { return 3; }
- int g (int) { return 4; }
-};
-
-signature S
-{
- int f (void);
- int g (int);
-};
-
-signature T
-{
- int g (int);
- int f (void);
-};
-
-int main (void)
-{
- S * p = new C;
- T * q = p;
- T * r;
-
- p = new D;
- r = p;
-
- if (q->f () == 1 && q->g (0) == 2
- && r->f () == 3 && r->g (0) == 4)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-
- return 0;
-}