aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-04-02 15:36:57 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-04-02 15:36:57 +0000
commit8f0327178b2158f8c6ee5996b2bd12c7dde8dbe8 (patch)
tree02cb3c75e09886d14b7139c3afd1bb1d30e0d868 /gcc/cp
parentae7f727035108e8c78bfa4d2d506041169d0db1b (diff)
downloadgcc-8f0327178b2158f8c6ee5996b2bd12c7dde8dbe8.zip
gcc-8f0327178b2158f8c6ee5996b2bd12c7dde8dbe8.tar.gz
gcc-8f0327178b2158f8c6ee5996b2bd12c7dde8dbe8.tar.bz2
tinfo.h (__class_type_info): Fix illegal declaration.
1999-04-02 Mark Mitchell <mark@codesourcery.com> * tinfo.h (__class_type_info): Fix illegal declaration. * cp-tree.def (TEMPLATE_ID_EXPR): Update comment. * cp-tree.h (INHERITED_VALUE_BINDING_P): New macro. (IDENTIFIER_CLASS_VALUE): Improve documentation. (is_properly_derived_from): Declare. (invalidate_class_lookup_cache): Likewise. (maybe_maybe_note_name_used_in_class): Likewise. (note_name_declared_in_class): Likewise. (push_using_decl): Remove duplicate declaration. (id_in_current_class): Remove declaration. (push_class_binding): Change prototype. (clear_identitifer_class_values): Declare. * call.c (is_properly_derived_from): Make it global. (build_new_function_call): Be careful about updating candidates. (build_new_method_call): Handle COMPONENT_REFs. Don't crash when asked to make illegal calls. * class.c: Include splay-tree.h. (class_stack_node): Add names_used slot. (check_member_decl_is_same_in_complete_scope): Remove. (add_method): Fix comment. Push the declaration into class scope. (finish_struct_1): When popping the class, pop the bindings too. Remove check for data member/function member conflict. (finish_struct): Remove calls to check_member_decl_is_same_in_complete_scope. Change calls to popclass. (pushclass): Clear names_used in the class stack entry. Use invalidate_class_lookup_cache to remove cached entries, rather than magic values with popclass. Clear IDENTIFIER_CLASS_VALUE before entering a new class. Remove dead code. Don't mess with current_function_decl when pushing declarations. (invalidate_class_lookup_cache): New function, split out from ... (popclass): Here. Clean up names_used on our way out. (instantiate_type): Adjust. (build_self_reference): Don't push the declaration here. (maybe_note_name_used_in_class): New function. (note_name_declared_in_class): Likewise. * decl.c (add_binding): Change prototype. (find_class_binding_level): New function. (innermost_nonclass_level): Likewise. (current_binding_level): Update documentation. (inner_binding_level): Remove. Replace with current_binding_level throughout. (push_binding_level): Remove special handling of class_binding_level. (pop_binding_level): Likewise. Use find_class_binding_level. (suspend_binding_level): Likewise. (global_bindings_p): Use innermost_nonclass_level. (toplevel_bindings_p): Likewise. (namespace_bindings_p): Likewise. (pseudo_global_level_p): Likewise. (push_binding): Clear INHERITED_VALUE_BINDING_P. (add_binding): Check for illegal multiple declarations. Return a value indicating whether or not the new binding was legal. (push_local_binding): Skip over class binding levels. Check return value from add_binding. (push_class_binding): Set INHERITED_VALUE_BINDING_P. Call note_name_declared_in_class. (pushlevel_class): Remove "fake out the rest of the compiler" code. (poplevel_class): Reset IDENTIFIER_CLASS_VALUEs. (clear_identifier_class_values): New function. (pop_from_top_level): Use it. (pop_everything): Tweak. (maybe_process_template_type_declaration): Don't push the declaration for the template here. (pushtag): Don't push tag declarations into class scope here. (pushdecl): Apply DeMorgan's law for readability. (pushdecl_class_level): Remove special-case code for TYPE_BEING_DEFINED. Handle OVERLOADs and anonymous unions. (push_class_level_bindng): Deal with inherited bindings. (lookup_name_real): Remove special-case code for TYPE_BEING_DEFINED, and some implicit typename magic. (grokdeclarator): Handle COMPONENT_REF for a template function. (build_enumerator): Don't call pushdecl_class_level here. (id_in_current_class): Remove. * decl2.c (grokfield): Don't call pushdecl_class_level or check_template_shadow. * errfn.c (cp_file_of): Don't declare. (cp_line_of): Likewise. * error.c (dump_decl): Handle an OVERLOAD. (cp_file_of): Likewise. (cp_line_of): Likewise. * init.c (build_member_call): Handle a COMPONENT_REF. * lex.c (do_identifier): Call maybe_note_name_used_in_class, not pushdecl_class_level. * method.c (hack_identifier): Build COMPONENT_REFs for references to member templates as well as member functions. Remove dead code. * parse.y (left_curly): Remove. (nonnested_type): Call maybe_note_name_used_in_class, not pushdecl_class_level. * parse.c: Regenerated. (nested_name_specifier_1): Likewise. * pt.c (check_explicit_specialization): Adjust, for robustness. (check_template_shadow): Handle OVERLOADs. (build_template_decl): Set DECL_CONSTRUCTOR_P on the TEMPLATE_DECL, if appropriate. * search.c (envelope_add_decl): Remove. (dfs_pushdecls): Likewise. (dfs_compress_decls): Likewise. (dfs_push_decls): New function. (dfs_push_type_decls): Likewise. (setup_class_bindings): Likewise. (template_self_reference_p): Likewise. (lookup_field_r): Use it. (looup_member): Remove old comment. Deal with ambiguity. (push_class_decls): Use dfs_push_decls and dfs_push_type_decls, and remove envelope processing. * semantics.c (begin_class_definition): Let pushclass push declarations for base classes. (finish_member_declaration): Push declarations into class scope. * typeck.c (build_component_ref): Just put an OVERLOAD into the COMPONENT_REF, not a TREE_LIST of an OVERLOAD. (build_x_function_call): Deal with OVERLOAD. Handle template-ids. * Makefile.in (class.o): Depend on splay-tree.h. From-SVN: r26133
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog120
-rw-r--r--gcc/cp/Makefile.in3
-rw-r--r--gcc/cp/call.c23
-rw-r--r--gcc/cp/class.c254
-rw-r--r--gcc/cp/cp-tree.def11
-rw-r--r--gcc/cp/cp-tree.h22
-rw-r--r--gcc/cp/decl.c483
-rw-r--r--gcc/cp/decl2.c4
-rw-r--r--gcc/cp/errfn.c2
-rw-r--r--gcc/cp/error.c8
-rw-r--r--gcc/cp/init.c9
-rw-r--r--gcc/cp/lex.c6
-rw-r--r--gcc/cp/method.c23
-rw-r--r--gcc/cp/parse.c5966
-rw-r--r--gcc/cp/parse.y28
-rw-r--r--gcc/cp/pt.c29
-rw-r--r--gcc/cp/search.c492
-rw-r--r--gcc/cp/semantics.c6
-rw-r--r--gcc/cp/tinfo.h2
-rw-r--r--gcc/cp/typeck.c16
20 files changed, 3771 insertions, 3736 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 948736d..186a1e5 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,123 @@
+1999-04-02 Mark Mitchell <mark@codesourcery.com>
+
+ * tinfo.h (__class_type_info): Fix illegal declaration.
+
+ * cp-tree.def (TEMPLATE_ID_EXPR): Update comment.
+ * cp-tree.h (INHERITED_VALUE_BINDING_P): New macro.
+ (IDENTIFIER_CLASS_VALUE): Improve documentation.
+ (is_properly_derived_from): Declare.
+ (invalidate_class_lookup_cache): Likewise.
+ (maybe_maybe_note_name_used_in_class): Likewise.
+ (note_name_declared_in_class): Likewise.
+ (push_using_decl): Remove duplicate declaration.
+ (id_in_current_class): Remove declaration.
+ (push_class_binding): Change prototype.
+ (clear_identitifer_class_values): Declare.
+ * call.c (is_properly_derived_from): Make it global.
+ (build_new_function_call): Be careful about updating candidates.
+ (build_new_method_call): Handle COMPONENT_REFs. Don't crash when
+ asked to make illegal calls.
+ * class.c: Include splay-tree.h.
+ (class_stack_node): Add names_used slot.
+ (check_member_decl_is_same_in_complete_scope): Remove.
+ (add_method): Fix comment. Push the declaration into class
+ scope.
+ (finish_struct_1): When popping the class, pop the bindings too.
+ Remove check for data member/function member conflict.
+ (finish_struct): Remove calls to
+ check_member_decl_is_same_in_complete_scope. Change calls to
+ popclass.
+ (pushclass): Clear names_used in the class stack entry.
+ Use invalidate_class_lookup_cache to remove cached entries, rather
+ than magic values with popclass. Clear IDENTIFIER_CLASS_VALUE
+ before entering a new class. Remove dead code. Don't mess with
+ current_function_decl when pushing declarations.
+ (invalidate_class_lookup_cache): New function, split out from ...
+ (popclass): Here. Clean up names_used on our way out.
+ (instantiate_type): Adjust.
+ (build_self_reference): Don't push the declaration here.
+ (maybe_note_name_used_in_class): New function.
+ (note_name_declared_in_class): Likewise.
+ * decl.c (add_binding): Change prototype.
+ (find_class_binding_level): New function.
+ (innermost_nonclass_level): Likewise.
+ (current_binding_level): Update documentation.
+ (inner_binding_level): Remove. Replace with current_binding_level
+ throughout.
+ (push_binding_level): Remove special handling of
+ class_binding_level.
+ (pop_binding_level): Likewise. Use find_class_binding_level.
+ (suspend_binding_level): Likewise.
+ (global_bindings_p): Use innermost_nonclass_level.
+ (toplevel_bindings_p): Likewise.
+ (namespace_bindings_p): Likewise.
+ (pseudo_global_level_p): Likewise.
+ (push_binding): Clear INHERITED_VALUE_BINDING_P.
+ (add_binding): Check for illegal multiple declarations. Return a
+ value indicating whether or not the new binding was legal.
+ (push_local_binding): Skip over class binding levels. Check
+ return value from add_binding.
+ (push_class_binding): Set INHERITED_VALUE_BINDING_P. Call
+ note_name_declared_in_class.
+ (pushlevel_class): Remove "fake out the rest of the compiler"
+ code.
+ (poplevel_class): Reset IDENTIFIER_CLASS_VALUEs.
+ (clear_identifier_class_values): New function.
+ (pop_from_top_level): Use it.
+ (pop_everything): Tweak.
+ (maybe_process_template_type_declaration): Don't push the
+ declaration for the template here.
+ (pushtag): Don't push tag declarations into class scope here.
+ (pushdecl): Apply DeMorgan's law for readability.
+ (pushdecl_class_level): Remove special-case code for
+ TYPE_BEING_DEFINED. Handle OVERLOADs and anonymous unions.
+ (push_class_level_bindng): Deal with inherited bindings.
+ (lookup_name_real): Remove special-case code for
+ TYPE_BEING_DEFINED, and some implicit typename magic.
+ (grokdeclarator): Handle COMPONENT_REF for a template function.
+ (build_enumerator): Don't call pushdecl_class_level here.
+ (id_in_current_class): Remove.
+ * decl2.c (grokfield): Don't call pushdecl_class_level or
+ check_template_shadow.
+ * errfn.c (cp_file_of): Don't declare.
+ (cp_line_of): Likewise.
+ * error.c (dump_decl): Handle an OVERLOAD.
+ (cp_file_of): Likewise.
+ (cp_line_of): Likewise.
+ * init.c (build_member_call): Handle a COMPONENT_REF.
+ * lex.c (do_identifier): Call maybe_note_name_used_in_class, not
+ pushdecl_class_level.
+ * method.c (hack_identifier): Build COMPONENT_REFs for references
+ to member templates as well as member functions. Remove dead
+ code.
+ * parse.y (left_curly): Remove.
+ (nonnested_type): Call maybe_note_name_used_in_class, not
+ pushdecl_class_level.
+ * parse.c: Regenerated.
+ (nested_name_specifier_1): Likewise.
+ * pt.c (check_explicit_specialization): Adjust, for robustness.
+ (check_template_shadow): Handle OVERLOADs.
+ (build_template_decl): Set DECL_CONSTRUCTOR_P on the
+ TEMPLATE_DECL, if appropriate.
+ * search.c (envelope_add_decl): Remove.
+ (dfs_pushdecls): Likewise.
+ (dfs_compress_decls): Likewise.
+ (dfs_push_decls): New function.
+ (dfs_push_type_decls): Likewise.
+ (setup_class_bindings): Likewise.
+ (template_self_reference_p): Likewise.
+ (lookup_field_r): Use it.
+ (looup_member): Remove old comment. Deal with ambiguity.
+ (push_class_decls): Use dfs_push_decls and dfs_push_type_decls,
+ and remove envelope processing.
+ * semantics.c (begin_class_definition): Let pushclass push
+ declarations for base classes.
+ (finish_member_declaration): Push declarations into class scope.
+ * typeck.c (build_component_ref): Just put an OVERLOAD into the
+ COMPONENT_REF, not a TREE_LIST of an OVERLOAD.
+ (build_x_function_call): Deal with OVERLOAD. Handle template-ids.
+ * Makefile.in (class.o): Depend on splay-tree.h.
+
Wed Mar 31 11:30:43 BST 1999 Nathan Sidwell <nathan@acm.org>
* cvt.c (convert_pointer_to_real): Use same_type_p.
diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in
index ae156e6..576e97b 100644
--- a/gcc/cp/Makefile.in
+++ b/gcc/cp/Makefile.in
@@ -267,7 +267,8 @@ typeck2.o : typeck2.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h \
typeck.o : typeck.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \
$(EXPR_H) $(srcdir)/../system.h $(srcdir)/../toplev.h
class.o : class.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h \
- $(srcdir)/../system.h $(srcdir)/../toplev.h
+ $(srcdir)/../system.h $(srcdir)/../toplev.h \
+ $(srcdir)/../../include/splay-tree.h
call.o : call.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h \
$(srcdir)/../system.h $(srcdir)/../toplev.h
friend.o : friend.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 9bc349e..f3ef258 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -87,7 +87,6 @@ static tree strip_top_quals PROTO((tree));
static tree non_reference PROTO((tree));
static tree build_conv PROTO((enum tree_code, tree, tree));
static int is_subseq PROTO((tree, tree));
-static int is_properly_derived_from PROTO((tree, tree));
static int maybe_handle_ref_bind PROTO((tree*, tree*));
static void maybe_handle_implicit_object PROTO((tree*));
static struct z_candidate * add_candidate PROTO((struct z_candidate *,
@@ -2312,6 +2311,8 @@ build_new_function_call (fn, args)
for (t1 = fn; t1; t1 = OVL_CHAIN (t1))
{
tree t = OVL_FUNCTION (t1);
+ struct z_candidate *old_candidates = candidates;
+
if (TREE_CODE (t) == TEMPLATE_DECL)
{
templates = scratch_tree_cons (NULL_TREE, t, templates);
@@ -2322,6 +2323,9 @@ build_new_function_call (fn, args)
else if (! template_only)
candidates = add_function_candidate
(candidates, t, args, LOOKUP_NORMAL);
+
+ if (candidates != old_candidates)
+ candidates->basetype_path = DECL_REAL_CONTEXT (t);
}
if (! any_viable (candidates))
@@ -3524,8 +3528,16 @@ build_new_method_call (instance, name, args, basetype_path, flags)
{
explicit_targs = TREE_OPERAND (name, 1);
name = TREE_OPERAND (name, 0);
- if (TREE_CODE (name) == TEMPLATE_DECL)
+ if (TREE_CODE_CLASS (TREE_CODE (name)) == 'd')
name = DECL_NAME (name);
+ else
+ {
+ if (TREE_CODE (name) == COMPONENT_REF)
+ name = TREE_OPERAND (name, 1);
+ if (TREE_CODE (name) == OVERLOAD)
+ name = DECL_NAME (OVL_CURRENT (name));
+ }
+
template_only = 1;
}
@@ -3675,7 +3687,10 @@ build_new_method_call (instance, name, args, basetype_path, flags)
cp_error ("abstract virtual `%#D' called from constructor", cand->fn);
if (TREE_CODE (TREE_TYPE (cand->fn)) == METHOD_TYPE
&& is_dummy_object (instance_ptr))
- cp_error ("cannot call member function `%D' without object", cand->fn);
+ {
+ cp_error ("cannot call member function `%D' without object", cand->fn);
+ return error_mark_node;
+ }
if (DECL_VINDEX (cand->fn) && ! (flags & LOOKUP_NONVIRTUAL)
&& ((instance == current_class_ref && (dtor_label || ctor_label))
@@ -3738,7 +3753,7 @@ is_subseq (ics1, ics2)
/* Returns non-zero iff DERIVED is derived from BASE. The inputs may
be any _TYPE nodes. */
-static int
+int
is_properly_derived_from (derived, base)
tree derived;
tree base;
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 36765e0..7fd1eeb 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -30,6 +30,7 @@ Boston, MA 02111-1307, USA. */
#include "rtl.h"
#include "output.h"
#include "toplev.h"
+#include "splay-tree.h"
#include "obstack.h"
#define obstack_chunk_alloc xmalloc
@@ -62,6 +63,9 @@ typedef struct class_stack_node {
/* The access specifier pending for new declarations in the scope of
this class. */
tree access;
+
+ /* If were defining TYPE, the names used in this class. */
+ splay_tree names_used;
}* class_stack_node_t;
/* The stack itself. This is an dynamically resized array. The
@@ -130,7 +134,6 @@ static void build_class_init_list PROTO((tree));
static int finish_base_struct PROTO((tree, struct base_info *));
static void finish_struct_methods PROTO((tree));
static void maybe_warn_about_overly_private_class PROTO ((tree));
-static void check_member_decl_is_same_in_complete_scope PROTO((tree, tree));
static tree make_method_vec PROTO((int));
static void free_method_vec PROTO((tree));
static tree add_implicitly_declared_members PROTO((tree, int, int, int));
@@ -1286,7 +1289,7 @@ add_method (type, fields, method)
/* We don't call duplicate_decls here to merge the
declarations because that will confuse things if the
- methods have inline definitions In particular, we
+ methods have inline definitions. In particular, we
will crash while processing the definitions. */
return;
}
@@ -1295,6 +1298,12 @@ add_method (type, fields, method)
/* Actually insert the new method. */
TREE_VEC_ELT (method_vec, slot)
= build_overload (method, TREE_VEC_ELT (method_vec, slot));
+
+ /* Add the new binding. */
+ if (!DECL_CONSTRUCTOR_P (method)
+ && !DECL_DESTRUCTOR_P (method))
+ push_class_level_binding (DECL_NAME (method),
+ TREE_VEC_ELT (method_vec, slot));
}
pop_obstacks ();
}
@@ -3255,7 +3264,7 @@ finish_struct_1 (t, warn_anon)
cp_error ("redefinition of `%#T'", t);
else
my_friendly_abort (172);
- popclass (0);
+ popclass (1);
return t;
}
@@ -3838,32 +3847,6 @@ finish_struct_1 (t, warn_anon)
/* Delete all duplicate fields from the fields */
delete_duplicate_fields (fields);
- /* Catch function/field name conflict. We don't need to do this for a
- signature, since it can only contain the fields constructed in
- append_signature_fields. */
- if (! IS_SIGNATURE (t))
- {
- int n_methods = method_vec ? TREE_VEC_LENGTH (method_vec) : 0;
- for (x = fields; x; x = TREE_CHAIN (x))
- {
- tree name = DECL_NAME (x);
- int i;
-
- if (TREE_CODE (x) == TYPE_DECL && DECL_ARTIFICIAL (x))
- continue;
-
- for (i = 2; i < n_methods && TREE_VEC_ELT (method_vec, i); ++i)
- if (DECL_NAME (OVL_CURRENT (TREE_VEC_ELT (method_vec, i)))
- == name)
- {
- cp_error_at ("data member `%#D' conflicts with", x);
- cp_error_at ("function member `%#D'",
- OVL_CURRENT (TREE_VEC_ELT (method_vec, i)));
- break;
- }
- }
- }
-
/* Now we have the nearly final fieldlist for the data fields. Record it,
then lay out the structure or union (including the fields). */
@@ -4258,54 +4241,6 @@ finish_struct_1 (t, warn_anon)
return t;
}
-/* In [basic.scope.class] we have:
-
- A name N used in a class S shall refer to the same declaration in
- its context and when re-evaluated in the completed scope of S.
-
- This function checks this condition for X, which is a member of
- T. */
-
-static void
-check_member_decl_is_same_in_complete_scope (t, x)
- tree t;
- tree x;
-{
- /* A name N used in a class S shall refer to the same declaration in
- its context and when re-evaluated in the completed scope of S.
-
- Enums, types and static vars have already been checked. */
- if (TREE_CODE (x) != USING_DECL
- && TREE_CODE (x) != TYPE_DECL && !DECL_CLASS_TEMPLATE_P (x)
- && TREE_CODE (x) != CONST_DECL && TREE_CODE (x) != VAR_DECL)
- {
- tree name = DECL_NAME (x);
- tree icv;
-
- /* Don't get confused by access decls. */
- if (name && TREE_CODE (name) == IDENTIFIER_NODE)
- icv = IDENTIFIER_CLASS_VALUE (name);
- else
- icv = NULL_TREE;
-
- /* This should match pushdecl_class_level. */
- if (icv && icv != x
- && flag_optional_diags
- /* Don't complain about constructors. */
- && name != constructor_name (current_class_type)
- /* Or inherited names. */
- && id_in_current_class (name)
- /* Or shadowed tags. */
- && !(TREE_CODE (icv) == TYPE_DECL && DECL_CONTEXT (icv) == t))
- {
- cp_pedwarn_at ("declaration of identifier `%D' as `%+#D'",
- name, x);
- cp_pedwarn_at ("conflicts with other use in class as `%#D'",
- icv);
- }
- }
-}
-
/* When T was built up, the member declarations were added in reverse
order. Rearrange them to declaration order. */
@@ -4372,14 +4307,6 @@ finish_struct (t, attributes, warn_anon)
as necessary. */
unreverse_member_declarations (t);
- if (flag_optional_diags)
- {
- for (x = TYPE_METHODS (t); x; x = TREE_CHAIN (x))
- check_member_decl_is_same_in_complete_scope (t, x);
- for (x = TYPE_FIELDS (t); x; x = TREE_CHAIN (x))
- check_member_decl_is_same_in_complete_scope (t, x);
- }
-
/* Mark all the tags in the class as class-local. */
for (x = CLASSTYPE_TAGS (t); x; x = TREE_CHAIN (x))
TREE_NONLOCAL_FLAG (TREE_VALUE (x)) = 0;
@@ -4413,8 +4340,9 @@ finish_struct (t, attributes, warn_anon)
t = finish_struct_1 (t, warn_anon);
TYPE_BEING_DEFINED (t) = 0;
+
if (current_class_type)
- popclass (0);
+ popclass (1);
else
error ("trying to finish struct, but kicked out due to previous parse errors.");
@@ -4636,6 +4564,7 @@ pushclass (type, modify)
current_class_stack[current_class_depth].name = current_class_name;
current_class_stack[current_class_depth].type = current_class_type;
current_class_stack[current_class_depth].access = current_access_specifier;
+ current_class_stack[current_class_depth].names_used = 0;
current_class_depth++;
/* Now set up the new type. */
@@ -4651,12 +4580,12 @@ pushclass (type, modify)
: access_public_node);
if (previous_class_type != NULL_TREE
- && (type != previous_class_type || TYPE_SIZE (previous_class_type) == NULL_TREE)
+ && (type != previous_class_type
+ || TYPE_SIZE (previous_class_type) == NULL_TREE)
&& current_class_depth == 1)
{
/* Forcibly remove any old class remnants. */
- popclass (-1);
- previous_class_type = NULL_TREE;
+ invalidate_class_lookup_cache ();
/* Now, free the obstack on which we cached all the values. */
obstack_free (&class_cache_obstack, class_cache_firstobj);
@@ -4664,6 +4593,11 @@ pushclass (type, modify)
= (char*) obstack_finish (&class_cache_obstack);
}
+ /* If we're about to enter a nested class, clear
+ IDENTIFIER_CLASS_VALUE for the enclosing classes. */
+ if (modify && current_class_depth > 1)
+ clear_identifier_class_values ();
+
pushlevel_class ();
#if 0
@@ -4674,25 +4608,9 @@ pushclass (type, modify)
if (modify)
{
tree tags;
- tree this_fndecl = current_function_decl;
-
- if (current_function_decl
- && DECL_CONTEXT (current_function_decl)
- && TREE_CODE (DECL_CONTEXT (current_function_decl)) == FUNCTION_DECL)
- current_function_decl = DECL_CONTEXT (current_function_decl);
- else
- current_function_decl = NULL_TREE;
if (type != previous_class_type || current_class_depth > 1)
- {
-#ifdef MI_MATRIX
- build_mi_matrix (type);
- push_class_decls (type);
- free_mi_matrix ();
-#else
- push_class_decls (type);
-#endif
- }
+ push_class_decls (type);
else
{
tree item;
@@ -4726,9 +4644,32 @@ pushclass (type, modify)
&& CLASSTYPE_IS_TEMPLATE (tag_type)))
pushtag (TREE_PURPOSE (tags), tag_type, 0);
}
+ }
+}
+
+/* When we exit a toplevel class scope, we save the
+ IDENTIFIER_CLASS_VALUEs so that we can restore them quickly if we
+ reenter the class. Here, we've entered some other class, so we
+ must invalidate our cache. */
- current_function_decl = this_fndecl;
+void
+invalidate_class_lookup_cache ()
+{
+ tree tags = CLASSTYPE_TAGS (previous_class_type);
+ tree t;
+
+ /* This code can be seen as a cache miss. When we've cached a
+ class' scope's bindings and we can't use them, we need to reset
+ them. This is it! */
+ for (t = previous_class_values; t; t = TREE_CHAIN (t))
+ IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (t)) = NULL_TREE;
+ while (tags)
+ {
+ TREE_NONLOCAL_FLAG (TREE_VALUE (tags)) = 0;
+ tags = TREE_CHAIN (tags);
}
+
+ previous_class_type = NULL_TREE;
}
/* Get out of the current class scope. If we were in a class scope
@@ -4740,26 +4681,6 @@ void
popclass (modify)
int modify;
{
- if (modify < 0)
- {
- /* Back this old class out completely. */
- tree tags = CLASSTYPE_TAGS (previous_class_type);
- tree t;
-
- /* This code can be seen as a cache miss. When we've cached a
- class' scope's bindings and we can't use them, we need to reset
- them. This is it! */
- for (t = previous_class_values; t; t = TREE_CHAIN (t))
- IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (t)) = NULL_TREE;
- while (tags)
- {
- TREE_NONLOCAL_FLAG (TREE_VALUE (tags)) = 0;
- tags = TREE_CHAIN (tags);
- }
-
- return;
- }
-
if (modify)
{
/* Just remove from this class what didn't make
@@ -4787,6 +4708,8 @@ popclass (modify)
current_class_name = current_class_stack[current_class_depth].name;
current_class_type = current_class_stack[current_class_depth].type;
current_access_specifier = current_class_stack[current_class_depth].access;
+ if (current_class_stack[current_class_depth].names_used)
+ splay_tree_delete (current_class_stack[current_class_depth].names_used);
}
/* Returns 1 if current_class_type is either T or a nested type of T. */
@@ -5216,8 +5139,6 @@ instantiate_type (lhstype, rhs, complain)
tree field = TREE_OPERAND (rhs, 1);
tree r;
- my_friendly_assert (TREE_CODE (field) == TREE_LIST, 0);
-
r = instantiate_type (lhstype, field, complain);
if (r != error_mark_node && TYPE_PTRMEMFUNC_P (lhstype))
@@ -5225,15 +5146,15 @@ instantiate_type (lhstype, rhs, complain)
if (complain)
{
tree t = TYPE_PTRMEMFUNC_OBJECT_TYPE (lhstype);
- tree fn = TREE_VALUE (field);
- if (TREE_CODE (fn) == OVERLOAD)
- fn = OVL_FUNCTION (fn);
- if (TREE_CODE (fn) == FUNCTION_DECL)
+
+ if (TREE_CODE (field) == OVERLOAD)
+ field = OVL_FUNCTION (field);
+ if (TREE_CODE (field) == FUNCTION_DECL)
{
cp_error ("object-dependent reference `%E' can only be used in a call",
- DECL_NAME (fn));
+ DECL_NAME (field));
cp_error (" to form a pointer to member function, say `&%T::%E'",
- t, DECL_NAME (fn));
+ t, DECL_NAME (field));
}
else
cp_error ("object-dependent reference can only be used in a call");
@@ -5490,8 +5411,6 @@ build_self_reference ()
DECL_CLASS_CONTEXT (value) = current_class_type;
DECL_ARTIFICIAL (value) = 1;
- pushdecl_class_level (value);
-
saved_cas = current_access_specifier;
current_access_specifier = access_public_node;
finish_member_declaration (value);
@@ -5568,3 +5487,64 @@ is_base_of_enclosing_class (base, type)
}
return 0;
}
+
+/* Note that NAME was looked up while the current class was being
+ defined and that the result of that lookup was DECL. */
+
+void
+maybe_note_name_used_in_class (name, decl)
+ tree name;
+ tree decl;
+{
+ splay_tree names_used;
+
+ /* If we're not defining a class, there's nothing to do. */
+ if (!current_class_type || !TYPE_BEING_DEFINED (current_class_type))
+ return;
+
+ /* If there's already a binding for this NAME, then we don't have
+ anything to worry about. */
+ if (IDENTIFIER_CLASS_VALUE (name))
+ return;
+
+ if (!current_class_stack[current_class_depth - 1].names_used)
+ current_class_stack[current_class_depth - 1].names_used
+ = splay_tree_new (splay_tree_compare_pointers, 0, 0);
+ names_used = current_class_stack[current_class_depth - 1].names_used;
+
+ splay_tree_insert (names_used,
+ (splay_tree_key) name,
+ (splay_tree_value) decl);
+}
+
+/* Note that NAME was declared (as DECL) in the current class. Check
+ to see that the declaration is legal. */
+
+void
+note_name_declared_in_class (name, decl)
+ tree name;
+ tree decl;
+{
+ splay_tree names_used;
+ splay_tree_node n;
+
+ /* Look to see if we ever used this name. */
+ names_used
+ = current_class_stack[current_class_depth - 1].names_used;
+ if (!names_used)
+ return;
+
+ n = splay_tree_lookup (names_used, (splay_tree_key) name);
+ if (n)
+ {
+ /* [basic.scope.class]
+
+ A name N used in a class S shall refer to the same declaration
+ in its context and when re-evaluated in the completed scope of
+ S. */
+ cp_error ("declaration of `%#D'", decl);
+ cp_error_at ("changes meaning of `%s' from `%+#D'",
+ IDENTIFIER_POINTER (DECL_NAME (decl)),
+ (tree) n->value);
+ }
+}
diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def
index 2fdacfd..090d837 100644
--- a/gcc/cp/cp-tree.def
+++ b/gcc/cp/cp-tree.def
@@ -170,12 +170,11 @@ DEFTREECODE (USING_DECL, "using_decl", 'd', 0)
/* An un-parsed default argument. Looks like an IDENTIFIER_NODE. */
DEFTREECODE (DEFAULT_ARG, "default_arg", 'c', 2)
-/* A template-id, like foo<int>. The first operand is the template.
- The second is the list of explicitly specified arguments. The
- template will be a FUNCTION_DECL, TEMPLATE_DECL, or a list of
- overloaded functions and templates if the template-id refers to
- a global template. If the template-id refers to a member template,
- the template may be an IDENTIFIER_NODE. */
+/* A template-id, like foo<int>. The first operand is the template.
+ The second is the list of explicitly specified arguments. The
+ template will be a FUNCTION_DECL, TEMPLATE_DECL, or an OVERLOAD.
+ If the template-id refers to a member template, the template may be
+ an IDENTIFIER_NODE. */
DEFTREECODE (TEMPLATE_ID_EXPR, "template_id_expr", 'e', 2)
/* An association between name and entity. Parameters are the scope
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 9babb01..6d0b273 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -40,6 +40,7 @@ Boston, MA 02111-1307, USA. */
(TREE_CALLS_NEW) (in _EXPR or _REF) (commented-out).
TYPE_USES_COMPLEX_INHERITANCE (in _TYPE).
C_DECLARED_LABEL_FLAG.
+ INHERITED_VALUE_BINDING_P (in CPLUS_BINDING)
2: IDENTIFIER_OPNAME_P.
BINFO_VBASE_MARKED.
BINFO_FIELDS_MARKED.
@@ -134,6 +135,10 @@ typedef struct ptrmem_cst
or namespace scope. */
#define LOCAL_BINDING_P(NODE) TREE_LANG_FLAG_0(NODE)
+/* Nonzero if BINDING_VALUE is from a base class of the class which is
+ currently being defined. */
+#define INHERITED_VALUE_BINDING_P(NODE) TREE_LANG_FLAG_1(NODE)
+
/* For a binding between a name and an entity at a non-local scope,
defines the scope where the binding is declared. (Either a class
_TYPE node, or a NAMESPACE_DECL.) This macro should be used only
@@ -235,10 +240,10 @@ struct tree_srcloc
? BINDING_VALUE (IDENTIFIER_BINDING (NODE)) \
: NULL_TREE)
-/* If we are currently in class scope, then IDENTIFIER_CLASS_VALUE
- indicates the class-scoped binding of NODE. This is just a pointer
- to the BINDING_VALUE of one of the bindings in the
- IDENTIFIER_BINDINGs list, so any time that this is set so is
+/* If IDENTIFIER_CLASS_VALUE is set, then NODE is bound in the current
+ class, and IDENTIFIER_CLASS_VALUE is the value binding. This is
+ just a pointer to the BINDING_VALUE of one of the bindings in the
+ IDENTIFIER_BINDINGs list, so any time that this is non-NULL so is
IDENTIFIER_BINDING. */
#define IDENTIFIER_CLASS_VALUE(NODE) \
(((struct lang_identifier *) (NODE))->class_value)
@@ -2684,6 +2689,7 @@ extern int can_convert_arg PROTO((tree, tree, tree));
extern int enforce_access PROTO((tree, tree));
extern tree convert_default_arg PROTO((tree, tree, tree));
extern tree convert_arg_to_ellipsis PROTO((tree));
+extern int is_properly_derived_from PROTO((tree, tree));
/* in class.c */
extern tree build_vbase_path PROTO((enum tree_code, tree, tree, tree, int));
@@ -2713,6 +2719,9 @@ extern void warn_hidden PROTO((tree));
extern tree get_enclosing_class PROTO((tree));
int is_base_of_enclosing_class PROTO((tree, tree));
extern void unreverse_member_declarations PROTO((tree));
+extern void invalidate_class_lookup_cache PROTO((void));
+extern void maybe_note_name_used_in_class PROTO((tree, tree));
+extern void note_name_declared_in_class PROTO((tree, tree));
/* in cvt.c */
extern tree convert_to_reference PROTO((tree, tree, int, int, tree));
@@ -2776,7 +2785,6 @@ extern tree pushdecl_namespace_level PROTO((tree));
extern tree push_using_decl PROTO((tree, tree));
extern tree push_using_directive PROTO((tree));
extern void push_class_level_binding PROTO((tree, tree));
-extern tree push_using_decl PROTO((tree, tree));
extern tree implicitly_declare PROTO((tree));
extern tree lookup_label PROTO((tree));
extern tree shadow_label PROTO((tree));
@@ -2845,7 +2853,6 @@ extern tree maybe_build_cleanup_and_delete PROTO((tree));
extern tree maybe_build_cleanup PROTO((tree));
extern void cplus_expand_expr_stmt PROTO((tree));
extern void finish_stmt PROTO((void));
-extern int id_in_current_class PROTO((tree));
extern void push_cp_function_context PROTO((tree));
extern void pop_cp_function_context PROTO((tree));
extern int in_function_p PROTO((void));
@@ -2856,9 +2863,10 @@ extern void cat_namespace_levels PROTO((void));
extern void fixup_anonymous_union PROTO((tree));
extern int check_static_variable_definition PROTO((tree, tree));
extern void push_local_binding PROTO((tree, tree, int));
-extern void push_class_binding PROTO((tree, tree));
+extern int push_class_binding PROTO((tree, tree));
extern tree check_default_argument PROTO((tree, tree));
extern tree push_overloaded_decl PROTO((tree, int));
+extern void clear_identifier_class_values PROTO((void));
/* in decl2.c */
extern int check_java_method PROTO((tree));
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 74ba56b..63f4fec 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -178,7 +178,7 @@ static void check_for_uninitialized_const_var PROTO((tree));
static unsigned long typename_hash PROTO((hash_table_key));
static boolean typename_compare PROTO((hash_table_key, hash_table_key));
static void push_binding PROTO((tree, tree, struct binding_level*));
-static void add_binding PROTO((tree, tree));
+static int add_binding PROTO((tree, tree));
static void pop_binding PROTO((tree, tree));
static tree local_variable_p PROTO((tree));
static tree find_binding PROTO((tree, tree));
@@ -188,6 +188,8 @@ static int lookup_flags PROTO((int, int));
static tree qualify_lookup PROTO((tree, int));
static tree record_builtin_java_type PROTO((const char *, int));
static const char *tag_name PROTO((enum tag_types code));
+static void find_class_binding_level PROTO((void));
+static struct binding_level *innermost_nonclass_level PROTO((void));
#if defined (DEBUG_CP_BINDING_LEVELS)
static void indent PROTO((void));
@@ -716,7 +718,7 @@ struct binding_level
#define NULL_BINDING_LEVEL ((struct binding_level *) NULL)
-/* The (non-class) binding level currently in effect. */
+/* The binding level currently in effect. */
static struct binding_level *current_binding_level;
@@ -724,11 +726,6 @@ static struct binding_level *current_binding_level;
static struct binding_level *class_binding_level;
-/* The current (class or non-class) binding level currently in effect. */
-
-#define inner_binding_level \
- (class_binding_level ? class_binding_level : current_binding_level)
-
/* A chain of binding_level structures awaiting reuse. */
static struct binding_level *free_binding_level;
@@ -771,15 +768,7 @@ push_binding_level (newlevel, tag_transparent, keep)
/* Add this level to the front of the chain (stack) of levels that
are active. */
*newlevel = clear_binding_level;
- if (class_binding_level)
- {
- newlevel->level_chain = class_binding_level;
- class_binding_level = (struct binding_level *)0;
- }
- else
- {
- newlevel->level_chain = current_binding_level;
- }
+ newlevel->level_chain = current_binding_level;
current_binding_level = newlevel;
newlevel->tag_transparent = tag_transparent;
newlevel->more_cleanups_ok = 1;
@@ -794,12 +783,25 @@ push_binding_level (newlevel, tag_transparent, keep)
#endif /* defined(DEBUG_CP_BINDING_LEVELS) */
}
+/* Find the innermost enclosing class scope, and reset
+ CLASS_BINDING_LEVEL appropriately. */
+
+static void
+find_class_binding_level ()
+{
+ struct binding_level *level = current_binding_level;
+
+ while (level && level->parm_flag != 2)
+ level = level->level_chain;
+ if (level && level->parm_flag == 2)
+ class_binding_level = level;
+ else
+ class_binding_level = 0;
+}
+
static void
pop_binding_level ()
{
- if (class_binding_level)
- current_binding_level = class_binding_level;
-
if (global_binding_level)
{
/* Cannot pop a level, if there are none left to pop. */
@@ -828,13 +830,8 @@ pop_binding_level ()
if (level->binding_depth != binding_depth)
abort ();
#endif /* defined(DEBUG_CP_BINDING_LEVELS) */
- free_binding_level = level;
-
- class_binding_level = current_binding_level;
- if (class_binding_level->parm_flag != 2)
- class_binding_level = 0;
- while (current_binding_level->parm_flag == 2)
- current_binding_level = current_binding_level->level_chain;
+ free_binding_level = level;
+ find_class_binding_level ();
}
}
@@ -864,14 +861,8 @@ suspend_binding_level ()
}
is_class_level = 0;
#endif /* defined(DEBUG_CP_BINDING_LEVELS) */
- {
- current_binding_level = current_binding_level->level_chain;
- class_binding_level = current_binding_level;
- if (class_binding_level->parm_flag != 2)
- class_binding_level = 0;
- while (current_binding_level->parm_flag == 2)
- current_binding_level = current_binding_level->level_chain;
- }
+ current_binding_level = current_binding_level->level_chain;
+ find_class_binding_level ();
}
static void
@@ -912,25 +903,44 @@ global_bindings_p ()
return current_binding_level == global_binding_level;
}
+/* Return the innermost binding level that is not for a class scope. */
+
+static struct binding_level *
+innermost_nonclass_level ()
+{
+ struct binding_level *b;
+
+ b = current_binding_level;
+ while (b->parm_flag == 2)
+ b = b->level_chain;
+
+ return b;
+}
+
/* Nonzero if we are currently in a toplevel binding level. This
means either the global binding level or a namespace in a toplevel
- binding level.
- Since there are no non-toplevel namespace levels, this really
- means any namespace or pseudo-global level. */
+ binding level. Since there are no non-toplevel namespace levels,
+ this really means any namespace or pseudo-global level. We also
+ include a class whose context is toplevel. */
int
toplevel_bindings_p ()
{
- return current_binding_level->namespace_p
- || current_binding_level->pseudo_global;
+ struct binding_level *b = innermost_nonclass_level ();
+
+ return b->namespace_p || b->pseudo_global;
}
-/* Nonzero if this is a namespace scope. */
+/* Nonzero if this is a namespace scope, or if we are defining a class
+ which is itself at namespace scope, or whose enclosing class is
+ such a class, etc. */
int
namespace_bindings_p ()
{
- return current_binding_level->namespace_p;
+ struct binding_level *b = innermost_nonclass_level ();
+
+ return b->namespace_p;
}
void
@@ -974,7 +984,9 @@ declare_namespace_level ()
int
pseudo_global_level_p ()
{
- return current_binding_level->pseudo_global;
+ struct binding_level *b = innermost_nonclass_level ();
+
+ return b->pseudo_global;
}
void
@@ -1085,6 +1097,7 @@ push_binding (id, decl, level)
BINDING_VALUE (binding) = decl;
BINDING_TYPE (binding) = NULL_TREE;
BINDING_LEVEL (binding) = level;
+ INHERITED_VALUE_BINDING_P (binding) = 0;
LOCAL_BINDING_P (binding) = (level != class_binding_level);
/* And put it on the front of the ilst of bindings for ID. */
@@ -1097,31 +1110,44 @@ push_binding (id, decl, level)
stat' hack whereby a non-typedef class-name or enum-name can be
bound at the same level as some other kind of entity. It's the
responsibility of the caller to check that inserting this name is
- legal here. */
-static void
+ legal here. Returns nonzero if the new binding was successful. */
+static int
add_binding (id, decl)
tree id;
tree decl;
{
tree binding = IDENTIFIER_BINDING (id);
+ int ok = 1;
if (TREE_CODE (decl) == TYPE_DECL && DECL_ARTIFICIAL (decl))
/* The new name is the type name. */
BINDING_TYPE (binding) = decl;
- else
- {
- /* The old name must be the type name. It was placed in
- IDENTIFIER_VALUE because it was thought, at the point it
- was declared, to be the only entity with such a name. */
- my_friendly_assert (TREE_CODE (BINDING_VALUE (binding)) == TYPE_DECL
- && DECL_ARTIFICIAL (BINDING_VALUE (binding)),
- 0);
-
- /* Move the type name into the type slot; it is now hidden by
- the new binding. */
+ else if (!BINDING_VALUE (binding))
+ /* This situation arises when push_class_level_binding moves an
+ inherited type-binding out of the way to make room for a new
+ value binding. */
+ BINDING_VALUE (binding) = decl;
+ else if (TREE_CODE (BINDING_VALUE (binding)) == TYPE_DECL
+ && DECL_ARTIFICIAL (BINDING_VALUE (binding)))
+ {
+ /* The old binding was a type name. It was placed in
+ BINDING_VALUE because it was thought, at the point it was
+ declared, to be the only entity with such a name. Move the
+ type name into the type slot; it is now hidden by the new
+ binding. */
BINDING_TYPE (binding) = BINDING_VALUE (binding);
BINDING_VALUE (binding) = decl;
+ INHERITED_VALUE_BINDING_P (binding) = 0;
}
+ else
+ {
+ cp_error ("declaration of `%#D'", decl);
+ cp_error_at ("conflicts with previous declaration `%#D'",
+ BINDING_VALUE (binding));
+ ok = 0;
+ }
+
+ return ok;
}
/* Bind DECL to ID in the current_binding_level.
@@ -1134,14 +1160,26 @@ push_local_binding (id, decl, flags)
tree decl;
int flags;
{
- tree d = decl;
+ struct binding_level *b;
+
+ /* Skip over any local classes. This makes sense if we call
+ push_local_binding with a friend decl of a local class. */
+ b = current_binding_level;
+ while (b->parm_flag == 2)
+ b = b->level_chain;
if (lookup_name_current_level (id))
- /* Supplement the existing binding. */
- add_binding (id, d);
+ {
+ /* Supplement the existing binding. */
+ if (!add_binding (id, decl))
+ /* It didn't work. Something else must be bound at this
+ level. Do not add DECL to the list of things to pop
+ later. */
+ return;
+ }
else
/* Create a new binding. */
- push_binding (id, d, current_binding_level);
+ push_binding (id, decl, b);
if (TREE_CODE (decl) == OVERLOAD || (flags & PUSH_USING))
/* We must put the OVERLOAD into a TREE_LIST since the
@@ -1151,21 +1189,30 @@ push_local_binding (id, decl, flags)
/* And put DECL on the list of things declared by the current
binding level. */
- TREE_CHAIN (decl) = current_binding_level->names;
- current_binding_level->names = decl;
+ TREE_CHAIN (decl) = b->names;
+ b->names = decl;
}
-/* Bind DECL to ID in the class_binding_level. */
+/* Bind DECL to ID in the class_binding_level. Returns nonzero if the
+ binding was successful. */
-void
+int
push_class_binding (id, decl)
tree id;
tree decl;
{
- if (IDENTIFIER_BINDING (id)
- && BINDING_LEVEL (IDENTIFIER_BINDING (id)) == class_binding_level)
+ int result = 1;
+ tree binding = IDENTIFIER_BINDING (id);
+ tree context;
+
+ /* Note that we declared this value so that we can issue an error if
+ this an illegal redeclaration of a name already used for some
+ other purpose. */
+ note_name_declared_in_class (id, decl);
+
+ if (binding && BINDING_LEVEL (binding) == class_binding_level)
/* Supplement the existing binding. */
- add_binding (id, decl);
+ result = add_binding (id, decl);
else
/* Create a new binding. */
push_binding (id, decl, class_binding_level);
@@ -1176,6 +1223,32 @@ push_class_binding (id, decl)
a class-name or enum-name we might prefer a field-name, or some
such. */
IDENTIFIER_CLASS_VALUE (id) = BINDING_VALUE (IDENTIFIER_BINDING (id));
+
+ /* If this is a binding from a base class, mark it as such. */
+ binding = IDENTIFIER_BINDING (id);
+ if (BINDING_VALUE (binding) == decl && TREE_CODE (decl) != TREE_LIST)
+ {
+ if (TREE_CODE (decl) == OVERLOAD)
+ context = DECL_REAL_CONTEXT (OVL_CURRENT (decl));
+ else
+ {
+ my_friendly_assert (TREE_CODE_CLASS (TREE_CODE (decl)) == 'd',
+ 0);
+ context = DECL_REAL_CONTEXT (decl);
+ }
+
+ if (is_properly_derived_from (current_class_type, context))
+ INHERITED_VALUE_BINDING_P (binding) = 1;
+ else
+ INHERITED_VALUE_BINDING_P (binding) = 0;
+ }
+ else if (BINDING_VALUE (binding) == decl)
+ /* We only encounter a TREE_LIST when push_class_decls detects an
+ ambiguity. Such an ambiguity can be overridden by a definition
+ in this class. */
+ INHERITED_VALUE_BINDING_P (binding) = 1;
+
+ return result;
}
/* Remove the binding for DECL which should be the innermost binding
@@ -1647,14 +1720,6 @@ pushlevel_class ()
decl_stack = push_decl_level (decl_stack, &decl_obstack);
class_binding_level = current_binding_level;
class_binding_level->parm_flag = 2;
- /* We have just pushed into a new binding level. Now, fake out the rest
- of the compiler. Set the `current_binding_level' back to point to
- the most closely containing non-class binding level. */
- do
- {
- current_binding_level = current_binding_level->level_chain;
- }
- while (current_binding_level->parm_flag == 2);
}
/* ...and a poplevel for class declarations. FORCE is used to force
@@ -1677,10 +1742,37 @@ poplevel_class (force)
if we don't touch it here, we're able to use the cache effect if the
next time we're entering a class scope, it is the same class. */
if (current_class_depth != 1 || force)
- for (shadowed = level->class_shadowed;
- shadowed;
- shadowed = TREE_CHAIN (shadowed))
- IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (shadowed)) = TREE_VALUE (shadowed);
+ {
+ struct binding_level* b;
+
+ /* Clear out our IDENTIFIER_CLASS_VALUEs. */
+ for (shadowed = level->class_shadowed;
+ shadowed;
+ shadowed = TREE_CHAIN (shadowed))
+ IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (shadowed)) = NULL_TREE;
+
+ /* Find the next enclosing class, and recreate
+ IDENTIFIER_CLASS_VALUEs appropriate for that class. */
+ b = level->level_chain;
+ while (b && b->parm_flag != 2)
+ b = b->level_chain;
+
+ if (b)
+ for (shadowed = b->class_shadowed;
+ shadowed;
+ shadowed = TREE_CHAIN (shadowed))
+ {
+ tree t;
+
+ t = IDENTIFIER_BINDING (TREE_PURPOSE (shadowed));
+ while (t && BINDING_LEVEL (t) != b)
+ t = TREE_CHAIN (t);
+
+ if (t)
+ IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (shadowed))
+ = BINDING_VALUE (t);
+ }
+ }
else
/* Remember to save what IDENTIFIER's were bound in this scope so we
can recover from cache misses. */
@@ -1704,9 +1796,6 @@ poplevel_class (force)
class_binding_level->parm_flag,
class_binding_level->keep);
- if (class_binding_level->parm_flag != 2)
- class_binding_level = (struct binding_level *)0;
-
/* Now, pop out of the binding level which we created up in the
`pushlevel_class' routine. */
#if defined(DEBUG_CP_BINDING_LEVELS)
@@ -1717,6 +1806,24 @@ poplevel_class (force)
return block;
}
+
+/* We are entering the scope of a class. Clear IDENTIFIER_CLASS_VALUE
+ for any names in enclosing classes. */
+
+void
+clear_identifier_class_values ()
+{
+ tree t;
+
+ if (!class_binding_level)
+ return;
+
+ for (t = class_binding_level->class_shadowed;
+ t;
+ t = TREE_CHAIN (t))
+ IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (t)) = NULL_TREE;
+}
+
/* For debugging. */
static int no_print_functions = 0;
@@ -2202,7 +2309,7 @@ maybe_push_to_top_level (pseudo)
extern int current_lang_stacksize;
struct saved_scope *s
= (struct saved_scope *) xmalloc (sizeof (struct saved_scope));
- struct binding_level *b = inner_binding_level;
+ struct binding_level *b = current_binding_level;
tree old_bindings = NULL_TREE;
push_cp_function_context (NULL_TREE);
@@ -2296,10 +2403,7 @@ pop_from_top_level ()
/* Clear out class-level bindings cache. */
if (previous_class_type)
- {
- popclass (-1);
- previous_class_type = NULL_TREE;
- }
+ invalidate_class_lookup_cache ();
pop_obstacks ();
@@ -2385,14 +2489,14 @@ set_identifier_type_value_with_scope (id, type, b)
SET_IDENTIFIER_TYPE_VALUE (id, type);
}
-/* As set_identifier_type_value_with_scope, but using inner_binding_level. */
+/* As set_identifier_type_value_with_scope, but using current_binding_level. */
void
set_identifier_type_value (id, type)
tree id;
tree type;
{
- set_identifier_type_value_with_scope (id, type, inner_binding_level);
+ set_identifier_type_value_with_scope (id, type, current_binding_level);
}
/* Return the type associated with id. */
@@ -2425,9 +2529,9 @@ pop_everything ()
#ifdef DEBUG_CP_BINDING_LEVELS
fprintf (stderr, "XXX entering pop_everything ()\n");
#endif
- while (! toplevel_bindings_p () && ! pseudo_global_level_p ())
+ while (!toplevel_bindings_p ())
{
- if (class_binding_level)
+ if (current_binding_level->parm_flag == 2)
pop_nested_class (1);
else
poplevel (0, 0, 0);
@@ -2506,8 +2610,6 @@ maybe_process_template_type_declaration (type, globalize, b)
&& !globalize && b->pseudo_global
&& b->level_chain->parm_flag == 2)
{
- pushdecl_with_scope (CLASSTYPE_TI_TEMPLATE (type),
- b->level_chain);
finish_member_declaration (CLASSTYPE_TI_TEMPLATE (type));
/* Put this tag on the list of tags for the class, since
that won't happen below because B is not the class
@@ -2538,7 +2640,7 @@ pushtag (name, type, globalize)
tree context = 0;
tree c_decl = 0;
- b = inner_binding_level;
+ b = current_binding_level;
while (b->tag_transparent
|| (globalize && b->parm_flag == 2))
b = b->level_chain;
@@ -2604,13 +2706,14 @@ pushtag (name, type, globalize)
if (b->parm_flag == 2)
{
- pushdecl_class_level (d);
if (newdecl && !PROCESSING_REAL_TEMPLATE_DECL_P ())
/* Put this TYPE_DECL on the TYPE_FIELDS list for the
class. But if it's a member template class, we
want the TEMPLATE_DECL, not the TYPE_DECL, so this
is done later. */
finish_member_declaration (d);
+ else
+ pushdecl_class_level (d);
}
else
d = pushdecl_with_scope (d, b);
@@ -3942,8 +4045,8 @@ pushdecl (x)
We will reverse them later if necessary. */
TREE_CHAIN (x) = current_binding_level->names;
current_binding_level->names = x;
- if (! (current_binding_level != global_binding_level
- || TREE_PERMANENT (x)))
+ if (current_binding_level == global_binding_level
+ && !TREE_PERMANENT (x))
my_friendly_abort (124);
}
@@ -3987,7 +4090,7 @@ tree
pushdecl_namespace_level (x)
tree x;
{
- register struct binding_level *b = inner_binding_level;
+ register struct binding_level *b = current_binding_level;
register tree t;
t = pushdecl_with_scope (x, NAMESPACE_LEVEL (current_namespace));
@@ -4048,39 +4151,30 @@ pushdecl_class_level (x)
{
/* Don't use DECL_ASSEMBLER_NAME here! Everything that looks in class
scope looks for the pre-mangled name. */
- register tree name = DECL_NAME (x);
+ register tree name;
+
+ if (TREE_CODE (x) == OVERLOAD)
+ x = OVL_CURRENT (x);
+ name = DECL_NAME (x);
if (name)
{
if (TYPE_BEING_DEFINED (current_class_type))
- {
- /* A name N used in a class S shall refer to the same declaration
- in its context and when re-evaluated in the completed scope of S.
- Types, enums, and static vars are checked here; other
- members are checked in finish_struct. */
- tree icv = IDENTIFIER_CLASS_VALUE (name);
-
- /* This should match check_member_decl_is_same_in_complete_scope. */
- if (icv && icv != x
- && flag_optional_diags
- /* Don't complain about inherited names. */
- && id_in_current_class (name)
- /* Or shadowed tags. */
- && !(DECL_DECLARES_TYPE_P (icv)
- && DECL_CONTEXT (icv) == current_class_type))
- {
- cp_pedwarn ("declaration of identifier `%D' as `%#D'", name, x);
- cp_pedwarn_at ("conflicts with previous use in class as `%#D'",
- icv);
- }
-
- check_template_shadow (x);
- }
+ check_template_shadow (x);
push_class_level_binding (name, x);
if (TREE_CODE (x) == TYPE_DECL)
set_identifier_type_value (name, TREE_TYPE (x));
}
+ else if (ANON_UNION_TYPE_P (TREE_TYPE (x)))
+ {
+ tree f;
+
+ for (f = TYPE_FIELDS (TREE_TYPE (x));
+ f;
+ f = TREE_CHAIN (f))
+ pushdecl_class_level (f);
+ }
}
#if 0
@@ -4114,6 +4208,7 @@ push_class_level_binding (name, x)
tree name;
tree x;
{
+ tree binding;
/* The class_binding_level will be NULL if x is a template
parameter name in a member template. */
if (!class_binding_level)
@@ -4122,19 +4217,64 @@ push_class_level_binding (name, x)
/* If this declaration shadows a declaration from an enclosing
class, then we will need to restore IDENTIFIER_CLASS_VALUE when
we leave this class. Record the shadowed declaration here. */
- maybe_push_cache_obstack ();
- class_binding_level->class_shadowed
- = tree_cons (name, IDENTIFIER_CLASS_VALUE (name),
- class_binding_level->class_shadowed);
- TREE_TYPE (class_binding_level->class_shadowed)
- = x;
- pop_obstacks ();
-
- /* Put the binding on the stack of bindings for the identifier, and
- update IDENTIFIER_CLASS_VALUE. */
- push_class_binding (name, x);
+ binding = IDENTIFIER_BINDING (name);
+ if (binding
+ && ((TREE_CODE (x) == OVERLOAD
+ && BINDING_VALUE (binding)
+ && is_overloaded_fn (BINDING_VALUE (binding)))
+ || INHERITED_VALUE_BINDING_P (binding)))
+ {
+ tree shadow;
+ tree old_decl;
+
+ /* If the old binding was from a base class, and was for a tag
+ name, slide it over to make room for the new binding. The
+ old binding is still visible if explicitly qualified with a
+ class-key. */
+ if (INHERITED_VALUE_BINDING_P (binding)
+ && BINDING_VALUE (binding)
+ && TREE_CODE (BINDING_VALUE (binding)) == TYPE_DECL
+ && DECL_ARTIFICIAL (BINDING_VALUE (binding))
+ && !(TREE_CODE (x) == TYPE_DECL && DECL_ARTIFICIAL (x)))
+ {
+ old_decl = BINDING_TYPE (binding);
+ BINDING_TYPE (binding) = BINDING_VALUE (binding);
+ BINDING_VALUE (binding) = NULL_TREE;
+ INHERITED_VALUE_BINDING_P (binding) = 0;
+ }
+ else
+ old_decl = BINDING_VALUE (binding);
+
+ /* There was already a binding for X containing fewer
+ functions than are named in X. Find the previous
+ declaration of X on the class-shadowed list, and update it. */
+ for (shadow = class_binding_level->class_shadowed;
+ shadow;
+ shadow = TREE_CHAIN (shadow))
+ if (TREE_PURPOSE (shadow) == name
+ && TREE_TYPE (shadow) == old_decl)
+ {
+ BINDING_VALUE (binding) = x;
+ INHERITED_VALUE_BINDING_P (binding) = 0;
+ TREE_TYPE (shadow) = x;
+ return;
+ }
+ }
- obstack_ptr_grow (&decl_obstack, x);
+ /* If we didn't replace an existing binding, put the binding on the
+ stack of bindings for the identifier, and update
+ IDENTIFIER_CLASS_VALUE. */
+ if (push_class_binding (name, x))
+ {
+ maybe_push_cache_obstack ();
+ class_binding_level->class_shadowed
+ = tree_cons (name, IDENTIFIER_CLASS_VALUE (name),
+ class_binding_level->class_shadowed);
+ pop_obstacks ();
+ /* Record the value we are binding NAME to so that we can know
+ what to pop later. */
+ TREE_TYPE (class_binding_level->class_shadowed) = x;
+ }
}
/* Insert another USING_DECL into the current binding level,
@@ -5434,26 +5574,6 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
|| TREE_CODE (type) == TYPENAME_TYPE)
/* Someone else will give an error about this if needed. */
val = NULL_TREE;
- else if (TYPE_BEING_DEFINED (type))
- {
- val = IDENTIFIER_CLASS_VALUE (name);
- if (val && DECL_CONTEXT (val) != type)
- {
- struct binding_level *b = class_binding_level;
- for (val = NULL_TREE; b; b = b->level_chain)
- {
- tree t = purpose_member (name, b->class_shadowed);
- if (t && TREE_VALUE (t)
- && DECL_CONTEXT (TREE_VALUE (t)) == type)
- {
- val = TREE_VALUE (t);
- break;
- }
- }
- }
- if (val == NULL_TREE)
- val = lookup_field (type, name, 0, 1);
- }
else if (type == current_class_type)
val = IDENTIFIER_CLASS_VALUE (name);
else
@@ -5495,26 +5615,6 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
}
}
- /* If VAL is a type from a dependent base, we're not really supposed
- to be able to see it; the fact that we can is the "implicit
- typename" extension. We call lookup_field here to turn VAL into
- a TYPE_DECL for a TYPENAME_TYPE. */
- if (processing_template_decl && val
- && val == IDENTIFIER_CLASS_VALUE (name)
- && TREE_CODE (val) == TYPE_DECL
- && !currently_open_class (DECL_CONTEXT (val))
- && uses_template_parms (current_class_type))
- val = lookup_field (current_class_type, name, 0, 1);
-
- /* We don't put names from baseclasses onto the IDENTIFIER_BINDING
- list when we're defining a type. It would probably be simpler to
- do this, but we don't. So, we must lookup names from base
- classes explicitly. */
- if (!val && !nonclass
- && current_class_type && TYPE_BEING_DEFINED (current_class_type))
- val = qualify_lookup (lookup_field (current_class_type, name, 0, 0),
- flags);
-
/* The name might be from an enclosing class of the current scope. */
if (!val && !nonclass && current_class_type)
val = qualify_lookup (lookup_nested_field (name, !yylex), flags);
@@ -9072,12 +9172,15 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
if (TREE_CODE (fns) == LOOKUP_EXPR)
fns = TREE_OPERAND (fns, 0);
- if (TREE_CODE (fns) == IDENTIFIER_NODE)
- dname = fns;
- else if (is_overloaded_fn (fns))
- dname = DECL_NAME (get_first_fn (fns));
- else
- my_friendly_abort (0);
+ dname = fns;
+ if (TREE_CODE (dname) == COMPONENT_REF)
+ dname = TREE_OPERAND (dname, 1);
+ if (TREE_CODE (dname) != IDENTIFIER_NODE)
+ {
+ my_friendly_assert (is_overloaded_fn (dname),
+ 19990331);
+ dname = DECL_NAME (get_first_fn (dname));
+ }
}
/* Fall through. */
@@ -12126,7 +12229,7 @@ xref_tag (code_type_node, name, globalize)
enum tree_code code;
int temp = 0;
register tree ref, t;
- struct binding_level *b = inner_binding_level;
+ struct binding_level *b = current_binding_level;
int got_type = 0;
tree attributes = NULL_TREE;
@@ -12557,7 +12660,7 @@ start_enum (name)
tree name;
{
register tree enumtype = NULL_TREE;
- struct binding_level *b = inner_binding_level;
+ struct binding_level *b = current_binding_level;
/* We are wasting space here and putting these on the permanent_obstack so
that typeid(local enum) will work correctly. */
@@ -12795,13 +12898,10 @@ build_enumerator (name, value, type)
TREE_READONLY (decl) = 1;
if (context && context == current_class_type)
- {
- pushdecl_class_level (decl);
- /* In something like `struct S { enum E { i = 7 }; };' we put `i'
- on the TYPE_FIELDS list for `S'. (That's so that you can say
- things like `S::i' later.) */
- finish_member_declaration (decl);
- }
+ /* In something like `struct S { enum E { i = 7 }; };' we put `i'
+ on the TYPE_FIELDS list for `S'. (That's so that you can say
+ things like `S::i' later.) */
+ finish_member_declaration (decl);
else
{
pushdecl (decl);
@@ -14506,13 +14606,6 @@ revert_static_member_fn (decl, fn, argtypes)
*argtypes = args;
}
-int
-id_in_current_class (id)
- tree id;
-{
- return !!purpose_member (id, class_binding_level->class_shadowed);
-}
-
struct cp_function
{
int returns_value;
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index bb7071e..180de3d 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1525,7 +1525,6 @@ grokfield (declarator, declspecs, init, asmspec_tree, attrlist)
DECL_ASSEMBLER_NAME (value) =
get_identifier (build_overload_name (TREE_TYPE (value), 1, 1));
- pushdecl_class_level (value);
return value;
}
@@ -1611,8 +1610,6 @@ grokfield (declarator, declspecs, init, asmspec_tree, attrlist)
&& (TREE_CODE (value) == VAR_DECL || TREE_CODE (value) == FUNCTION_DECL))
value = push_template_decl (value);
- check_template_shadow (value);
-
if (attrlist)
cplus_decl_attributes (value, TREE_PURPOSE (attrlist),
TREE_VALUE (attrlist));
@@ -1656,7 +1653,6 @@ grokfield (declarator, declspecs, init, asmspec_tree, attrlist)
DECL_CLASS_CONTEXT (value) = current_class_type;
cp_finish_decl (value, init, asmspec_tree, 1, flags);
- pushdecl_class_level (value);
return value;
}
if (TREE_CODE (value) == FIELD_DECL)
diff --git a/gcc/cp/errfn.c b/gcc/cp/errfn.c
index 7d6e66d..58a46af 100644
--- a/gcc/cp/errfn.c
+++ b/gcc/cp/errfn.c
@@ -41,8 +41,6 @@ int cp_silent = 0;
typedef void errorfn (); /* deliberately vague */
static void cp_thing PROTO ((errorfn *, int, const char *, va_list));
-extern char* cp_file_of PROTO((tree));
-extern int cp_line_of PROTO((tree));
#define STRDUP(f) (ap = (char *) alloca (strlen (f) +1), strcpy (ap, (f)), ap)
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index b230e1f..45b96d7 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -806,6 +806,10 @@ dump_decl (t, v)
}
break;
+ case OVERLOAD:
+ t = OVL_CURRENT (t);
+ /* Fall through. */
+
case FUNCTION_DECL:
if (GLOBAL_IORD_P (DECL_ASSEMBLER_NAME (t)))
dump_global_iord (DECL_ASSEMBLER_NAME (t));
@@ -1928,6 +1932,8 @@ cp_file_of (t)
return DECL_SOURCE_FILE (DECL_CONTEXT (t));
else if (TREE_CODE_CLASS (TREE_CODE (t)) == 't')
return DECL_SOURCE_FILE (TYPE_MAIN_DECL (t));
+ else if (TREE_CODE (t) == OVERLOAD)
+ return DECL_SOURCE_FILE (OVL_FUNCTION (t));
else
return DECL_SOURCE_FILE (t);
}
@@ -1945,6 +1951,8 @@ cp_line_of (t)
if (TREE_CODE_CLASS (TREE_CODE (t)) == 't')
line = DECL_SOURCE_LINE (TYPE_MAIN_DECL (t));
+ else if (TREE_CODE (t) == OVERLOAD)
+ line = DECL_SOURCE_LINE (OVL_FUNCTION (t));
else
line = DECL_SOURCE_LINE (t);
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 71fd08b1..0626203 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1377,14 +1377,17 @@ build_member_call (type, name, parmlist)
return build_x_function_call (lookup_namespace_name (type, name),
parmlist, current_class_ref);
- if (TREE_CODE (name) != TEMPLATE_ID_EXPR)
- method_name = name;
- else
+ if (TREE_CODE (name) == TEMPLATE_ID_EXPR)
{
method_name = TREE_OPERAND (name, 0);
+ if (TREE_CODE (method_name) == COMPONENT_REF)
+ method_name = TREE_OPERAND (method_name, 1);
if (is_overloaded_fn (method_name))
method_name = DECL_NAME (OVL_CURRENT (method_name));
+ TREE_OPERAND (name, 0) = method_name;
}
+ else
+ method_name = name;
if (TREE_CODE (method_name) == BIT_NOT_EXPR)
{
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 81e99d8..4d68ba9 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -2878,15 +2878,13 @@ do_identifier (token, parsing, args)
/* Remember that this name has been used in the class definition, as per
[class.scope0] */
- if (id && current_class_type && parsing
- && TYPE_BEING_DEFINED (current_class_type)
- && ! IDENTIFIER_CLASS_VALUE (token)
+ if (id && parsing
/* Avoid breaking if we get called for a default argument that
refers to an overloaded method. Eventually this will not be
necessary, since default arguments shouldn't be parsed until
after the class is complete. (jason 3/12/97) */
&& TREE_CODE (id) != OVERLOAD)
- pushdecl_class_level (id);
+ maybe_note_name_used_in_class (token, id);
if (id == error_mark_node)
{
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index ecfa82c..d0bbf15 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1916,11 +1916,16 @@ hack_identifier (value, name)
TREE_USED (value) = 1;
value = build_component_ref (current_class_ref, name, NULL_TREE, 1);
}
- else if (TREE_CODE (value) == FUNCTION_DECL
- && DECL_FUNCTION_MEMBER_P (value))
+ else if ((TREE_CODE (value) == FUNCTION_DECL
+ && DECL_FUNCTION_MEMBER_P (value))
+ || (TREE_CODE (value) == OVERLOAD
+ && DECL_FUNCTION_MEMBER_P (OVL_CURRENT (value))))
{
tree decl;
+ if (TREE_CODE (value) == OVERLOAD)
+ value = OVL_CURRENT (value);
+
if (IS_SIGNATURE (DECL_CLASS_CONTEXT (value)))
return value;
@@ -1928,19 +1933,7 @@ hack_identifier (value, name)
value = build_component_ref (decl, name, NULL_TREE, 1);
}
else if (really_overloaded_fn (value))
- {
-#if 0
- tree t = get_first_fn (value);
- for (; t; t = DECL_CHAIN (t))
- {
- if (TREE_CODE (t) == TEMPLATE_DECL)
- continue;
-
- assemble_external (t);
- TREE_USED (t) = 1;
- }
-#endif
- }
+ ;
else if (TREE_CODE (value) == OVERLOAD)
/* not really overloaded function */
mark_used (OVL_FUNCTION (value));
diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c
index 6e3b211..6eedc51 100644
--- a/gcc/cp/parse.c
+++ b/gcc/cp/parse.c
@@ -310,11 +310,11 @@ static const short yyprhs[] = { 0,
1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
1570, 1575, 1576, 1583, 1587, 1590, 1593, 1596, 1597, 1598,
- 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624, 1627,
- 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658, 1661,
- 1665, 1667, 1668, 1672, 1673, 1677, 1680, 1682, 1684, 1685,
- 1688, 1692, 1694, 1699, 1701, 1705, 1707, 1709, 1714, 1719,
- 1722, 1725, 1729, 1733, 1735, 1736, 1738, 1742, 1745, 1748,
+ 1599, 1610, 1612, 1613, 1615, 1616, 1618, 1620, 1623, 1626,
+ 1629, 1632, 1635, 1638, 1641, 1644, 1647, 1651, 1656, 1660,
+ 1663, 1667, 1669, 1670, 1674, 1675, 1679, 1682, 1684, 1686,
+ 1687, 1690, 1694, 1696, 1701, 1703, 1707, 1709, 1711, 1716,
+ 1721, 1724, 1727, 1731, 1735, 1736, 1738, 1742, 1745, 1748,
1750, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1773, 1776,
1779, 1783, 1786, 1789, 1794, 1799, 1802, 1804, 1810, 1815,
1817, 1818, 1820, 1824, 1825, 1827, 1831, 1833, 1835, 1837,
@@ -368,8 +368,8 @@ static const short yyrhs[] = { -1,
54, 0, 209, 0, 313, 0, 327, 313, 0, 327,
209, 0, 98, 0, 133, 98, 0, 0, 48, 74,
135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
- 136, 59, 140, 0, 163, 0, 0, 268, 137, 0,
- 45, 137, 0, 134, 268, 137, 0, 138, 0, 138,
+ 136, 59, 140, 0, 163, 0, 0, 269, 137, 0,
+ 45, 137, 0, 134, 269, 137, 0, 138, 0, 138,
64, 225, 0, 390, 0, 390, 64, 204, 0, 139,
0, 139, 64, 184, 0, 134, 142, 0, 134, 1,
0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
@@ -435,7 +435,7 @@ static const short yyrhs[] = { -1,
58, 199, 196, 109, 0, 93, 196, 108, 0, 47,
0, 93, 232, 108, 0, 64, 254, 0, 93, 225,
108, 0, 202, 93, 225, 108, 0, 197, 0, 202,
- 197, 0, 202, 58, 255, 266, 109, 0, 203, 0,
+ 197, 0, 202, 58, 255, 267, 109, 0, 203, 0,
204, 83, 204, 0, 204, 84, 204, 0, 204, 78,
204, 0, 204, 79, 204, 0, 204, 80, 204, 0,
204, 81, 204, 0, 204, 82, 204, 0, 204, 76,
@@ -509,24 +509,24 @@ static const short yyrhs[] = { -1,
337, 0, 256, 146, 361, 0, 256, 146, 1, 0,
0, 258, 257, 147, 0, 102, 204, 107, 0, 102,
1, 107, 0, 0, 260, 259, 0, 260, 1, 0,
- 0, 14, 163, 58, 262, 296, 267, 109, 0, 14,
- 163, 58, 109, 0, 0, 14, 58, 263, 296, 267,
+ 0, 14, 163, 58, 262, 296, 268, 109, 0, 14,
+ 163, 58, 109, 0, 0, 14, 58, 263, 296, 268,
109, 0, 14, 58, 109, 0, 14, 163, 0, 14,
- 325, 0, 45, 320, 0, 0, 0, 276, 282, 283,
- 109, 246, 264, 260, 265, 258, 0, 276, 0, 0,
- 59, 0, 0, 59, 0, 36, 0, 268, 7, 0,
- 268, 8, 0, 268, 9, 0, 268, 36, 0, 268,
- 247, 0, 268, 163, 0, 268, 165, 0, 269, 58,
- 0, 269, 62, 0, 268, 318, 163, 0, 268, 327,
- 318, 163, 0, 268, 327, 163, 0, 268, 178, 0,
- 268, 318, 178, 0, 269, 0, 0, 270, 273, 277,
- 0, 0, 271, 274, 277, 0, 268, 58, 0, 275,
- 0, 272, 0, 0, 62, 391, 0, 62, 391, 278,
- 0, 279, 0, 278, 59, 391, 279, 0, 280, 0,
- 281, 391, 280, 0, 320, 0, 305, 0, 30, 93,
- 186, 108, 0, 30, 93, 225, 108, 0, 37, 391,
- 0, 7, 391, 0, 281, 37, 391, 0, 281, 7,
- 391, 0, 58, 0, 0, 285, 0, 283, 284, 285,
+ 325, 0, 45, 320, 0, 0, 0, 0, 277, 58,
+ 264, 283, 109, 246, 265, 260, 266, 258, 0, 277,
+ 0, 0, 59, 0, 0, 59, 0, 36, 0, 269,
+ 7, 0, 269, 8, 0, 269, 9, 0, 269, 36,
+ 0, 269, 247, 0, 269, 163, 0, 269, 165, 0,
+ 270, 58, 0, 270, 62, 0, 269, 318, 163, 0,
+ 269, 327, 318, 163, 0, 269, 327, 163, 0, 269,
+ 178, 0, 269, 318, 178, 0, 270, 0, 0, 271,
+ 274, 278, 0, 0, 272, 275, 278, 0, 269, 58,
+ 0, 276, 0, 273, 0, 0, 62, 391, 0, 62,
+ 391, 279, 0, 280, 0, 279, 59, 391, 280, 0,
+ 281, 0, 282, 391, 281, 0, 320, 0, 305, 0,
+ 30, 93, 186, 108, 0, 30, 93, 225, 108, 0,
+ 37, 391, 0, 7, 391, 0, 282, 37, 391, 0,
+ 282, 7, 391, 0, 0, 285, 0, 283, 284, 285,
0, 283, 284, 0, 37, 62, 0, 286, 0, 285,
286, 0, 287, 60, 0, 287, 109, 0, 156, 62,
0, 156, 95, 0, 156, 25, 0, 156, 58, 0,
@@ -691,47 +691,47 @@ static const short yyrline[] = { 0,
1999, 2000, 2001, 2005, 2008, 2012, 2015, 2021, 2023, 2026,
2029, 2032, 2038, 2041, 2044, 2046, 2048, 2052, 2058, 2066,
2073, 2077, 2079, 2084, 2087, 2090, 2092, 2094, 2098, 2103,
- 2110, 2114, 2118, 2125, 2129, 2132, 2135, 2141, 2153, 2157,
- 2162, 2182, 2184, 2187, 2189, 2194, 2196, 2198, 2200, 2202,
- 2204, 2208, 2216, 2219, 2221, 2225, 2231, 2236, 2241, 2243,
- 2247, 2250, 2254, 2260, 2266, 2291, 2297, 2299, 2302, 2305,
- 2307, 2311, 2313, 2317, 2322, 2328, 2331, 2332, 2353, 2376,
- 2378, 2382, 2393, 2407, 2412, 2413, 2414, 2415, 2418, 2433,
- 2438, 2444, 2446, 2451, 2453, 2455, 2457, 2459, 2461, 2464,
- 2474, 2481, 2506, 2512, 2515, 2518, 2520, 2531, 2536, 2539,
- 2544, 2547, 2554, 2564, 2567, 2574, 2584, 2586, 2589, 2591,
- 2594, 2601, 2609, 2616, 2622, 2628, 2636, 2640, 2645, 2649,
- 2652, 2661, 2663, 2667, 2670, 2675, 2679, 2685, 2696, 2699,
- 2703, 2707, 2715, 2720, 2726, 2729, 2731, 2733, 2739, 2742,
- 2744, 2746, 2748, 2752, 2755, 2773, 2783, 2785, 2786, 2790,
- 2795, 2798, 2800, 2802, 2804, 2808, 2814, 2816, 2824, 2827,
- 2829, 2831, 2833, 2837, 2840, 2843, 2845, 2847, 2849, 2853,
- 2856, 2859, 2861, 2863, 2865, 2867, 2874, 2878, 2883, 2887,
- 2892, 2894, 2898, 2901, 2903, 2906, 2908, 2909, 2912, 2914,
- 2916, 2922, 2937, 2943, 2949, 2963, 2965, 2969, 2983, 2985,
- 2987, 2991, 2997, 3010, 3012, 3016, 3029, 3035, 3037, 3038,
- 3039, 3047, 3052, 3061, 3062, 3066, 3069, 3075, 3081, 3084,
- 3086, 3088, 3090, 3094, 3098, 3102, 3105, 3110, 3113, 3115,
- 3117, 3119, 3121, 3123, 3125, 3127, 3131, 3135, 3139, 3143,
- 3144, 3146, 3148, 3150, 3152, 3154, 3156, 3158, 3160, 3168,
- 3170, 3171, 3172, 3175, 3181, 3183, 3188, 3190, 3193, 3207,
- 3210, 3213, 3217, 3220, 3227, 3229, 3232, 3234, 3236, 3239,
- 3242, 3245, 3248, 3250, 3253, 3257, 3259, 3265, 3267, 3268,
- 3270, 3275, 3277, 3279, 3281, 3283, 3286, 3287, 3289, 3292,
- 3293, 3296, 3296, 3299, 3299, 3302, 3302, 3304, 3306, 3308,
- 3310, 3316, 3322, 3325, 3328, 3334, 3336, 3338, 3342, 3344,
- 3345, 3346, 3348, 3351, 3358, 3363, 3369, 3373, 3375, 3378,
- 3380, 3383, 3387, 3389, 3392, 3394, 3397, 3414, 3420, 3428,
- 3430, 3432, 3436, 3439, 3440, 3448, 3452, 3456, 3459, 3460,
- 3466, 3469, 3472, 3474, 3478, 3483, 3486, 3496, 3501, 3502,
- 3509, 3512, 3515, 3517, 3520, 3522, 3532, 3546, 3550, 3553,
- 3555, 3559, 3563, 3566, 3569, 3571, 3575, 3577, 3584, 3591,
- 3594, 3598, 3602, 3606, 3612, 3616, 3621, 3623, 3626, 3631,
- 3637, 3648, 3651, 3653, 3657, 3662, 3664, 3671, 3674, 3676,
- 3678, 3684, 3689, 3692, 3694, 3696, 3698, 3700, 3702, 3704,
- 3706, 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3724,
- 3726, 3728, 3730, 3732, 3734, 3736, 3738, 3740, 3742, 3744,
- 3746, 3748, 3750, 3752, 3754, 3757, 3759
+ 2110, 2114, 2118, 2125, 2129, 2132, 2135, 2141, 2143, 2154,
+ 2158, 2163, 2183, 2185, 2188, 2190, 2195, 2197, 2199, 2201,
+ 2203, 2205, 2209, 2217, 2220, 2222, 2226, 2232, 2237, 2242,
+ 2244, 2248, 2251, 2255, 2261, 2267, 2292, 2298, 2300, 2303,
+ 2306, 2308, 2312, 2314, 2318, 2323, 2329, 2332, 2333, 2354,
+ 2377, 2379, 2383, 2394, 2408, 2409, 2410, 2411, 2414, 2429,
+ 2434, 2440, 2442, 2447, 2449, 2451, 2453, 2455, 2457, 2460,
+ 2470, 2477, 2502, 2508, 2511, 2514, 2516, 2527, 2532, 2535,
+ 2540, 2543, 2550, 2560, 2563, 2570, 2580, 2582, 2585, 2587,
+ 2590, 2597, 2605, 2612, 2618, 2624, 2632, 2636, 2641, 2645,
+ 2648, 2657, 2659, 2663, 2666, 2671, 2675, 2681, 2692, 2695,
+ 2699, 2703, 2711, 2716, 2722, 2725, 2727, 2729, 2735, 2738,
+ 2740, 2742, 2744, 2748, 2751, 2762, 2772, 2774, 2775, 2779,
+ 2784, 2787, 2789, 2791, 2793, 2797, 2803, 2805, 2813, 2816,
+ 2818, 2820, 2822, 2826, 2829, 2832, 2834, 2836, 2838, 2842,
+ 2845, 2848, 2850, 2852, 2854, 2856, 2863, 2867, 2872, 2876,
+ 2881, 2883, 2887, 2890, 2892, 2895, 2897, 2898, 2901, 2903,
+ 2905, 2911, 2921, 2927, 2933, 2947, 2949, 2953, 2967, 2969,
+ 2971, 2975, 2981, 2994, 2996, 3000, 3013, 3019, 3021, 3022,
+ 3023, 3031, 3036, 3045, 3046, 3050, 3053, 3059, 3065, 3068,
+ 3070, 3072, 3074, 3078, 3082, 3086, 3089, 3094, 3097, 3099,
+ 3101, 3103, 3105, 3107, 3109, 3111, 3115, 3119, 3123, 3127,
+ 3128, 3130, 3132, 3134, 3136, 3138, 3140, 3142, 3144, 3152,
+ 3154, 3155, 3156, 3159, 3165, 3167, 3172, 3174, 3177, 3191,
+ 3194, 3197, 3201, 3204, 3211, 3213, 3216, 3218, 3220, 3223,
+ 3226, 3229, 3232, 3234, 3237, 3241, 3243, 3249, 3251, 3252,
+ 3254, 3259, 3261, 3263, 3265, 3267, 3270, 3271, 3273, 3276,
+ 3277, 3280, 3280, 3283, 3283, 3286, 3286, 3288, 3290, 3292,
+ 3294, 3300, 3306, 3309, 3312, 3318, 3320, 3322, 3326, 3328,
+ 3329, 3330, 3332, 3335, 3342, 3347, 3353, 3357, 3359, 3362,
+ 3364, 3367, 3371, 3373, 3376, 3378, 3381, 3398, 3404, 3412,
+ 3414, 3416, 3420, 3423, 3424, 3432, 3436, 3440, 3443, 3444,
+ 3450, 3453, 3456, 3458, 3462, 3467, 3470, 3480, 3485, 3486,
+ 3493, 3496, 3499, 3501, 3504, 3506, 3516, 3530, 3534, 3537,
+ 3539, 3543, 3547, 3550, 3553, 3555, 3559, 3561, 3568, 3575,
+ 3578, 3582, 3586, 3590, 3596, 3600, 3605, 3607, 3610, 3615,
+ 3621, 3632, 3635, 3637, 3641, 3646, 3648, 3655, 3658, 3660,
+ 3662, 3668, 3673, 3676, 3678, 3680, 3682, 3684, 3686, 3688,
+ 3690, 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708,
+ 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3728,
+ 3730, 3732, 3734, 3736, 3738, 3741, 3743
};
#endif
@@ -778,32 +778,32 @@ static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER"
"notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
"attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
"init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
-"pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
+"pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn",
"aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
-"named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
+"named_complex_class_head_sans_basetype","named_class_head","@31","@32","unnamed_class_head",
"class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
-"base_class_access_list","left_curly","opt.component_decl_list","access_specifier",
-"component_decl_list","component_decl","component_decl_1","components","notype_components",
-"component_declarator0","component_declarator","after_type_component_declarator0",
-"notype_component_declarator0","after_type_component_declarator","notype_component_declarator",
-"enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
-"suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator","nonnested_type",
-"complete_type_name","nested_type","direct_after_type_declarator","notype_declarator_intern",
-"notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
-"qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
-"nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0",
-"typename_sub1","typename_sub2","explicit_template_type","complex_type_name",
-"ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
-"direct_abstract_declarator","stmts","errstmt","maybe_label_decls","label_decls",
-"label_decl","compstmt_or_error","compstmt","@32","simple_if","@33","@34","implicitly_scoped_stmt",
-"@35","stmt","simple_stmt","@36","@37","@38","@39","@40","@41","@42","@43","@44",
-"@45","@46","@47","@48","@49","function_try_block","@50","@51","try_block","@52",
-"@53","handler_seq","handler","@54","@55","type_specifier_seq","handler_args",
-"label_colon","for.init.statement","maybe_cv_qualifier","xexpr","asm_operands",
-"nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","complex_parmlist",
-"defarg","@56","defarg1","parms","parms_comma","named_parm","full_parm","parm",
-"see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
-"ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
+"base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list",
+"component_decl","component_decl_1","components","notype_components","component_declarator0",
+"component_declarator","after_type_component_declarator0","notype_component_declarator0",
+"after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
+"new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
+"maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
+"nested_type","direct_after_type_declarator","notype_declarator_intern","notype_declarator",
+"complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
+"notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
+"nested_name_specifier_1","typename_sub","typename_sub0","typename_sub1","typename_sub2",
+"explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator",
+"direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt",
+"maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
+"@33","simple_if","@34","@35","implicitly_scoped_stmt","@36","stmt","simple_stmt",
+"@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49",
+"@50","function_try_block","@51","@52","try_block","@53","@54","handler_seq",
+"handler","@55","@56","type_specifier_seq","handler_args","label_colon","for.init.statement",
+"maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
+"asm_clobbers","parmlist","complex_parmlist","defarg","@57","defarg1","parms",
+"parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
+"ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
+"operator_name", NULL
};
#endif
@@ -855,12 +855,12 @@ static const short yyr1[] = { 0,
251, 251, 251, 252, 252, 253, 253, 254, 254, 254,
254, 254, 255, 255, 255, 255, 255, 256, 257, 257,
257, 258, 258, 259, 259, 260, 260, 260, 262, 261,
- 261, 263, 261, 261, 261, 261, 261, 264, 265, 261,
- 261, 266, 266, 267, 267, 268, 268, 268, 268, 268,
- 268, 269, 270, 270, 270, 271, 271, 271, 271, 271,
- 272, 273, 272, 274, 272, 275, 276, 276, 277, 277,
- 277, 278, 278, 279, 279, 280, 280, 280, 280, 281,
- 281, 281, 281, 282, 283, 283, 283, 283, 284, 285,
+ 261, 263, 261, 261, 261, 261, 261, 264, 265, 266,
+ 261, 261, 267, 267, 268, 268, 269, 269, 269, 269,
+ 269, 269, 270, 271, 271, 271, 272, 272, 272, 272,
+ 272, 273, 274, 273, 275, 273, 276, 277, 277, 278,
+ 278, 278, 279, 279, 280, 280, 281, 281, 281, 281,
+ 282, 282, 282, 282, 283, 283, 283, 283, 284, 285,
285, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 287, 287, 287, 287, 287, 287, 287, 287, 287,
288, 288, 288, 289, 289, 289, 290, 290, 291, 291,
@@ -946,12 +946,12 @@ static const short yyr2[] = { 0,
1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
- 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
- 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
- 1, 0, 3, 0, 3, 2, 1, 1, 0, 2,
- 3, 1, 4, 1, 3, 1, 1, 4, 4, 2,
- 2, 3, 3, 1, 0, 1, 3, 2, 2, 1,
+ 4, 0, 6, 3, 2, 2, 2, 0, 0, 0,
+ 10, 1, 0, 1, 0, 1, 1, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 3, 4, 3, 2,
+ 3, 1, 0, 3, 0, 3, 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,
@@ -991,13 +991,13 @@ static const short yyr2[] = { 0,
static const short yydefact[] = { 3,
12, 12, 5, 0, 4, 0, 281, 636, 637, 0,
- 388, 400, 581, 0, 11, 0, 0, 0, 10, 486,
+ 388, 400, 581, 0, 11, 0, 0, 0, 10, 487,
842, 0, 0, 0, 167, 668, 282, 283, 83, 0,
0, 829, 0, 45, 0, 0, 13, 25, 0, 27,
8, 0, 16, 15, 89, 110, 86, 0, 638, 171,
302, 279, 303, 614, 0, 375, 0, 374, 393, 0,
- 413, 392, 430, 399, 0, 501, 502, 504, 508, 507,
- 481, 387, 597, 401, 598, 108, 301, 625, 595, 0,
+ 413, 392, 430, 399, 0, 502, 503, 505, 509, 508,
+ 482, 387, 597, 401, 598, 108, 301, 625, 595, 0,
639, 579, 0, 0, 280, 81, 82, 178, 642, 178,
643, 178, 284, 167, 140, 141, 142, 143, 144, 472,
475, 0, 664, 0, 476, 0, 0, 0, 0, 141,
@@ -1012,2253 +1012,2282 @@ static const short yydefact[] = { 3,
579, 80, 0, 0, 0, 106, 0, 409, 365, 594,
366, 606, 0, 579, 390, 389, 78, 109, 376, 0,
411, 391, 107, 382, 406, 407, 377, 395, 397, 386,
- 408, 0, 75, 431, 487, 488, 489, 490, 506, 149,
- 148, 150, 492, 493, 172, 499, 491, 0, 0, 494,
- 495, 509, 509, 524, 0, 582, 394, 0, 425, 637,
- 0, 666, 171, 629, 630, 626, 600, 640, 0, 599,
- 596, 0, 877, 873, 872, 870, 852, 857, 858, 0,
- 864, 863, 849, 850, 848, 867, 856, 853, 854, 855,
- 859, 860, 846, 847, 843, 844, 845, 869, 861, 862,
- 851, 868, 0, 865, 775, 393, 776, 838, 284, 281,
- 581, 306, 354, 0, 0, 0, 0, 350, 348, 321,
- 352, 353, 0, 0, 0, 0, 0, 282, 283, 275,
- 0, 0, 186, 185, 0, 187, 188, 0, 0, 189,
- 0, 0, 179, 180, 0, 249, 0, 252, 184, 305,
- 215, 0, 0, 307, 308, 0, 182, 372, 393, 373,
- 631, 333, 323, 0, 0, 0, 0, 178, 0, 474,
- 0, 469, 0, 665, 663, 0, 190, 191, 0, 0,
- 0, 435, 3, 21, 29, 660, 656, 657, 659, 661,
- 658, 140, 141, 142, 0, 143, 144, 648, 649, 653,
- 650, 647, 0, 291, 292, 290, 628, 627, 33, 32,
- 49, 0, 157, 0, 0, 393, 155, 0, 0, 608,
- 610, 0, 609, 141, 142, 277, 278, 297, 0, 618,
- 296, 0, 617, 0, 304, 282, 283, 0, 0, 0,
- 295, 294, 622, 0, 0, 12, 0, 167, 9, 9,
- 70, 0, 65, 0, 0, 71, 74, 0, 427, 429,
- 122, 93, 127, 764, 0, 85, 84, 92, 125, 0,
- 0, 123, 88, 624, 0, 0, 587, 0, 832, 0,
- 592, 0, 591, 0, 0, 0, 0, 579, 428, 0,
- 77, 583, 579, 605, 0, 379, 380, 0, 76, 428,
- 384, 383, 385, 378, 398, 415, 414, 178, 496, 500,
- 498, 0, 829, 503, 505, 547, 637, 0, 538, 0,
- 0, 550, 0, 121, 116, 0, 171, 551, 554, 0,
- 0, 530, 0, 119, 396, 428, 579, 94, 0, 0,
- 0, 0, 579, 100, 580, 613, 637, 667, 171, 0,
- 0, 866, 871, 395, 579, 579, 0, 579, 876, 178,
- 0, 0, 0, 222, 0, 0, 224, 237, 238, 0,
- 0, 0, 0, 0, 276, 221, 218, 217, 219, 0,
- 0, 0, 0, 0, 305, 0, 0, 0, 216, 176,
- 177, 299, 0, 220, 0, 0, 250, 0, 0, 0,
+ 408, 0, 75, 431, 488, 489, 490, 491, 507, 149,
+ 148, 150, 493, 494, 172, 500, 492, 0, 0, 495,
+ 496, 510, 510, 478, 582, 394, 0, 425, 637, 0,
+ 666, 171, 629, 630, 626, 600, 640, 0, 599, 596,
+ 0, 877, 873, 872, 870, 852, 857, 858, 0, 864,
+ 863, 849, 850, 848, 867, 856, 853, 854, 855, 859,
+ 860, 846, 847, 843, 844, 845, 869, 861, 862, 851,
+ 868, 0, 865, 775, 393, 776, 838, 284, 281, 581,
+ 306, 354, 0, 0, 0, 0, 350, 348, 321, 352,
+ 353, 0, 0, 0, 0, 0, 282, 283, 275, 0,
+ 0, 186, 185, 0, 187, 188, 0, 0, 189, 0,
+ 0, 179, 180, 0, 249, 0, 252, 184, 305, 215,
+ 0, 0, 307, 308, 0, 182, 372, 393, 373, 631,
+ 333, 323, 0, 0, 0, 0, 178, 0, 474, 0,
+ 469, 0, 665, 663, 0, 190, 191, 0, 0, 0,
+ 435, 3, 21, 29, 660, 656, 657, 659, 661, 658,
+ 140, 141, 142, 0, 143, 144, 648, 649, 653, 650,
+ 647, 0, 291, 292, 290, 628, 627, 33, 32, 49,
+ 0, 157, 0, 0, 393, 155, 0, 0, 608, 610,
+ 0, 609, 141, 142, 277, 278, 297, 0, 618, 296,
+ 0, 617, 0, 304, 282, 283, 0, 0, 0, 295,
+ 294, 622, 0, 0, 12, 0, 167, 9, 9, 70,
+ 0, 65, 0, 0, 71, 74, 0, 427, 429, 122,
+ 93, 127, 764, 0, 85, 84, 92, 125, 0, 0,
+ 123, 88, 624, 0, 0, 587, 0, 832, 0, 592,
+ 0, 591, 0, 0, 0, 0, 579, 428, 0, 77,
+ 583, 579, 605, 0, 379, 380, 0, 76, 428, 384,
+ 383, 385, 378, 398, 415, 414, 178, 497, 501, 499,
+ 0, 829, 504, 506, 0, 396, 428, 579, 94, 0,
+ 0, 0, 0, 579, 100, 580, 613, 637, 667, 171,
+ 0, 0, 866, 871, 395, 579, 579, 0, 579, 876,
+ 178, 0, 0, 0, 222, 0, 0, 224, 237, 238,
+ 0, 0, 0, 0, 0, 276, 221, 218, 217, 219,
+ 0, 0, 0, 0, 0, 305, 0, 0, 0, 216,
+ 176, 177, 299, 0, 220, 0, 0, 250, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
- 0, 317, 319, 320, 358, 357, 0, 0, 240, 240,
- 0, 226, 577, 0, 234, 355, 347, 0, 0, 829,
- 336, 339, 340, 0, 0, 367, 685, 681, 690, 0,
- 583, 579, 579, 579, 369, 688, 0, 635, 371, 0,
- 0, 370, 335, 0, 330, 349, 331, 351, 632, 0,
- 332, 175, 175, 0, 165, 0, 393, 163, 574, 484,
- 572, 471, 0, 0, 402, 0, 0, 403, 404, 405,
- 441, 442, 443, 440, 0, 433, 436, 0, 3, 0,
- 651, 178, 654, 0, 41, 42, 0, 53, 0, 0,
- 57, 61, 50, 828, 823, 0, 372, 393, 53, 373,
- 827, 59, 168, 153, 151, 168, 175, 300, 616, 615,
- 304, 0, 619, 0, 18, 20, 89, 9, 9, 73,
- 72, 0, 128, 356, 0, 712, 91, 710, 452, 0,
- 448, 447, 214, 0, 213, 584, 623, 0, 805, 0,
- 800, 393, 0, 799, 801, 830, 812, 0, 0, 621,
- 590, 589, 0, 0, 604, 0, 423, 422, 410, 603,
- 0, 832, 593, 381, 412, 424, 428, 0, 497, 510,
- 579, 798, 546, 539, 551, 540, 428, 428, 536, 537,
- 534, 535, 579, 798, 281, 636, 0, 415, 117, 542,
- 552, 557, 558, 415, 415, 0, 0, 415, 115, 543,
- 555, 415, 0, 428, 0, 531, 532, 533, 428, 426,
- 832, 798, 178, 178, 641, 178, 832, 798, 579, 97,
- 579, 103, 875, 874, 838, 838, 838, 0, 0, 0,
- 0, 635, 0, 0, 0, 0, 393, 0, 0, 0,
- 311, 0, 309, 310, 0, 247, 181, 281, 636, 637,
- 282, 283, 0, 0, 453, 482, 0, 274, 273, 790,
- 789, 0, 271, 270, 268, 269, 267, 266, 265, 262,
- 263, 264, 260, 261, 255, 256, 257, 258, 259, 253,
- 254, 0, 0, 0, 0, 0, 240, 228, 244, 0,
- 0, 227, 579, 579, 0, 579, 576, 675, 0, 0,
- 0, 0, 0, 338, 0, 342, 0, 344, 0, 684,
- 683, 680, 679, 828, 0, 0, 699, 0, 0, 832,
- 368, 832, 686, 579, 798, 583, 685, 681, 0, 0,
- 579, 0, 392, 0, 0, 0, 0, 170, 174, 285,
- 168, 161, 159, 168, 0, 485, 0, 484, 212, 211,
- 210, 209, 435, 0, 0, 24, 0, 0, 655, 0,
- 38, 44, 43, 55, 52, 53, 0, 48, 0, 0,
- 685, 681, 0, 819, 579, 822, 824, 0, 820, 821,
- 54, 492, 0, 158, 168, 168, 156, 169, 298, 17,
- 19, 69, 89, 416, 145, 636, 637, 133, 146, 147,
- 0, 126, 129, 0, 638, 0, 0, 0, 0, 711,
- 705, 449, 0, 124, 588, 585, 804, 818, 807, 0,
- 586, 803, 817, 806, 802, 831, 814, 825, 815, 808,
- 813, 834, 0, 420, 602, 601, 419, 175, 829, 0,
- 829, 511, 512, 514, 829, 517, 516, 832, 0, 541,
- 446, 446, 832, 0, 0, 0, 428, 428, 0, 428,
- 428, 0, 428, 0, 529, 478, 0, 446, 96, 0,
- 0, 0, 0, 102, 0, 832, 798, 832, 798, 840,
- 839, 841, 286, 322, 223, 225, 328, 329, 0, 0,
- 0, 0, 310, 313, 0, 0, 0, 0, 248, 0,
- 314, 316, 318, 0, 0, 0, 0, 229, 246, 0,
- 0, 672, 670, 0, 673, 583, 235, 0, 0, 178,
- 345, 0, 0, 0, 682, 678, 689, 579, 698, 696,
- 697, 687, 832, 0, 694, 0, 633, 634, 0, 334,
- 166, 168, 168, 164, 575, 573, 473, 0, 434, 432,
- 281, 0, 22, 30, 662, 56, 51, 58, 62, 684,
- 680, 685, 681, 0, 595, 0, 579, 686, 60, 154,
- 152, 68, 0, 131, 0, 135, 0, 137, 0, 139,
- 0, 765, 0, 202, 713, 0, 706, 707, 0, 450,
- 685, 681, 0, 305, 0, 631, 826, 0, 0, 835,
- 836, 0, 0, 417, 173, 521, 0, 520, 829, 829,
- 829, 0, 112, 579, 545, 549, 114, 579, 428, 428,
- 566, 446, 281, 636, 0, 553, 559, 560, 415, 415,
- 446, 446, 0, 446, 556, 466, 544, 579, 288, 287,
- 289, 579, 99, 0, 105, 0, 0, 0, 0, 0,
- 0, 456, 0, 454, 251, 272, 242, 241, 239, 230,
- 0, 243, 245, 671, 669, 676, 674, 0, 236, 0,
- 0, 337, 341, 343, 832, 692, 579, 693, 162, 160,
- 470, 0, 437, 439, 684, 680, 600, 686, 132, 130,
- 0, 0, 0, 0, 444, 0, 0, 281, 636, 637,
- 714, 727, 730, 733, 738, 0, 0, 0, 0, 0,
- 0, 0, 0, 282, 759, 767, 0, 786, 763, 762,
- 761, 0, 722, 0, 0, 393, 0, 701, 720, 726,
- 700, 721, 760, 0, 708, 451, 0, 634, 816, 810,
- 811, 809, 0, 833, 421, 0, 0, 0, 0, 523,
- 522, 515, 832, 832, 565, 562, 564, 0, 0, 428,
- 428, 428, 561, 563, 548, 0, 832, 832, 579, 579,
- 0, 0, 0, 0, 455, 0, 0, 231, 232, 677,
- 346, 287, 695, 832, 0, 134, 136, 138, 772, 766,
- 770, 0, 709, 704, 205, 779, 781, 782, 0, 0,
- 718, 0, 0, 0, 745, 747, 748, 749, 0, 0,
- 0, 0, 0, 0, 0, 780, 0, 364, 787, 0,
- 723, 362, 415, 0, 363, 0, 415, 0, 0, 0,
- 203, 703, 702, 724, 758, 757, 310, 837, 418, 518,
- 519, 513, 111, 113, 428, 428, 571, 446, 446, 468,
- 0, 467, 462, 95, 101, 832, 832, 324, 325, 326,
- 327, 457, 0, 233, 691, 438, 0, 771, 445, 194,
- 0, 715, 728, 717, 0, 0, 0, 0, 0, 741,
- 0, 750, 0, 756, 39, 144, 34, 144, 0, 35,
- 768, 0, 360, 361, 0, 0, 0, 359, 204, 718,
- 570, 568, 567, 569, 0, 0, 480, 98, 104, 578,
- 0, 773, 201, 0, 393, 0, 718, 0, 731, 719,
- 705, 784, 734, 0, 0, 0, 0, 746, 755, 40,
- 36, 0, 0, 725, 465, 464, 458, 86, 89, 0,
- 0, 0, 195, 415, 716, 206, 729, 208, 0, 785,
- 0, 783, 739, 743, 742, 769, 791, 0, 0, 463,
- 777, 778, 774, 428, 705, 192, 0, 0, 198, 0,
- 197, 718, 0, 0, 0, 792, 793, 751, 461, 0,
- 460, 0, 207, 0, 732, 735, 740, 744, 0, 791,
- 0, 0, 459, 199, 193, 0, 0, 0, 752, 794,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 315, 0, 317, 319, 320, 358, 357, 0, 0, 240,
+ 240, 0, 226, 577, 0, 234, 355, 347, 0, 0,
+ 829, 336, 339, 340, 0, 0, 367, 685, 681, 690,
+ 0, 583, 579, 579, 579, 369, 688, 0, 635, 371,
+ 0, 0, 370, 335, 0, 330, 349, 331, 351, 632,
+ 0, 332, 175, 175, 0, 165, 0, 393, 163, 574,
+ 485, 572, 471, 0, 0, 402, 0, 0, 403, 404,
+ 405, 441, 442, 443, 440, 0, 433, 436, 0, 3,
+ 0, 651, 178, 654, 0, 41, 42, 0, 53, 0,
+ 0, 57, 61, 50, 828, 823, 0, 372, 393, 53,
+ 373, 827, 59, 168, 153, 151, 168, 175, 300, 616,
+ 615, 304, 0, 619, 0, 18, 20, 89, 9, 9,
+ 73, 72, 0, 128, 356, 0, 712, 91, 710, 452,
+ 0, 448, 447, 214, 0, 213, 584, 623, 0, 805,
+ 0, 800, 393, 0, 799, 801, 830, 812, 0, 0,
+ 621, 590, 589, 0, 0, 604, 0, 423, 422, 410,
+ 603, 0, 832, 593, 381, 412, 424, 428, 0, 498,
+ 511, 547, 637, 0, 538, 0, 0, 550, 0, 121,
+ 116, 0, 171, 551, 554, 0, 0, 530, 0, 119,
+ 426, 832, 798, 178, 178, 641, 178, 832, 798, 579,
+ 97, 579, 103, 875, 874, 838, 838, 838, 0, 0,
+ 0, 0, 635, 0, 0, 0, 0, 393, 0, 0,
+ 0, 311, 0, 309, 310, 0, 247, 181, 281, 636,
+ 637, 282, 283, 0, 0, 453, 483, 0, 274, 273,
+ 790, 789, 0, 271, 270, 268, 269, 267, 266, 265,
+ 262, 263, 264, 260, 261, 255, 256, 257, 258, 259,
+ 253, 254, 0, 0, 0, 0, 0, 240, 228, 244,
+ 0, 0, 227, 579, 579, 0, 579, 576, 675, 0,
+ 0, 0, 0, 0, 338, 0, 342, 0, 344, 0,
+ 684, 683, 680, 679, 828, 0, 0, 699, 0, 0,
+ 832, 368, 832, 686, 579, 798, 583, 685, 681, 0,
+ 0, 579, 0, 392, 0, 0, 0, 0, 170, 174,
+ 285, 168, 161, 159, 168, 0, 486, 0, 485, 212,
+ 211, 210, 209, 435, 0, 0, 24, 0, 0, 655,
+ 0, 38, 44, 43, 55, 52, 53, 0, 48, 0,
+ 0, 685, 681, 0, 819, 579, 822, 824, 0, 820,
+ 821, 54, 493, 0, 158, 168, 168, 156, 169, 298,
+ 17, 19, 69, 89, 416, 145, 636, 637, 133, 146,
+ 147, 0, 126, 129, 0, 638, 0, 0, 0, 0,
+ 711, 705, 449, 0, 124, 588, 585, 804, 818, 807,
+ 0, 586, 803, 817, 806, 802, 831, 814, 825, 815,
+ 808, 813, 834, 0, 420, 602, 601, 419, 175, 829,
+ 0, 829, 512, 513, 515, 829, 518, 517, 579, 798,
+ 546, 539, 551, 540, 428, 428, 536, 537, 534, 535,
+ 579, 798, 281, 636, 0, 415, 117, 542, 552, 557,
+ 558, 415, 415, 0, 0, 415, 115, 543, 555, 415,
+ 0, 428, 0, 531, 532, 533, 428, 96, 0, 0,
+ 0, 0, 102, 0, 832, 798, 832, 798, 840, 839,
+ 841, 286, 322, 223, 225, 328, 329, 0, 0, 0,
+ 0, 310, 313, 0, 0, 0, 0, 248, 0, 314,
+ 316, 318, 0, 0, 0, 0, 229, 246, 0, 0,
+ 672, 670, 0, 673, 583, 235, 0, 0, 178, 345,
+ 0, 0, 0, 682, 678, 689, 579, 698, 696, 697,
+ 687, 832, 0, 694, 0, 633, 634, 0, 334, 166,
+ 168, 168, 164, 575, 573, 473, 0, 434, 432, 281,
+ 0, 22, 30, 662, 56, 51, 58, 62, 684, 680,
+ 685, 681, 0, 595, 0, 579, 686, 60, 154, 152,
+ 68, 0, 131, 0, 135, 0, 137, 0, 139, 0,
+ 765, 0, 202, 713, 0, 706, 707, 0, 450, 685,
+ 681, 0, 305, 0, 631, 826, 0, 0, 835, 836,
+ 0, 0, 417, 173, 522, 0, 521, 829, 829, 829,
+ 0, 832, 0, 541, 446, 446, 832, 0, 0, 0,
+ 428, 428, 0, 428, 428, 0, 428, 0, 529, 479,
+ 0, 446, 579, 288, 287, 289, 579, 99, 0, 105,
+ 0, 0, 0, 0, 0, 0, 456, 0, 454, 251,
+ 272, 242, 241, 239, 230, 0, 243, 245, 671, 669,
+ 676, 674, 0, 236, 0, 0, 337, 341, 343, 832,
+ 692, 579, 693, 162, 160, 470, 0, 437, 439, 684,
+ 680, 600, 686, 132, 130, 0, 0, 0, 0, 444,
+ 0, 0, 281, 636, 637, 714, 727, 730, 733, 738,
+ 0, 0, 0, 0, 0, 0, 0, 0, 282, 759,
+ 767, 0, 786, 763, 762, 761, 0, 722, 0, 0,
+ 393, 0, 701, 720, 726, 700, 721, 760, 0, 708,
+ 451, 0, 634, 816, 810, 811, 809, 0, 833, 421,
+ 0, 0, 0, 0, 524, 523, 516, 112, 579, 545,
+ 549, 114, 579, 428, 428, 566, 446, 281, 636, 0,
+ 553, 559, 560, 415, 415, 446, 446, 0, 446, 556,
+ 466, 544, 832, 832, 579, 579, 0, 0, 0, 0,
+ 455, 0, 0, 231, 232, 677, 346, 287, 695, 832,
+ 0, 134, 136, 138, 772, 766, 770, 0, 709, 704,
+ 205, 779, 781, 782, 0, 0, 718, 0, 0, 0,
+ 745, 747, 748, 749, 0, 0, 0, 0, 0, 0,
+ 0, 780, 0, 364, 787, 0, 723, 362, 415, 0,
+ 363, 0, 415, 0, 0, 0, 203, 703, 702, 724,
+ 758, 757, 310, 837, 418, 519, 520, 514, 832, 832,
+ 565, 562, 564, 0, 0, 428, 428, 428, 561, 563,
+ 548, 0, 95, 101, 832, 832, 324, 325, 326, 327,
+ 457, 0, 233, 691, 438, 0, 771, 445, 194, 0,
+ 715, 728, 717, 0, 0, 0, 0, 0, 741, 0,
+ 750, 0, 756, 39, 144, 34, 144, 0, 35, 768,
+ 0, 360, 361, 0, 0, 0, 359, 204, 718, 111,
+ 113, 428, 428, 571, 446, 446, 468, 0, 467, 462,
+ 98, 104, 578, 0, 773, 201, 0, 393, 0, 718,
+ 0, 731, 719, 705, 784, 734, 0, 0, 0, 0,
+ 746, 755, 40, 36, 0, 0, 725, 570, 568, 567,
+ 569, 0, 0, 481, 0, 0, 0, 195, 415, 716,
+ 206, 729, 208, 0, 785, 0, 783, 739, 743, 742,
+ 769, 791, 0, 465, 464, 458, 86, 89, 777, 778,
+ 774, 428, 705, 192, 0, 0, 198, 0, 197, 718,
+ 0, 0, 0, 792, 793, 751, 0, 463, 0, 207,
+ 0, 732, 735, 740, 744, 0, 791, 0, 0, 461,
+ 0, 460, 199, 193, 0, 0, 0, 752, 794, 459,
0, 0, 795, 0, 0, 200, 736, 796, 0, 753,
0, 0, 0, 737, 797, 754, 0, 0, 0
};
static const short yydefgoto[] = { 1627,
- 436, 2, 437, 165, 726, 331, 181, 3, 4, 37,
- 689, 373, 1329, 690, 512, 1330, 1331, 393, 1424, 694,
- 41, 513, 402, 700, 974, 701, 702, 703, 43, 172,
- 173, 44, 455, 184, 180, 45, 46, 822, 1087, 828,
- 1089, 47, 515, 516, 185, 186, 456, 733, 1012, 1013,
- 669, 1014, 234, 48, 996, 995, 716, 713, 1153, 1152,
- 954, 951, 136, 994, 49, 236, 50, 948, 582, 332,
- 333, 334, 335, 1332, 1578, 1482, 1580, 1524, 1611, 1195,
- 1557, 1575, 367, 940, 336, 1270, 895, 621, 902, 337,
- 338, 368, 340, 358, 52, 255, 695, 418, 154, 53,
- 54, 341, 577, 342, 343, 344, 345, 457, 346, 1333,
- 496, 643, 347, 1334, 56, 217, 706, 348, 218, 555,
- 219, 197, 210, 60, 479, 497, 1356, 767, 1213, 198,
- 211, 61, 526, 768, 62, 63, 685, 686, 687, 1306,
- 462, 865, 866, 1548, 1549, 1517, 1462, 1376, 64, 673,
- 361, 1246, 1463, 1108, 957, 65, 66, 67, 68, 69,
- 242, 243, 70, 71, 504, 1052, 1053, 1054, 1055, 245,
- 520, 815, 521, 522, 523, 800, 810, 801, 1236, 802,
- 803, 1237, 1238, 670, 671, 622, 930, 350, 465, 466,
+ 435, 2, 436, 165, 707, 330, 181, 3, 4, 37,
+ 670, 372, 1304, 671, 768, 1305, 1306, 392, 1410, 675,
+ 41, 769, 401, 681, 935, 682, 683, 684, 43, 172,
+ 173, 44, 454, 184, 180, 45, 46, 783, 1066, 789,
+ 1068, 47, 771, 772, 185, 186, 455, 714, 973, 974,
+ 650, 975, 234, 48, 957, 956, 697, 694, 1132, 1131,
+ 915, 912, 136, 955, 49, 236, 50, 909, 563, 331,
+ 332, 333, 334, 1307, 1576, 1471, 1578, 1517, 1611, 1174,
+ 1552, 1573, 366, 901, 335, 1245, 856, 602, 863, 336,
+ 337, 367, 339, 357, 52, 254, 676, 417, 154, 53,
+ 54, 340, 558, 341, 342, 343, 344, 456, 345, 1308,
+ 495, 624, 346, 1309, 56, 217, 687, 347, 218, 536,
+ 219, 197, 210, 60, 478, 496, 1331, 748, 1192, 198,
+ 211, 61, 507, 749, 62, 63, 666, 667, 668, 1281,
+ 461, 826, 827, 1567, 1568, 1544, 1509, 1452, 64, 654,
+ 360, 505, 1361, 1510, 1087, 918, 65, 66, 67, 68,
+ 69, 242, 243, 70, 71, 503, 1013, 1014, 1015, 1016,
+ 776, 1053, 777, 778, 779, 1038, 1048, 1039, 1351, 1040,
+ 1041, 1352, 1353, 651, 652, 603, 891, 349, 464, 465,
191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
- 132, 351, 352, 353, 79, 354, 81, 1057, 123, 124,
- 125, 531, 105, 82, 355, 907, 908, 925, 646, 1337,
- 1338, 1196, 1197, 1198, 737, 1339, 1021, 1340, 1409, 1527,
- 1485, 1486, 1341, 1342, 1510, 1410, 1528, 1411, 1559, 1412,
- 1561, 1606, 1621, 1413, 1582, 1537, 1583, 1491, 458, 734,
- 1304, 1343, 1427, 1542, 1400, 1401, 1477, 1552, 1526, 1522,
- 1344, 1533, 1430, 872, 1585, 1586, 1587, 1619, 753, 754,
- 1041, 1209, 1352, 755, 756, 757, 1037, 758, 148, 1039,
- 760, 1211, 1212, 549, 84, 85
+ 132, 350, 351, 352, 79, 353, 81, 1018, 123, 124,
+ 125, 512, 105, 82, 354, 868, 869, 886, 627, 1312,
+ 1313, 1175, 1176, 1177, 718, 1314, 982, 1315, 1395, 1520,
+ 1474, 1475, 1316, 1317, 1499, 1396, 1521, 1397, 1554, 1398,
+ 1556, 1605, 1621, 1399, 1580, 1530, 1581, 1480, 457, 715,
+ 1279, 1318, 1413, 1535, 1386, 1387, 1466, 1547, 1519, 1515,
+ 1319, 1526, 1416, 833, 1583, 1584, 1585, 1619, 734, 735,
+ 1002, 1188, 1327, 736, 737, 738, 998, 739, 148, 1000,
+ 741, 1190, 1191, 530, 84, 85
};
-static const short yypact[] = { 136,
- 169,-32768,-32768, 5066,-32768, 203, 163, 73, 77, 190,
- 291,-32768,-32768, 1458,-32768, 259, 264, 279,-32768,-32768,
--32768, 871, 2044, 1374, 330,-32768, 336, 320,-32768, 1976,
- 1976,-32768, 2798,-32768, 5066, 351,-32768,-32768, 355,-32768,
- 51, 3166,-32768,-32768, 344, 824, 443, 463, 483,-32768,
--32768,-32768,-32768, 324, 5213,-32768, 5421,-32768, 2205, 804,
--32768, 456,-32768,-32768, 1137, 623,-32768,-32768,-32768,-32768,
- 435, 3747,-32768,-32768,-32768, 198,-32768,-32768,-32768, 906,
--32768,-32768, 1174, 8340, 481,-32768,-32768, 10037,-32768, 10037,
--32768, 10037,-32768,-32768,-32768, 73, 77, 336, 510, 472,
- 539, 483,-32768, 1000,-32768, 1174, 10123, 10123, 509,-32768,
--32768,-32768,-32768,-32768, 234, 550, 474, 541, 767, 554,
- 564,-32768,-32768, 1006,-32768, 305, 73, 77,-32768, 336,
- 510,-32768, 2508, 1031, 545, 5547, 10037,-32768, 10037, 4171,
- 2952,-32768,-32768, 1311, 1265, 2952,-32768, 664, 3604, 3604,
- 2798, 517, 538,-32768, 559, 876, 562, 592,-32768,-32768,
- 700,-32768, 630,-32768, 3999,-32768,-32768, 330, 3843, 643,
--32768,-32768,-32768, 344, 6652, 6133, 836, 690,-32768,-32768,
- 684, 456, 778, 176, 458, 728,-32768,-32768, 691, 69,
--32768,-32768, 3940, 3940, 6529, 198, 864,-32768,-32768, 546,
--32768,-32768, 1679,-32768,-32768,-32768,-32768,-32768, 2205, 883,
--32768, 456, 198,-32768,-32768,-32768, 2251, 2205,-32768, 456,
--32768, 6652,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 749,-32768, 483,-32768, 456, 2169, 910,-32768,
--32768, 766, 766,-32768, 4696,-32768, 715, 1174,-32768, 784,
- 1757,-32768, 366,-32768,-32768,-32768,-32768,-32768, 4100,-32768,
--32768, 769,-32768, 740, 758,-32768,-32768,-32768,-32768, 781,
+static const short yypact[] = { 109,
+ 134,-32768,-32768, 4885,-32768, 42, 50, 73, 331, 142,
+ 271,-32768,-32768, 1327,-32768, 270, 277, 309,-32768,-32768,
+-32768, 1510, 1154, 1165, 343,-32768, 369, 372,-32768, 2239,
+ 2239,-32768, 2031,-32768, 4885, 361,-32768,-32768, 315,-32768,
+ 84, 5387,-32768,-32768, 384, 924, 493, 401, 467,-32768,
+-32768,-32768,-32768, 510, 3805,-32768, 4032,-32768, 862, 246,
+-32768, 525,-32768,-32768, 1990, 769,-32768,-32768,-32768,-32768,
+ 528, 3436,-32768,-32768,-32768, 1345,-32768,-32768,-32768, 644,
+-32768,-32768, 214, 6209, 540,-32768,-32768, 9588,-32768, 9588,
+-32768, 9588,-32768,-32768,-32768, 73, 331, 369, 573, 490,
+ 594, 467,-32768, 334,-32768, 214, 9674, 9674, 561,-32768,
+-32768,-32768,-32768,-32768, 599, 607, 413, 441, 451, 616,
+ 621,-32768,-32768, 1360,-32768, 632, 73, 331,-32768, 369,
+ 573,-32768, 3078, 1248, 602, 10763, 9588,-32768, 9588, 3145,
+ 2789,-32768,-32768, 1580, 603, 2789,-32768, 1199, 2798, 2798,
+ 2031, 570, 619,-32768, 640, 392, 653, 669,-32768,-32768,
+ 726,-32768, 643,-32768, 10522,-32768,-32768, 343, 6171, 688,
+-32768,-32768,-32768, 384, 5433, 10818, 422, 745,-32768,-32768,
+ 718, 525, 825, 92, 287, 770,-32768,-32768, 723, 154,
+-32768,-32768, 3340, 3340, 3908, 1345, 580,-32768,-32768, 637,
+-32768,-32768, 1772,-32768,-32768,-32768,-32768,-32768, 862, 660,
+-32768, 525, 1345,-32768,-32768,-32768, 1432, 862,-32768, 525,
+-32768, 5433,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768, 774,-32768, 467,-32768, 525, 1901, 1725,-32768,
+-32768, 793, 793,-32768,-32768, 1264, 214,-32768, 579, 625,
+-32768, 301,-32768,-32768,-32768,-32768,-32768, 3593,-32768,-32768,
+ 195,-32768, 773, 783,-32768,-32768,-32768,-32768, 801,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 755,-32768,-32768, 715, 3747, 1632,-32768,-32768,
- 776,-32768,-32768, 10731, 10817, 10903, 10903,-32768,-32768,-32768,
--32768,-32768, 780, 786, 797, 825, 832, 1025, 510, 10209,
- 1357, 10903,-32768,-32768, 10903,-32768,-32768, 10903, 7539,-32768,
- 10903, 65, 849,-32768, 10903,-32768, 10295,-32768, 11119, 426,
- 1563, 3740, 10381,-32768, 919, 2567,-32768, 1700, 2285, 3286,
--32768, 431,-32768, 3387, 1998, 65, 65, 10037, 5547,-32768,
- 1357, 827, 1357,-32768,-32768, 826, 879, 11052, 837, 842,
- 857, 1966, 630,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 550, 474, 541, 1357, 767, 554, 881, 564,-32768,
- 914,-32768, 270, 73, 77,-32768,-32768,-32768,-32768,-32768,
--32768, 6834,-32768, 6652, 6645, 723,-32768, 65, 301,-32768,
--32768, 811,-32768, 897, 903,-32768,-32768,-32768, 2952,-32768,
--32768, 2952,-32768, 873,-32768,-32768,-32768, 876, 876, 876,
--32768,-32768,-32768, 4100, 103, 875, 884,-32768,-32768,-32768,
--32768, 5547,-32768, 900, 963,-32768,-32768, 700,-32768, 456,
--32768,-32768,-32768,-32768, 165,-32768,-32768,-32768,-32768, 8091,
- 10209,-32768,-32768,-32768, 10209, 877,-32768, 5311, 240, 4742,
--32768, 4742,-32768, 5059, 5059, 6529, 882,-32768, 456, 6652,
--32768, 891,-32768,-32768, 5849, 2251, 2205, 6652,-32768, 456,
--32768,-32768, 456, 2251,-32768, 981,-32768, 10037, 749,-32768,
--32768, 2169,-32768,-32768,-32768,-32768, 807, 385,-32768, 10209,
- 1836,-32768, 1836, 219, 219, 220, 433, 3033, 4527, 108,
- 4879,-32768, 274, 219, 715, 456,-32768,-32768, 941, 944,
- 971, 955,-32768,-32768,-32768,-32768, 847,-32768, 439, 921,
- 927,-32768,-32768, 715,-32768,-32768, 1100,-32768,-32768, 10037,
- 10209, 776, 7539,-32768, 451, 7539,-32768,-32768,-32768, 10123,
- 4970, 4970, 4970, 4970, 11097,-32768,-32768,-32768,-32768, 934,
- 10473, 10473, 7539, 937, 437, 939, 991, 947,-32768,-32768,
--32768,-32768, 10037,-32768, 7630, 7539,-32768, 10209, 10209, 5654,
- 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,
- 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,-32768,
- 10209,-32768,-32768,-32768,-32768,-32768, 10209, 10209,-32768,-32768,
- 339, 651, 1120, 8700,-32768,-32768,-32768, 998, 1757, 1053,
- 469, 482, 581, 3585, 1265,-32768, 1659, 1659,-32768, 3502,
- 960, 982, 1043,-32768,-32768, 590, 9320, 1173,-32768, 1103,
- 1174,-32768,-32768, 10209,-32768,-32768,-32768,-32768,-32768, 90,
- 481,-32768,-32768, 65,-32768, 6652, 1444,-32768, 1014, 1034,
--32768,-32768, 1357, 881,-32768, 8432, 8523,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 278,-32768, 1016, 1020, 630, 270,
- 1062, 10037,-32768, 1073,-32768,-32768, 1031, 2198, 1102, 71,
- 1079, 1083,-32768,-32768, 2306, 6133, 2306, 2152, 1137, 4350,
--32768, 1094,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 1046, 1054,-32768, 1107,-32768,-32768, 344,-32768,-32768,-32768,
--32768, 104, 1493, 1101, 991,-32768,-32768,-32768,-32768, 7429,
- 11097,-32768, 879, 1064, 11052,-32768,-32768, 1067,-32768, 1089,
- 93, 3406, 1095,-32768, 571, 5919, 1140, 1145, 649,-32768,
--32768,-32768, 4742, 4742,-32768, 5849,-32768, 1157,-32768,-32768,
- 1111, 240,-32768, 2251,-32768,-32768, 456, 1109,-32768, 2385,
--32768, 7162, 11097,-32768, 5202,-32768, 456, 456,-32768,-32768,
--32768,-32768,-32768, 7162, 174, 966, 10209, 981,-32768, 1166,
--32768,-32768,-32768, 485, 580, 906, 1265, 587, 219, 1177,
--32768, 676, 1161, 456, 8768,-32768,-32768,-32768, 456,-32768,
- 240, 7162, 10037, 10037,-32768, 10037, 240, 7162,-32768,-32768,
--32768,-32768,-32768,-32768, 1688, 1688, 1688, 65, 1136, 1143,
- 9688, 1043, 1147, 1149, 1152, 1170, 2853, 1186, 1189, 1190,
--32768, 1167,-32768,-32768, 1168,-32768,-32768, 1211, 996, 1060,
- 557, 601, 10209, 1217,-32768, 1232, 1191, 11097, 11097,-32768,
--32768, 1235, 5746, 6217, 6158, 4780, 2387, 5364, 4442, 2354,
- 2354, 2354, 1205, 1205, 1512, 1512, 1028, 1028, 1028,-32768,
--32768, 1192, 1194, 1183, 10209, 10123,-32768, 651,-32768, 8091,
- 10209,-32768,-32768,-32768, 10209,-32768,-32768, 1204, 10903, 1199,
- 1215, 1231, 1264,-32768, 10209,-32768, 10209,-32768, 10209, 2925,
--32768, 2925,-32768, 228, 1216, 1218,-32768, 1214, 4970, 240,
--32768, 240, 3053,-32768, 7162, 1219, 9504, 9504, 6451, 1220,
- 10295, 1221, 876, 2159, 1998, 1368, 1224,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 10209, 1357, 1225, 1034,-32768, 11097,
--32768, 11097, 1966, 1227, 10559,-32768, 1233, 1253,-32768, 65,
--32768,-32768,-32768,-32768,-32768, 1852, 6834,-32768, 4970, 10037,
- 1202, 1202, 4282,-32768,-32768,-32768,-32768, 1679,-32768,-32768,
--32768, 1188, 10209,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 344,-32768, 550, 474, 541,-32768, 767, 554,
- 10209, 1285,-32768, 672, 564, 702, 706, 1806, 991,-32768,
- 96,-32768, 171,-32768,-32768,-32768,-32768,-32768,-32768, 9412,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 1145, 1283,-32768,
--32768,-32768, 4970,-32768,-32768,-32768, 1284,-32768,-32768, 1257,
--32768, 1294,-32768,-32768, 298,-32768,-32768, 240, 1249,-32768,
- 1305, 1305, 240, 1262, 10209, 10209, 7076, 456, 4960, 456,
- 456, 1524, 456, 6356,-32768,-32768, 8838, 1305,-32768, 1266,
- 65, 65, 65,-32768, 1267, 240, 7162, 240, 7162,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1289, 1290,
- 1291, 1293, 1046,-32768, 10985, 8091, 7724, 1280,-32768, 10209,
--32768,-32768,-32768, 1281, 1287, 1295, 4970,-32768,-32768, 1298,
- 569, 1012, 1012, 1296, 1012,-32768,-32768, 10903, 1384, 10037,
--32768, 1309, 1313, 1319,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 240, 1326,-32768, 1325,-32768,-32768, 2768,-32768,
--32768,-32768,-32768,-32768, 11097,-32768,-32768, 1292,-32768,-32768,
- 292, 1330,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2497,
- 2497, 2557, 2557, 4282,-32768, 1679,-32768, 3088, 11119,-32768,
--32768,-32768, 1331,-32768, 1493,-32768, 10209,-32768, 10209,-32768,
- 10209,-32768, 1357,-32768,-32768, 7026, 1413,-32768, 7815,-32768,
- 9596, 9596, 7226, 173, 1339, 209,-32768, 8091, 7906,-32768,
--32768, 311, 8091,-32768,-32768,-32768, 10123,-32768,-32768,-32768,
--32768, 1848,-32768,-32768,-32768,-32768,-32768,-32768, 7076, 7076,
--32768, 1305, 585, 1127, 10209,-32768,-32768,-32768, 981, 981,
- 1305, 1305, 847, 1305,-32768,-32768,-32768,-32768,-32768, 1395,
--32768,-32768,-32768, 1342,-32768, 1346, 10209, 10209, 10209, 10209,
- 8091,-32768, 1393,-32768,-32768, 11097,-32768,-32768,-32768, 60,
- 1295,-32768,-32768,-32768,-32768,-32768,-32768, 1348,-32768, 1421,
- 65,-32768,-32768,-32768, 240,-32768,-32768,-32768,-32768,-32768,
--32768, 10209,-32768,-32768, 2497, 2497,-32768, 3088,-32768,-32768,
- 1352, 1362, 1363, 1380,-32768, 1036, 321, 1407, 1164, 1165,
--32768,-32768,-32768,-32768,-32768, 10209, 1416, 1419, 1425, 9774,
- 653, 1357, 496, 693,-32768,-32768, 9865, 1477,-32768,-32768,
--32768, 1430,-32768, 6551, 6039, 4418, 6895,-32768,-32768, 1475,
--32768,-32768,-32768, 8931,-32768,-32768, 1386, 1373,-32768,-32768,
--32768,-32768, 4970,-32768,-32768, 8091, 1391, 1399, 2385,-32768,
--32768,-32768, 240, 240,-32768,-32768,-32768, 10209, 10209, 7076,
- 456, 456,-32768,-32768,-32768, 6712, 240, 240,-32768,-32768,
- 1400, 1401, 1405, 1410,-32768, 8091, 10209,-32768, 60,-32768,
--32768,-32768,-32768, 240, 1415,-32768,-32768,-32768,-32768, 1380,
--32768, 1357,-32768,-32768,-32768,-32768,-32768,-32768, 711, 711,
- 991, 1432, 1433, 6200,-32768,-32768,-32768,-32768, 1467, 10209,
- 1472, 1428, 1480, 1927, 1987,-32768, 991,-32768,-32768, 1451,
--32768,-32768, 981, 1061,-32768, 1076, 981, 9951, 1090, 322,
--32768,-32768,-32768,-32768,-32768,-32768, 364,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 7076, 7076,-32768, 1305, 1305,-32768,
- 8614,-32768,-32768,-32768,-32768, 240, 240,-32768,-32768,-32768,
--32768,-32768, 1434,-32768,-32768,-32768, 1459,-32768,-32768,-32768,
- 10123,-32768,-32768,-32768, 1538, 9227, 7336, 10123, 10209,-32768,
- 9039,-32768, 1496,-32768,-32768, 1504,-32768, 1480, 1927,-32768,
--32768, 700,-32768,-32768, 10645, 10645, 8000,-32768,-32768, 991,
--32768,-32768,-32768,-32768, 1452, 11007, 1463,-32768,-32768,-32768,
- 10990,-32768,-32768, 1455, 398, 6652, 991, 9133,-32768,-32768,
- 96,-32768,-32768, 1507, 1460, 11075, 9039,-32768,-32768,-32768,
--32768, 1380, 76,-32768,-32768,-32768,-32768, 443, 344, 1462,
- 1466, 991,-32768, 981,-32768,-32768,-32768,-32768, 714,-32768,
- 8182,-32768,-32768,-32768,-32768, 1380, 1566, 1522, 177,-32768,
--32768,-32768,-32768, 456, 96,-32768, 10209, 1523,-32768, 1529,
--32768, 991, 9039, 1491, 63, 1531,-32768,-32768,-32768, 165,
--32768, 1534,-32768, 1494,-32768,-32768,-32768,-32768, 10209, 1566,
- 1539, 1566,-32768,-32768,-32768, 8273, 1500, 572,-32768,-32768,
- 8091, 1501,-32768, 1577, 1553,-32768,-32768,-32768, 332,-32768,
- 9133, 1603, 1559,-32768,-32768,-32768, 1621, 1622,-32768
+-32768, 768,-32768,-32768, 1264, 3436, 1127,-32768,-32768, 798,
+-32768,-32768, 10282, 10368, 10454, 10454,-32768,-32768,-32768,-32768,
+-32768, 806, 843, 861, 886, 889, 1274, 573, 9760, 1748,
+ 10454,-32768,-32768, 10454,-32768,-32768, 10454, 7137,-32768, 10454,
+ 470, 855,-32768, 10454,-32768, 9846,-32768, 11114, 354, 1918,
+ 5474, 9932,-32768, 962, 1226,-32768, 694, 5865, 5704,-32768,
+ 357,-32768, 3224, 1609, 470, 470, 9588, 10763,-32768, 1748,
+ 872, 1748,-32768,-32768, 877, 937, 6534, 890, 903, 916,
+ 1834, 643,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 607, 413, 441, 1748, 451, 616, 943, 621,-32768, 971,
+-32768, 311, 73, 331,-32768,-32768,-32768,-32768,-32768,-32768,
+ 10927,-32768, 5433, 11007, 2304,-32768, 470, 986,-32768,-32768,
+ 554,-32768, 953, 961,-32768,-32768,-32768, 2789,-32768,-32768,
+ 2789,-32768, 933,-32768,-32768,-32768, 392, 392, 392,-32768,
+-32768,-32768, 3593, 66, 935, 939,-32768,-32768,-32768,-32768,
+ 10763,-32768, 687, 778,-32768,-32768, 726,-32768, 525,-32768,
+-32768,-32768,-32768, 117,-32768,-32768,-32768,-32768, 7689, 9760,
+-32768,-32768,-32768, 9760, 940,-32768, 7046, 132, 4140,-32768,
+ 4140,-32768, 4757, 4757, 3908, 946,-32768, 525, 5433,-32768,
+ 948,-32768,-32768, 5008, 1432, 862, 5433,-32768, 525,-32768,
+-32768, 525, 1432,-32768, 1045,-32768, 9588, 774,-32768,-32768,
+ 1901,-32768,-32768,-32768, 3498, 1264, 525,-32768,-32768, 1001,
+ 1003, 1024, 1007,-32768,-32768,-32768,-32768, 742,-32768, 363,
+ 979, 985,-32768,-32768, 1264,-32768,-32768, 817,-32768,-32768,
+ 9588, 9760, 798, 7137,-32768, 436, 7137,-32768,-32768,-32768,
+ 9674, 6081, 6081, 6081, 6081, 11092,-32768,-32768,-32768,-32768,
+ 977, 10024, 10024, 7137, 990, 59, 991, 1044, 996,-32768,
+-32768,-32768,-32768, 9588,-32768, 7228, 7137,-32768, 9760, 9760,
+ 7780, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760,
+ 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760,
+-32768, 9760,-32768,-32768,-32768,-32768,-32768, 9760, 9760,-32768,
+-32768, 4521, 430, 454, 8321,-32768,-32768,-32768, 1049, 625,
+ 1098, 502, 565, 574, 3291, 603,-32768, 1364, 1364,-32768,
+ 3759, 1000, 1028, 1079,-32768,-32768, 725, 8871, 380,-32768,
+ 896, 214,-32768,-32768, 9760,-32768,-32768,-32768,-32768,-32768,
+ 243, 540,-32768,-32768, 470,-32768, 5433, 2388,-32768, 1064,
+ 1070,-32768,-32768, 1748, 943,-32768, 8053, 8144,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768, 49,-32768, 1037, 1025, 643,
+ 311, 1082, 9588,-32768, 1083,-32768,-32768, 1248, 1649, 1103,
+ 63, 1081, 1088,-32768,-32768, 2867, 10818, 2867, 3084, 1990,
+ 5001,-32768, 1100,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 1054, 1057,-32768, 1113,-32768,-32768, 384,-32768,-32768,
+-32768,-32768, 70, 1053, 1115, 1044,-32768,-32768,-32768,-32768,
+ 5971, 11092,-32768, 937, 1072, 6534,-32768,-32768, 1078,-32768,
+ 1086, 199, 5100, 1087,-32768, 324, 10581, 1123, 1132, 615,
+-32768,-32768,-32768, 4140, 4140,-32768, 5008,-32768, 1136,-32768,
+-32768, 1095, 132,-32768, 1432,-32768,-32768, 525, 1138,-32768,
+ 1589,-32768, 766, 566,-32768, 9760, 4591,-32768, 4591, 175,
+ 175, 407, 618, 1653, 10636, 76, 4269,-32768, 121, 175,
+-32768, 132, 10940, 9588, 9588,-32768, 9588, 132, 10940,-32768,
+-32768,-32768,-32768,-32768,-32768, 753, 753, 753, 470, 1107,
+ 1110, 9239, 1079, 1116, 1118, 1120, 1150, 6074, 1158, 1160,
+ 1163,-32768, 1133,-32768,-32768, 1137,-32768,-32768, 1187, 295,
+ 859, 153, 57, 9760, 1188,-32768, 1201, 1156, 11092, 11092,
+-32768,-32768, 1200, 11132, 5299, 11045, 11147, 5771, 5810, 5228,
+ 3744, 3744, 3744, 1789, 1789, 1590, 1590, 60, 60, 60,
+-32768,-32768, 1171, 1176, 1155, 9760, 9674,-32768, 430,-32768,
+ 7689, 9760,-32768,-32768,-32768, 9760,-32768,-32768, 1191, 10454,
+ 1179, 1204, 1221, 1250,-32768, 9760,-32768, 9760,-32768, 9760,
+ 2159,-32768, 2159,-32768, 124, 1194, 1195,-32768, 1196, 6081,
+ 132,-32768, 132, 2743,-32768, 10940, 1202, 9055, 9055, 6858,
+ 1209, 9846, 1212, 392, 2599, 1609, 900, 1213,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768, 9760, 1748, 1190, 1070,-32768,
+ 11092,-32768, 11092, 1834, 1215, 10110,-32768, 1203, 1266,-32768,
+ 470,-32768,-32768,-32768,-32768,-32768, 1551, 10927,-32768, 6081,
+ 9588, 1765, 1765, 2979,-32768,-32768,-32768,-32768, 1772,-32768,
+-32768,-32768, 1009, 9760,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 384,-32768, 607, 413, 441,-32768, 451,
+ 616, 9760, 1251,-32768, 629, 621, 646, 689, 1794, 1044,
+-32768, 61,-32768, 55,-32768,-32768,-32768,-32768,-32768,-32768,
+ 8963,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1132, 1263,
+-32768,-32768,-32768, 6081,-32768,-32768,-32768, 1273,-32768,-32768,
+ 1235,-32768, 1280,-32768,-32768, 217,-32768,-32768,-32768, 10940,
+ 11092,-32768, 3610,-32768, 525, 525,-32768,-32768,-32768,-32768,
+-32768, 10940, 452, 885, 9760, 1045,-32768, 1281,-32768,-32768,
+-32768, 282, 680, 644, 603, 974, 175, 1285,-32768, 1117,
+ 1279, 525, 6339,-32768,-32768,-32768, 525,-32768, 1237, 470,
+ 470, 470,-32768, 1238, 132, 10940, 132, 10940,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1260, 1261, 1265,
+ 1268, 1054,-32768, 11002, 7689, 7322, 1257,-32768, 9760,-32768,
+-32768,-32768, 1262, 1267, 1272, 6081,-32768,-32768, 1278, 303,
+ 852, 852, 1276, 852,-32768,-32768, 10454, 1381, 9588,-32768,
+ 1283, 1288, 1290,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 132, 1294,-32768, 1292,-32768,-32768, 2997,-32768,-32768,
+-32768,-32768,-32768, 11092,-32768,-32768, 1297,-32768,-32768, 169,
+ 1305,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2320, 2320,
+ 2539, 2539, 2979,-32768, 1772,-32768, 2686, 11114,-32768,-32768,
+-32768, 1311,-32768, 1053,-32768, 9760,-32768, 9760,-32768, 9760,
+-32768, 1748,-32768,-32768, 6744, 1357,-32768, 7413,-32768, 9147,
+ 9147, 6952, 218, 1314, 423,-32768, 7689, 7504,-32768,-32768,
+ 213, 7689,-32768,-32768,-32768, 9674,-32768,-32768,-32768,-32768,
+ 1186, 132, 1318,-32768, 1363, 1363, 132, 1320, 9760, 9760,
+ 4789, 525, 4409, 525, 525, 973, 525, 5170,-32768,-32768,
+ 8389, 1363,-32768,-32768, 1375,-32768,-32768,-32768, 1324,-32768,
+ 1335, 9760, 9760, 9760, 9760, 7689,-32768, 1383,-32768,-32768,
+ 11092,-32768,-32768,-32768, 662, 1272,-32768,-32768,-32768,-32768,
+-32768,-32768, 1337,-32768, 1403, 470,-32768,-32768,-32768, 132,
+-32768,-32768,-32768,-32768,-32768,-32768, 9760,-32768,-32768, 2320,
+ 2320,-32768, 2686,-32768,-32768, 1344, 1347, 1354, 1369,-32768,
+ 835, 174, 1391, 908, 912,-32768,-32768,-32768,-32768,-32768,
+ 9760, 1405, 1409, 1410, 9325, 495, 1748, 884, 458,-32768,
+-32768, 9416, 1469,-32768,-32768,-32768, 1421,-32768, 5273, 10704,
+ 10873, 6621,-32768,-32768, 1468,-32768,-32768,-32768, 8482,-32768,
+-32768, 1378, 856,-32768,-32768,-32768,-32768, 6081,-32768,-32768,
+ 7689, 1379, 1380, 1589,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 4789, 4789,-32768, 1363, 523, 1093, 9760,
+-32768,-32768,-32768, 1045, 1045, 1363, 1363, 742, 1363,-32768,
+-32768,-32768, 132, 132,-32768,-32768, 1386, 1387, 1388, 1389,
+-32768, 7689, 9760,-32768, 662,-32768,-32768,-32768,-32768, 132,
+ 1393,-32768,-32768,-32768,-32768, 1369,-32768, 1748,-32768,-32768,
+-32768,-32768,-32768,-32768, 706, 706, 1044, 1398, 1413, 6390,
+-32768,-32768,-32768,-32768, 1447, 9760, 1449, 1448, 1457, 1971,
+ 2010,-32768, 1044,-32768,-32768, 1425,-32768,-32768, 1045, 871,
+-32768, 883, 1045, 9502, 909, 313,-32768,-32768,-32768,-32768,
+-32768,-32768, 497,-32768,-32768,-32768,-32768,-32768, 132, 132,
+-32768,-32768,-32768, 9760, 9760, 4789, 525, 525,-32768,-32768,
+-32768, 6483,-32768,-32768, 132, 132,-32768,-32768,-32768,-32768,
+-32768, 1408,-32768,-32768,-32768, 1428,-32768,-32768,-32768, 9674,
+-32768,-32768,-32768, 1508, 8778, 5575, 9674, 9760,-32768, 8590,
+-32768, 1467,-32768,-32768, 1478,-32768, 1457, 1971,-32768,-32768,
+ 726,-32768,-32768, 10196, 10196, 7598,-32768,-32768, 1044,-32768,
+-32768, 4789, 4789,-32768, 1363, 1363,-32768, 8235,-32768,-32768,
+-32768,-32768,-32768, 10994,-32768,-32768, 1427, 995, 5433, 1044,
+ 8684,-32768,-32768, 61,-32768,-32768, 1473, 1430, 11070, 8590,
+-32768,-32768,-32768,-32768, 1369, 104,-32768,-32768,-32768,-32768,
+-32768, 1434, 11024, 1442, 1435, 1438, 1044,-32768, 1045,-32768,
+-32768,-32768,-32768, 731,-32768, 7871,-32768,-32768,-32768,-32768,
+ 1369, 1531, 1490,-32768,-32768,-32768, 493, 384,-32768,-32768,
+-32768, 525, 61,-32768, 9760, 1491,-32768, 1497,-32768, 1044,
+ 8590, 1470, 746, 1502,-32768,-32768, 100,-32768, 1498,-32768,
+ 1456,-32768,-32768,-32768,-32768, 9760, 1531, 1514, 1531,-32768,
+ 117,-32768,-32768,-32768, 7962, 1480, 767,-32768,-32768,-32768,
+ 7689, 1487,-32768, 1565, 1521,-32768,-32768,-32768, 312,-32768,
+ 8684, 1586, 1543,-32768,-32768,-32768, 1605, 1606,-32768
};
static const short yypgoto[] = {-32768,
- 1624,-32768, -304, 1456, -364, 75, 2, 1623,-32768, 1593,
--32768,-32768, 315,-32768, 373,-32768, 507,-32768, 206, 942,
- 58, 24,-32768,-32768, -669,-32768,-32768, 657, 59, 1469,
- 1197, 1478, -719, 111, -173, 29, 55,-32768,-32768,-32768,
--32768,-32768, 1125,-32768,-32768,-32768,-32768,-32768,-32768, 466,
- 1903,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 1568, -526, 6178, 1422, -58, -599, -235, -44,
- 1533, -547,-32768, 388,-32768, 260,-32768, -1362,-32768, -1307,
- 52,-32768, 1442, 1361, -254, 403, -557,-32768, -868, 3479,
- -125, 1528, 4472, 1379, -332, -52, -76, 427, -140, -66,
- 135,-32768,-32768,-32768, -344,-32768, -159,-32768,-32768, -1236,
- -16, -329, 1934, 530, -150, -166, 78, 50, -206, -4,
- -145, -165, -171, 32, -11, 357,-32768, -257,-32768,-32768,
--32768,-32768,-32768, 734, 1247, -45,-32768, 716,-32768,-32768,
- -765, -399, 940,-32768,-32768,-32768,-32768,-32768, 218,-32768,
--32768,-32768,-32768,-32768, 729, -377,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 1447,-32768, 335, 473,-32768,-32768,
--32768,-32768, 885, -479,-32768,-32768,-32768,-32768,-32768,-32768,
- 1172,-32768, 624, 1030, 745, 1086, 2837, 14, 54, -461,
- 1510, 2756, -686,-32768, 13,-32768, 645, 20, -142, 271,
- -105, 5046, 1365,-32768, 5682, 2642, 1651, -19, -113,-32768,
- 1590, -54,-32768, 5135, 3513, -359,-32768, 1597,-32768,-32768,
- 381,-32768,-32768, 527, 138, -429,-32768,-32768,-32768,-32768,
- -1369,-32768, -1238, -1389,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 156,-32768,
--32768,-32768,-32768,-32768, 188, -1311,-32768,-32768, -51,-32768,
--32768,-32768,-32768, -1385, 140,-32768, 144,-32768, -606, -580,
- 710,-32768,-32768,-32768,-32768, -393,-32768, -390, -333,-32768,
- 1007, 397,-32768, 83,-32768, -232
+ 1618,-32768, -335, 1452, -377, -1, 10, 1621,-32768, 1595,
+-32768,-32768, 205,-32768, 232,-32768, 275,-32768, 221, 978,
+ 45, 7,-32768,-32768, -661,-32768,-32768, 704, 53, 1486,
+ 1220, 1499, -706, 111, -173, 4, 72,-32768,-32768,-32768,
+-32768,-32768, 892,-32768,-32768,-32768,-32768,-32768,-32768, 518,
+ 344,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768, 1593, -653, 5642, 1451, -65, -578, -210, 329,
+ 1554, -529,-32768, 583,-32768, 305,-32768, -1379,-32768, -1145,
+ 83,-32768, 2023, 910, -286, 456, -538,-32768, -811, 3215,
+ -101, 1343, 4049, 1414, -318, -60, -77, 1310, -137, -47,
+ 106,-32768,-32768,-32768, -333,-32768, -153,-32768,-32768, -1238,
+ -15, -346, 3891, 113, 1282, -158, 48, 23, -199, -4,
+ -163, -171, -169, -16, 24, -3,-32768, -220,-32768,-32768,
+-32768,-32768,-32768, 840, 1206, 54,-32768, 784,-32768,-32768,
+ -850, -443, 993,-32768,-32768,-32768,-32768,-32768, 81,-32768,
+-32768,-32768,-32768,-32768,-32768, 792, -362,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768, 1474,-32768, 385, 517,-32768,
+-32768,-32768, 667, -708,-32768,-32768,-32768,-32768,-32768,-32768,
+ 947,-32768, 503, 1077, 807, 1134, 2728, 95, 25, -459,
+ 1534, 1793, -689,-32768, 6,-32768, 941, 238, -58, 545,
+ -106, 4549, 1390,-32768, 5209, 2423, 1969, -11, -113,-32768,
+ 1613, -53,-32768, 4653, 3236, -112,-32768, 3011,-32768,-32768,
+ 432,-32768,-32768, 569, 141, -387,-32768,-32768,-32768,-32768,
+ -1389,-32768, -1234, -1400,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 160,-32768,
+-32768,-32768,-32768,-32768, 215, -1354,-32768,-32768, -41,-32768,
+-32768,-32768,-32768, -1402, 151,-32768, 157,-32768, -707, -598,
+ 762,-32768,-32768,-32768,-32768, -396,-32768, -395, -397,-32768,
+ 1243, 434,-32768, 46,-32768, -226
};
-#define YYLAST 11203
+#define YYLAST 11231
static const short yytable[] = { 59,
- 443, 435, 487, 122, 445, 36, 420, 423, 711, 444,
- 658, 712, 392, 256, 1019, 432, 224, 72, 532, 648,
- 771, 253, 657, 76, 709, 738, 103, 42, 400, 1118,
- 59, 784, 298, 786, 182, 857, 36, 59, 196, 991,
- 525, 816, 486, 141, 146, 356, 1016, 357, 72, 554,
- 557, 494, 209, 58, 76, 72, 398, 399, 42, 926,
- 742, 76, 896, 949, 249, 42, 926, 247, 688, 391,
- 174, 492, 495, 177, 201, 727, 213, 256, 35, 296,
- 397, 57, 587, 349, 58, 349, 626, 349, 1478, 544,
- 1428, 58, 408, 1056, 224, 260, 1530, 297, 1443, 170,
- 171, 1534, 349, 349, 1027, 1446, 899, 190, 163, 35,
- 224, 208, 57, 626, 626, 467, 169, 998, 364, 176,
- 662, 663, 661, 900, 1600, 1535, 89, 308, 1193, 977,
- 91, 406, 349, 295, 349, -1, 256, 1567, 1558, 580,
- 1544, 581, 544, 26, 813, 978, 90, 855, 164, 72,
- 92, 1028, 901, 1387, 1029, 407, -828, 1555, 196, 410,
- 59, 468, 419, 422, 59, 735, 224, 155, -2, 780,
- 1601, 209, 717, 718, 224, 1059, 452, 1589, 72, 928,
- 558, 559, 72, 1568, 76, 58, 517, 1064, 76, 997,
- 403, 224, 42, 440, 201, 213, 567, 174, 1581, 568,
- 177, 490, 569, 539, 1194, 579, 470, 472, 190, 584,
- 724, 1004, 1597, 405, 58, 1080, 814, 625, 58, -302,
- 1612, 1085, 736, 1560, 15, 842, 170, 171, -415, 1199,
- 208, 1558, 776, -356, -356, 1065, 88, 453, 453, 1027,
- 59, 201, 57, 169, 789, 15, 176, 88, 535, -415,
- 1532, 705, 1538, 190, 1478, -625, -415, -415, 72, 178,
- 260, -415, 86, 93, 524, -302, -302, 1593, 820, 632,
- 454, 454, 300, 394, 395, 10, 221, 790, -415, 1200,
- -295, 791, -415, 155, 155, 155, 1028, 696, 732, 1029,
- 623, 374, 247, 631, 58, 1225, 1226, 375, 1565, 514,
- 759, -625, -625, 158, 1220, 1020, 1166, 116, 117, 118,
- 21, 87, 1247, 664, 792, 658, -625, 705, 38, 511,
- 774, 976, 519, 26, 349, 27, 319, -415, 1144, 155,
- 691, 420, 423, 817, 1221, 856, 963, 296, 94, 1117,
- 492, 495, 8, 9, 1598, 247, 12, 13, 492, 38,
- 1292, 107, 14, 349, 667, 297, 108, 32, 926, 583,
- 119, 120, 711, 1002, 1003, 1038, 16, 260, 17, 1353,
- -583, 109, 72, 138, 20, 580, 39, 581, 668, 495,
- 1404, 1404, 818, 23, 967, 964, 178, 714, 127, 128,
- 1622, 295, 26, 139, 130, 131, 532, 708, 495, 1293,
- 209, 1388, 926, 135, 224, 215, 216, 39, 58, 137,
- -304, 14, 533, 665, 162, 710, -583, 189, 1354, 158,
- 158, 158, 648, 201, 1151, 699, 221, 1154, 950, 1405,
- 1509, 897, 1169, 20, 221, 221, 405, 59, 26, 1623,
- 130, 131, 23, 161, 636, 567, 568, 224, 1215, 926,
- 179, 707, 517, 778, 517, 72, -304, -304, 534, 153,
- 517, 76, 517, 752, 221, 158, 1367, 183, 1180, 1181,
- 729, -298, 610, 177, 1146, 1373, 1374, 653, 1375, 793,
- 1254, 710, 1256, 610, 777, 831, 18, 763, 764, 705,
- 841, 58, 244, 349, 366, 370, 705, 636, 1016, 201,
- 1119, 799, 787, 788, 459, 838, 59, 201, 59, -365,
- 40, 15, 819, 221, 209, 914, 59, 707, 611, 176,
- 1474, 460, 187, 654, 72, 794, 72, 377, 916, 611,
- 524, 832, 524, 55, 72, 1056, 188, 805, 812, 129,
- 524, 40, -365, 841, -295, 349, -365, 90, 349, 26,
- 461, 349, 1423, 1001, 299, 349, 847, 847, 847, 847,
- 58, 915, 58, 138, 55, 514, 221, 514, 349, 623,
- 58, 175, 798, 808, 917, 514, 421, 424, 349, -365,
- 360, 349, 1032, 711, 696, 511, 712, 511, 519, 1192,
- 519, 973, -583, 926, 378, 511, 362, 816, 519, 709,
- 658, 372, 1093, 376, -366, 705, 15, 380, 155, 155,
- 155, -120, 657, 15, 92, 636, 296, 381, -143, 401,
- 972, 153, 926, 221, -295, 1289, 1290, 918, 492, 1033,
- 137, 705, 1034, 1614, 297, 708, 934, -366, -583, 482,
- 544, -366, 752, 705, -120, 425, 1368, 970, -120, 952,
- 920, 922, 189, 710, 138, 95, 110, 111, 88, 178,
- 710, 841, -144, 260, 1278, 404, 95, 414, 415, 433,
- 295, 705, 1056, 919, -366, 147, 1273, 705, 122, 1615,
- 240, -120, 935, 936, 241, 201, 587, 349, 984, 707,
- 989, 990, 1513, 1514, 55, 1042, 707, 899, 175, -620,
- -118, 209, 15, 221, 221, 247, 1262, 1264, 112, 113,
- 303, 221, 661, 1017, 900, 1216, 574, 1218, 1186, 98,
- 113, 1222, 215, 216, 201, 987, 201, 201, 14, 214,
- 215, 216, 1420, -118, 1165, 990, 14, -118, -7, 256,
- 164, 1043, 221, 901, 158, 158, 158, 253, 1188, 447,
- 20, 708, 1190, 18, 1426, 576, 517, 1480, 20, 23,
- 1576, 221, 1274, 1275, 1187, 1277, 137, 23, 799, 710,
- -118, 201, 8, 537, 518, 1036, 448, 708, 1081, 1082,
- 451, 1083, 715, 1127, 705, 411, 1068, 463, 705, 708,
- 413, 842, 1070, 1071, 1189, 710, 1068, 1073, 1191, 1264,
- 1071, 464, 432, 1481, 805, 707, 1577, 710, 1349, 1351,
- 59, 567, 568, 1355, 127, 128, 363, 708, 349, 349,
- 379, 349, 498, 708, 130, 131, 705, 503, 72, 1182,
- 527, 707, 705, 540, 524, 710, 769, 91, 147, 798,
- 137, 710, 542, 707, 775, 1249, 1250, 1251, 538, 1590,
- 15, 541, 746, 781, -415, 421, 722, 92, 363, 561,
- 91, 1385, 222, 223, 58, 543, 130, 131, 551, 514,
- 562, 707, 560, 95, 110, 111, 528, 707, 300, 705,
- 92, 10, -415, -415, 221, 1359, 1360, 1361, 666, 511,
- 538, 349, 519, 829, 222, 446, 1121, 224, 563, 782,
- 91, 421, 424, 536, 392, 564, 18, 583, 7, 8,
- 250, 10, 95, 96, 97, 449, 21, 1090, 1091, 1092,
- 92, 256, 480, 481, 847, 221, 112, 113, 114, 626,
- 708, 426, 427, 675, 752, 672, 705, 676, 705, 830,
- 574, 488, 489, 574, 678, 428, 21, 844, 710, 679,
- 920, 922, 710, 251, 692, 429, 1449, 260, 480, 730,
- 574, 27, 28, 32, 680, 98, 99, 693, 430, 221,
- 90, 175, 708, 574, 847, 349, 92, 871, 708, 576,
- 721, 1484, 576, -6, 707, 252, 1472, 747, 707, 765,
- 710, 221, 725, 32, 1170, 1171, 710, 1501, 421, 852,
- 699, 770, 1279, 8, 9, 894, 842, 15, 382, 383,
- 384, 910, 576, 539, 823, 127, 128, 824, 517, 89,
- 535, 488, 731, 705, 825, 752, 707, 1066, 826, 420,
- 423, 833, 707, 300, 394, 395, 10, 834, 847, 90,
- 518, 851, 785, 710, 853, 1392, 854, 363, 736, 89,
- 518, 911, 705, 385, 856, 130, 131, -141, 420, 423,
- 913, 386, 387, 719, 221, 26, 720, 130, 131, 90,
- 927, 21, 59, 942, 929, 567, 568, 955, 723, 707,
- 1484, 903, 708, -183, 708, 1281, 27, 319, 1240, 931,
- 72, 904, 956, 1240, 1402, 1403, 524, 1484, 137, -183,
- 710, -183, 710, 127, 128, 905, 8, 9, 965, 256,
- 608, 609, 847, 91, 411, 969, 413, 155, 32, 480,
- 1503, -142, 1573, 127, 128, 349, 58, 711, 966, 536,
- 1551, 514, 971, 92, 488, 1504, 707, 20, 707, 95,
- 96, 97, 979, 225, 226, 227, 980, 363, 480, 1508,
- 363, 511, 1484, -298, 519, 130, 131, 993, 130, 131,
- 738, 999, 453, 1436, 155, 1017, 1000, 18, 1434, 708,
- 1439, 1024, 228, 26, 1025, 130, 131, 8, 9, 252,
- 89, -579, 252, 1048, -579, 1295, 1296, 710, 1369, 903,
- 26, 1336, 98, 99, 229, 842, 1026, 1328, 752, 904,
- 90, 579, 1031, -827, 7, 8, 9, 10, 1040, 72,
- 13, 1616, 349, 905, 1295, 1296, 710, 89, 91, 931,
- 1044, 1045, 1075, 707, 1069, 1407, 1408, 1371, 1372, 130,
- 131, -579, 18, -579, -579, 1074, -579, 90, 92, 230,
- 231, 232, 21, 1094, 1099, 58, -52, -579, 636, -579,
- 1095, -52, 707, 158, 1096, 26, 1097, 27, 28, 1098,
- 1100, 498, -52, 1101, 1102, -579, -579, 942, 127, 128,
- 1327, 981, -140, 1335, 1103, 1104, 140, 140, 1106, 156,
- -579, 982, 603, 604, 605, 606, 607, 608, 609, 32,
- 1107, 639, 1124, 1113, 983, 641, 1110, 1126, 1109, 1111,
- 158, 1112, 1129, 212, 1130, 220, 155, 155, 155, 1128,
- 1131, 237, 1164, 7, 127, 128, 10, 1433, 544, 1433,
- 130, 131, 1336, 1137, 1139, 1138, 574, 1147, 1148, 1145,
- 209, 1150, 1336, 1157, 1160, 155, 155, 155, 1328, 1336,
- 72, 1163, 1543, 1185, 518, 1328, 1208, 1214, 847, 1217,
- 72, 21, 1219, 201, 1437, 201, 1224, 72, 251, 95,
- 110, 111, 420, 423, 421, 852, 27, 28, 460, 1228,
- 705, 8, 9, 1248, 1252, 1570, 58, 127, 128, 567,
- 568, 1257, 1258, 1259, -304, 1260, 58, 140, 1265, 1267,
- 252, 1280, 140, 58, 1268, 156, 156, 156, 32, -304,
- 1291, 1327, 1269, -304, 1335, 1272, 1276, 719, 720, 153,
- 723, 1327, 112, 113, 1335, 363, 1282, 129, 1327, -304,
- 1283, 1335, 212, 130, 131, 490, 1284, 26, 450, 130,
- 131, -304, -304, 1287, -304, 1288, -304, 1294, 1299, 140,
- 140, 156, 158, 158, 158, 1193, 1348, 538, -662, 1379,
- 214, 215, 216, 1380, 1386, 220, 1205, 14, 1390, 1396,
- 95, 96, 97, 493, 220, -304, -304, 1391, 1406, 1397,
- 1398, 158, 158, 158, 18, 1399, 1525, 1415, 1416, 20,
- -304, 1336, 1336, 1525, 1417, 1429, 1336, 1328, 23, 1431,
- 1444, 375, 1328, 1447, 297, 1005, 1006, 1007, 1450, 72,
- 72, 297, 349, 953, 72, 140, 1451, 1468, 1469, 1554,
- 1047, 26, 1470, 98, 99, 100, 708, 1471, 763, 764,
- 1061, 1062, 1476, 1336, 1487, 1488, 1492, 127, 1243, 1328,
- 295, 1494, 1336, 1495, 710, 58, 58, 295, 1328, 1008,
- 58, 72, 1574, 1502, 1520, 201, 26, 1076, 1009, 1010,
- 72, 1521, 1078, 221, 1529, 1539, 1525, 1540, 1545, 1547,
- 1327, 1327, 1553, 1335, 1335, 1327, 1562, 1563, 1335, 1571,
- 707, 363, 155, 1572, 297, 156, 1584, 58, 1336, 130,
- 131, 1588, 1595, 1599, 1328, 1011, 58, 1618, 1596, 1602,
- 574, 605, 606, 607, 608, 609, 72, 1604, 1609, 421,
- 424, 1605, 1327, 538, 1357, 1335, 518, 1613, 1617, 612,
- 295, 1327, 1620, 1625, 1335, 339, 1336, 339, 1626, 339,
- 1628, 1629, 1328, 1, 5, 442, 147, 160, 421, 1347,
- 1499, 968, 58, 1167, 72, 127, 128, 441, 728, 155,
- 155, 155, 439, 809, 1381, 1382, 1383, 1384, 613, 614,
- 1300, 212, 220, 615, 616, 617, 618, 1327, 1569, 500,
- 1335, 359, 127, 128, 339, 140, 339, 13, 140, 1483,
- 58, 409, 1624, 1389, 156, 156, 156, 550, 1159, 1023,
- 140, 7, 8, 9, 10, 26, 1158, 130, 131, 505,
- 811, 127, 128, 1452, 1362, 1327, 535, 1245, 1335, 1077,
- 1156, 545, 958, 127, 128, 636, 898, 1419, 158, 483,
- 633, 546, 26, 390, 130, 131, 140, 1442, 140, 21,
- 156, 156, 156, 1345, 1591, 450, 251, 1603, 637, 1566,
- 258, 140, 493, 220, 27, 28, 450, 0, 638, 1608,
- 493, 26, 221, 130, 131, 1610, 636, 1207, 639, 1448,
- 0, 640, 641, 26, 258, 130, 131, 545, 252, 95,
- 110, 111, 529, 0, 0, 212, 32, 546, 0, 637,
- 0, 0, 450, 0, 1473, 158, 158, 158, 1046, 638,
- 0, 0, 0, 258, 0, 0, 0, 0, 0, 639,
- 0, 0, 640, 641, 258, 0, 0, 21, 0, 156,
- 1231, 1232, 156, 1241, 1242, 0, 1244, 1493, 116, 1006,
- 1007, 0, 112, 113, 411, 413, 0, 156, 156, 156,
- 0, 744, 536, 0, 0, 0, 0, 1079, 750, 0,
- 0, 0, 156, 1084, 0, 0, 506, 0, 7, 8,
- 507, 10, 167, 12, 13, 0, 0, 565, 0, 14,
- 116, 1006, 1007, 258, 95, 110, 111, 0, 225, 226,
- 227, 119, 120, 16, 1205, 17, 18, 19, 1523, 0,
- 0, 20, 0, 0, 871, 1523, 21, 1050, 0, 0,
- 23, 508, 18, 168, 0, 339, 0, 228, 258, 26,
- 0, 27, 28, 943, 574, 509, 0, 510, 0, 0,
- 0, 26, 743, 119, 120, 30, 0, 112, 113, 743,
- 0, 839, 258, 220, 0, 31, 101, 0, 0, 0,
- 0, 0, 0, 32, 115, 0, 0, 0, 33, 95,
- 110, 111, 421, 1347, 0, 0, 1140, 0, 1141, 719,
- 720, 0, 723, 0, 645, 649, 652, 0, 1523, 0,
- 0, 0, 212, 0, 220, 237, 0, 0, 0, 0,
- 0, 0, 1365, 1366, 1594, 0, 0, 233, 95, 110,
- 111, 892, 681, 682, 683, 0, 0, 893, 7, 127,
- 128, 10, 112, 1496, 13, 0, 1607, 741, 745, 95,
- 110, 111, 743, 871, 0, 745, 0, 0, 220, 0,
- 655, 8, 9, 10, 258, 0, 18, 0, 0, 140,
- 140, 0, 140, 0, 947, 0, 21, 0, 0, 0,
- 493, 112, 113, 450, 0, 339, 388, 0, 0, 26,
- 0, 27, 28, 450, 450, 308, 656, 783, 21, 0,
- 369, 371, 112, 1498, 0, 30, 116, 117, 118, 0,
- 416, 26, 743, 130, 131, 31, 0, 0, 743, 0,
- 450, 0, 258, 32, 1223, 450, 0, 0, 33, 1227,
- 0, 0, 0, 0, 0, 0, 0, 339, 745, 0,
- 0, 0, 0, 0, 0, 0, 0, 156, 743, 0,
- 0, 0, 1253, 0, 1255, 743, 0, 26, 0, 119,
- 120, 0, 0, 1457, 1458, 1459, 0, 0, 0, 0,
- 339, 0, 741, 0, 0, 868, 869, 0, 873, 874,
- 875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
- 885, 886, 887, 888, 889, 890, 891, 0, 745, 0,
- 499, 501, 0, 0, 745, 0, 0, 0, 0, 1286,
- 0, 0, 258, 530, 7, 8, 9, 10, 214, 215,
- 216, 300, 8, 9, 10, 14, 0, 0, 0, 0,
- 0, 95, 96, 97, 745, 0, 0, 0, 0, 0,
- 0, 745, 18, 156, 156, 943, 0, 20, 1511, 1512,
- 0, 0, 21, 0, 0, 0, 23, 258, 636, 21,
- 382, 383, 384, 960, 962, 26, 251, 27, 28, 0,
- 0, 214, 215, 216, 27, 319, 363, 0, 14, 339,
- 0, 981, 237, 566, 98, 99, 0, 140, 140, 943,
- 0, 982, 0, 921, 923, 18, 0, 0, 252, 32,
- 20, 639, 0, 0, 983, 641, 32, 0, 0, 23,
- 0, 26, 0, 386, 387, 1114, 1115, 491, 215, 216,
- 0, 1120, 578, 0, 14, 674, 0, 741, 0, 0,
- 0, 0, 0, 0, 684, 1132, 943, 1133, 0, 1134,
- 0, 18, 743, 0, 258, 0, 20, 674, 127, 128,
- 0, 1393, 215, 216, 0, 23, 0, 0, 14, 0,
- 258, 986, 0, 645, 649, 0, 652, 1592, 7, 8,
- 9, 10, 0, 450, 450, 0, 450, 450, 0, 450,
- 20, 0, 0, 0, 1067, 1162, 0, 0, 0, 23,
- 0, 636, 0, 0, 0, 704, 743, 743, 26, 0,
- 130, 131, 743, 0, 0, 0, 21, 0, 649, 0,
- 339, 339, 636, 339, 637, 0, 743, 0, 743, 26,
- 743, 27, 28, 0, 638, 0, 0, 0, 745, 1453,
- 1454, 1183, 0, 0, 639, 981, 0, 647, 641, 0,
- 0, 0, 0, 1464, 1465, 982, 0, 116, 1006, 1007,
- 1105, 1049, 0, 32, 0, 639, 0, 0, 983, 641,
- 1475, 751, 0, 0, 779, 0, 743, 0, 0, 0,
- 0, 0, 0, 0, 1050, 0, 140, 140, 156, 156,
- 943, 1051, 745, 745, 140, 0, 0, 741, 745, 601,
- 602, 603, 604, 605, 606, 607, 608, 609, 26, 0,
- 119, 120, 745, 649, 745, 0, 745, 156, 156, 943,
- 0, 0, 743, 0, 0, 0, 258, 596, 597, 598,
- 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
- 609, 743, 1518, 1519, 0, 450, 450, 0, 0, 0,
- 0, 0, 1155, 0, 0, 0, 840, 864, 0, 843,
- 0, 0, 745, 845, 846, 848, 849, 850, 0, 7,
- 8, 9, 10, 0, 0, 246, 578, 339, 0, 0,
- 300, 394, 395, 10, 0, 0, 1135, 0, 1136, 867,
- 1179, 0, 0, 0, 0, 0, 0, 18, 0, 1142,
- 0, 912, 0, 921, 923, 0, 0, 21, 745, 0,
- 0, 140, 140, 636, 140, 0, 0, 1301, 21, 1302,
- 26, 1303, 27, 28, 0, 251, 0, 745, 0, 7,
- 8, 9, 10, 27, 319, 13, 981, 627, 0, 300,
- 394, 395, 10, 924, 628, 0, 982, 921, 923, 0,
- 924, 212, 220, 0, 32, 0, 639, 18, 0, 983,
- 641, 0, 1229, 1230, 258, 32, 258, 21, 0, 0,
- 975, 0, 0, 636, 0, 0, 0, 21, 0, 0,
- 26, 992, 27, 28, 629, 0, 450, 450, 450, 0,
- 26, 0, 27, 319, 0, 0, 1172, 0, 743, 0,
- 743, 0, 743, 741, 741, 0, 1173, 1266, 258, 0,
- 0, 0, 864, 0, 32, 80, 639, 0, 0, 1174,
- 641, 0, 1395, 0, 630, 104, 0, 339, 0, 0,
- 0, 0, 0, 0, 0, 133, 0, 0, 0, 0,
- 0, 144, 144, 0, 144, 0, 80, 0, 0, 0,
- 0, 0, 0, 80, 156, 0, 0, 0, 0, 704,
- 0, 0, 0, 0, 0, 0, 203, 0, 80, 0,
- 0, 450, 450, 0, 0, 0, 238, 0, 0, 0,
- 0, 0, 0, 104, 745, 751, 745, 0, 745, 0,
- 0, 0, 258, 0, 262, 104, 741, 751, 0, 0,
- 0, 0, 0, 743, 0, 741, 741, 0, 0, 0,
- 741, 0, 0, 0, 0, 0, 0, 104, 0, 0,
- 0, 156, 156, 156, 0, 751, 0, 0, 0, 0,
- 0, 751, 1370, 0, 0, 0, 1135, 1136, 921, 923,
- 300, 8, 9, 10, 1142, 133, 0, 80, 0, 0,
- 0, 144, 144, 0, 0, 0, 412, 144, 741, 0,
- 144, 144, 144, 0, 0, 0, 0, 921, 923, 258,
- 7, 127, 128, 10, 0, 0, 80, 0, 21, 0,
- 80, 0, 0, 0, 0, 251, 203, 80, 0, 745,
- 450, 0, 0, 27, 319, 0, 258, 0, 18, 1116,
- 0, 0, 0, 0, 203, 203, 203, 0, 21, 0,
- 0, 0, 0, 1414, 0, 0, 0, 538, 0, 0,
- 0, 26, 0, 27, 28, 32, 127, 128, 0, 0,
- 215, 216, 867, 203, 0, 684, 14, 149, 751, 0,
- 0, 0, 924, 0, 0, 0, 0, 150, 975, 743,
- 502, 0, 0, 741, 0, 32, 80, 0, 20, 104,
- 151, 1135, 1136, 0, 1142, 1455, 1456, 23, 0, 636,
- 144, 0, 0, 0, 0, 0, 26, 0, 130, 131,
- 704, 0, 1168, 741, 0, 0, 924, 0, 259, 0,
- 0, 0, 637, 0, 0, 0, 0, 0, 127, 128,
- 0, 0, 638, 246, 0, 0, 0, 0, 104, 547,
- 0, 0, 639, 0, 0, 640, 641, 0, 471, 473,
- 477, 0, 0, 0, 7, 127, 128, 10, 0, 0,
- 246, 0, 0, 924, 0, 745, 0, 0, 0, 0,
- 0, 636, 0, 0, 0, 0, 1210, 0, 26, 0,
- 130, 131, 18, 104, 0, 0, 0, 634, 1516, 547,
- 547, 650, 21, 0, 637, 434, 0, 0, 0, 0,
- 80, 0, 0, 0, 638, 26, 0, 27, 28, 1263,
- 0, 0, 0, 0, 639, 0, 1536, 640, 641, 0,
- 751, 30, 751, 0, 0, 0, 0, 469, 0, 0,
- 0, 31, 0, 0, 133, 795, 796, 9, 10, 32,
- 485, 0, 0, 104, 33, 203, 104, 0, 0, 0,
- 1271, 0, 0, 0, 0, 0, 127, 128, 0, 0,
- 144, 535, 0, 144, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 21, 0, 144, 0, 0, 0, 0,
- 0, 0, 0, 80, 0, 0, 26, 0, 27, 28,
- 7, 8, 9, 10, 797, 1305, 535, 0, 0, 636,
- 0, 1263, 193, 0, 0, 0, 26, 924, 130, 131,
- 0, 203, 194, 203, 0, 203, 203, 203, 18, 0,
- 32, 203, 637, 0, 0, 195, 203, 0, 21, 203,
- 0, 0, 638, 0, 636, 0, 924, 0, 741, 0,
- 0, 26, 639, 27, 28, 640, 641, 0, 0, 133,
- 1358, 0, 80, 0, 80, 0, 0, 981, 0, 806,
- 80, 0, 80, 0, 0, 0, 166, 982, 7, 8,
- 9, 10, 167, 12, 13, 32, 0, 639, 0, 14,
- 983, 641, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
- 0, 20, 104, 104, 104, 104, 21, 0, 0, 0,
- 23, 0, 0, 168, 0, 0, 0, 0, 0, 26,
- 0, 27, 28, 1421, 1422, 761, 0, 762, 0, 471,
- 473, 477, 0, 0, 0, 30, 0, 0, 0, 0,
- 773, 0, 0, 0, 0, 31, 0, 0, 0, 0,
- 0, 0, 0, 32, 0, 0, 0, 0, 33, 0,
- 0, 0, 104, 34, 547, 0, 0, 0, 0, 0,
- 0, 0, 0, 804, 0, 0, 634, 0, 547, 547,
- 0, 650, 0, 0, 0, 0, 1210, 0, 944, 8,
- 9, 0, 946, 12, 246, 0, 0, 0, 0, 14,
- 0, 0, 0, 0, 1479, 0, 0, 203, 0, 0,
- 0, 0, 0, 16, 766, 17, 0, 0, 0, 772,
- 0, 20, 0, 0, 0, 0, 1497, 1500, 0, 0,
- 23, 133, 636, 0, 0, 0, 0, 0, 133, 26,
- 0, 130, 131, 0, 0, 0, 203, 988, 203, 203,
- 238, 650, 0, 0, 0, 637, 0, 0, 0, 0,
- 0, 0, 0, 821, 0, 638, 0, 0, 0, 827,
- 0, 0, 0, 0, 0, 639, 0, 0, 640, 641,
- 0, 835, 836, 0, 837, 0, 0, 0, 0, 300,
- 8, 9, 10, 203, 0, 0, 0, 988, 0, 0,
- 0, 1541, 0, 0, 203, 203, 0, 203, 7, 8,
- 9, 10, 214, 215, 216, 0, 0, 0, 0, 14,
- 0, 0, 0, 104, 0, 0, 806, 21, 0, 0,
- 0, 0, 0, 0, 251, 104, 18, 0, 0, 0,
- 578, 20, 27, 319, 0, 0, 21, 0, 1072, 0,
- 23, 0, 636, 0, 704, 0, 80, 0, 0, 26,
- 0, 27, 28, 104, 0, 0, 0, 0, 0, 104,
- 0, 0, 0, 0, 32, 981, 547, 547, 547, 932,
- 933, 0, 0, 0, 932, 982, 0, 0, 547, 0,
- 0, 0, 0, 32, 0, 639, 0, 0, 1030, 641,
- 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
- 13, 0, 0, 749, 0, 14, 83, 0, 761, 762,
- 0, 773, 0, 0, 0, 0, 106, 0, 0, 16,
- 0, 17, 18, 0, 0, 126, 134, 20, 0, 0,
- 804, 0, 145, 145, 0, 145, 23, 83, 636, 0,
- 0, 0, 0, 0, 83, 26, 0, 130, 131, 0,
- 0, 547, 0, 547, 0, 0, 0, 145, 0, 83,
- 104, 637, 0, 0, 547, 0, 104, 239, 944, 944,
- 944, 638, 0, 0, 248, 0, 1149, 300, 127, 128,
- 10, 639, 0, 0, 640, 641, 248, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
- 0, 0, 13, 0, 0, 0, 0, 1058, 104, 0,
- 104, 0, 203, 203, 1176, 21, 0, 0, 0, 1063,
- 0, 0, 251, 0, 18, 0, 0, 0, 0, 0,
- 27, 319, 0, 0, 21, 0, 0, 0, 83, 0,
- 0, 0, 145, 145, 0, 0, 0, 26, 145, 27,
- 28, 145, 145, 145, 0, 1086, 0, 1088, 0, 0,
- 0, 1176, 32, 149, 0, 0, 0, 83, 0, 0,
- 0, 83, 0, 150, 104, 0, 0, 145, 83, 0,
- 0, 32, 0, 0, 0, 0, 151, 0, 0, 0,
- 0, 0, 0, 0, 0, 145, 145, 145, 0, 0,
- 203, 0, 0, 0, 0, 144, 0, 0, 80, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
- 104, 0, 0, 0, 145, 0, 471, 473, 477, 1122,
- 1123, 0, 1125, 8, 9, 0, 0, 12, 13, 0,
- 8, 9, 0, 14, 12, 246, 0, 83, 104, 0,
- 14, 0, 0, 547, 547, 0, 547, 16, 0, 17,
- 1143, 145, 0, 0, 16, 20, 17, 0, 0, 0,
- 0, 0, 20, 0, 23, 477, 0, 0, 0, 0,
- 0, 23, 0, 26, 0, 130, 131, 619, 0, 0,
- 26, 0, 130, 131, 0, 0, 0, 0, 0, 248,
- 145, 203, 203, 203, 203, 1176, 0, 0, 0, 203,
- 0, 1178, 0, 0, 1239, 0, 642, 642, 642, 0,
- 0, 0, 620, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1176, 1176, 1176, 7, 8, 9, 10, 167,
- 12, 13, 0, 0, 248, 0, 14, 0, 635, 0,
- 145, 145, 651, 0, 0, 0, 0, 660, 0, 0,
- 16, 83, 17, 18, 19, 0, 0, 0, 20, 0,
- 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
- 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
- 0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
- 0, 0, 30, 0, 248, 0, 145, 248, 0, 0,
- 0, 0, 31, 0, 0, 761, 762, 471, 473, 477,
- 32, 145, 0, 773, 145, 33, 203, 203, 0, 203,
- 34, 0, 7, 8, 9, 10, 145, 0, 13, 0,
- 0, 0, 0, 0, 83, 0, 471, 473, 477, 0,
+ 442, 629, 35, 443, 692, 693, 444, 434, 980, 486,
+ 42, 122, 391, 36, 252, 723, 535, 538, 431, 103,
+ 639, 752, 887, 513, 977, 177, 58, 399, 952, 887,
+ 59, 1467, 255, 35, 818, 638, 669, 59, 690, 196,
+ 169, 42, 297, 958, 36, 174, 506, 1097, 42, 568,
+ 485, 57, 209, 491, 494, 397, 398, 58, 1022, 493,
+ 1024, 708, 857, 1414, 58, 910, 719, 246, 1054, 182,
+ 390, 1017, 396, 1527, 1523, 1059, 607, 1429, 190, 295,
+ 607, 1064, 57, 348, 1432, 348, 170, 348, 259, 176,
+ 419, 422, 451, 1172, 171, 525, 255, 1528, 72, 248,
+ 1600, 86, 348, 348, 761, 591, 294, 924, -1, 1537,
+ 138, 363, 1051, 1178, 607, 224, 55, 716, -144, 959,
+ 1553, 938, 178, 88, 141, 146, 89, 642, 208, 72,
+ 1550, 405, 348, -2, 348, 988, 72, 939, 155, 221,
+ 516, 163, 589, 590, 643, 644, 90, 55, 525, -356,
+ 87, 592, 177, 452, 175, 255, 925, -356, 58, 196,
+ 59, 452, 889, 1179, 59, 1562, -295, 169, 439, 1173,
+ 816, 209, 174, 705, 717, 42, 1579, 965, 296, 190,
+ 1055, 164, 989, 404, 1052, 990, 453, 58, 1123, 803,
+ 1594, 58, 740, 224, 453, 520, 698, 699, 8, 518,
+ 466, 15, 1612, 539, 540, -415, 1467, 402, 38, 224,
+ 988, 1563, 57, 170, -143, 93, 176, 8, 9, 548,
+ 1553, 171, 549, 1199, 190, 550, 137, 1267, 560, 1056,
+ 72, 817, 565, 1390, -415, 39, 489, 1525, -415, 38,
+ 606, 76, 362, 418, 421, 1531, 467, 208, 403, 178,
+ 130, 131, 259, 1200, 155, 155, 155, 989, 1130, 72,
+ 990, 1133, -828, 72, -302, 224, 39, 613, 757, 130,
+ 131, 1328, 76, 224, 519, 1145, 1268, 55, 40, 76,
+ 307, 175, 1391, -415, 612, 677, 781, 469, 471, 221,
+ 224, 246, 201, 713, 213, 1560, 26, 221, 221, 604,
+ 155, 887, 1159, 1160, 222, 223, -365, 639, 15, 40,
+ -302, -302, 1203, 299, 393, 394, 10, 937, 94, 1096,
+ 1329, 491, 494, 348, 1208, -295, 221, 755, 981, 491,
+ 672, 963, 964, 458, 928, 993, 295, 8, 9, -365,
+ 692, 999, 494, -365, 246, 887, 1595, 514, 89, 617,
+ 459, 21, 348, 648, 1340, 1341, -141, 101, 1229, 259,
+ 1231, 494, 107, 294, 26, 115, 27, 318, 90, 108,
+ 1622, 1362, 1390, 406, 162, 221, -365, 409, 1555, 460,
+ 58, 362, 994, 513, 91, 995, 629, 695, -579, 130,
+ 131, -579, 887, 515, 299, 802, 689, 10, 32, 209,
+ 591, 109, 76, 634, 92, 404, 76, 680, 233, 792,
+ 1248, 1148, 201, 213, 419, 422, 135, 1098, 355, 1623,
+ 356, 1498, 18, 688, 177, 138, 892, 1590, 221, 646,
+ 1194, 1027, 21, 1374, 911, 296, 59, 1125, -579, 773,
+ -579, -579, 137, -579, 710, 139, 592, 425, 426, 635,
+ 548, 549, 72, 161, -579, 793, -579, 127, 128, 201,
+ 187, 427, 733, 58, 1028, 407, 376, 387, 1029, -625,
+ 647, 428, -579, -579, 977, 750, 860, 1264, 1265, 32,
+ 222, 445, 617, 756, 429, 221, 90, -579, 176, 688,
+ 179, 415, 348, 861, 377, 691, 1443, 95, 110, 111,
+ 59, 1030, 224, 767, 378, 1449, 1450, 26, 1451, 130,
+ 131, 1017, 1054, 1209, 92, -625, -625, 183, 758, 1412,
+ 188, 178, 862, 864, 137, 88, 348, 58, 802, 348,
+ -625, 137, 348, 865, 962, 72, 348, 808, 808, 808,
+ 808, 692, 693, -304, 561, 224, 562, 866, 875, 348,
+ 112, 113, 775, 175, 887, 18, -583, 127, 128, 348,
+ 604, 691, 348, 1463, 677, 221, 221, 744, 745, 127,
+ 128, 934, 639, 221, 1406, 690, 770, 158, 155, 155,
+ 155, 498, 500, 887, 1444, 244, 221, 638, 1072, -304,
+ -304, 491, 1171, 511, 876, 649, 88, 295, 359, 72,
+ 933, 362, -583, 189, -298, 221, 127, 128, 525, 130,
+ 131, 877, 1195, 298, 1197, 568, 689, 774, 1201, 26,
+ 879, 130, 131, 733, 294, 508, 138, 95, 110, 111,
+ 510, 913, 91, 519, 116, 117, 118, 259, 479, 480,
+ 201, 1237, 1239, 688, 1017, 1253, 7, 8, 249, 10,
+ 688, 361, 92, 371, 1540, 1541, 373, 878, 130, 131,
+ 375, 1003, 374, 547, 1031, 21, 880, 122, 348, 379,
+ 945, 509, 950, 951, 380, 1165, 400, -295, 76, 642,
+ 112, 113, 209, -583, 21, 645, 246, 119, 120, 365,
+ 369, 250, 1167, 158, 158, 158, 296, 127, 128, 27,
+ 28, 773, 978, 773, -366, 655, 15, 1004, 860, 773,
+ 1032, 773, 881, 883, 665, 691, 201, 951, 487, 488,
+ 1144, 1166, 691, 251, 201, 861, 424, 655, 221, -583,
+ 481, 32, 689, 189, 1239, 1169, 302, -366, 1168, 158,
+ 617, -366, 780, 1324, 1326, 479, 711, 26, 1330, 130,
+ 131, -7, 1469, 803, 862, 1373, 127, 128, 1037, 688,
+ 432, 516, 59, 618, 59, 767, 431, 767, 1106, 221,
+ 209, 895, 59, 619, -366, 767, -620, 1574, 689, 348,
+ 348, 1170, 348, 620, 689, 164, 621, 622, 790, 58,
+ 1161, 58, 1371, 1025, 1026, 91, 548, 549, 1470, 58,
+ 1334, 1335, 1336, 1057, 446, 688, 26, 1597, 130, 131,
+ 447, 688, 1019, 221, 775, 92, 775, 896, 897, 91,
+ 127, 128, 526, 1575, 775, 759, 240, 450, 1614, 462,
+ 241, 691, 527, 463, 791, 221, 487, 712, 770, 92,
+ 770, 1069, 1070, 1071, 760, 1036, 1046, 497, 770, 1224,
+ 1225, 1226, 348, 1598, 502, 127, 128, 1100, 1020, 799,
+ 516, 72, 523, 72, 362, 391, 521, -304, 214, 215,
+ 216, 72, 130, 131, 1615, 14, 522, 691, 524, 774,
+ 1601, 1023, -304, 691, 201, 808, -304, 1435, 221, 774,
+ 532, 689, 18, 1388, 1389, 733, 251, 20, 541, 8,
+ 9, 255, -304, 8, 9, 26, 23, 130, 131, 825,
+ 555, 259, 91, 564, -304, -304, 542, -304, 688, -304,
+ -142, 864, 688, 201, 948, 201, 201, 129, 1461, 479,
+ 1492, 865, 92, 689, 543, 808, 348, 26, 89, 689,
+ 1409, 487, 1493, 362, 680, 866, 1210, 362, -304, -304,
+ 15, 130, 131, 873, -415, 130, 131, 224, 90, 544,
+ 688, 89, 545, -304, 803, 91, 688, 479, 1497, 1393,
+ 201, 147, 607, 1394, 997, 251, 127, 1358, 252, 519,
+ 653, 90, -415, -415, 656, 92, 733, 773, 1249, 1250,
+ 691, 1252, 881, 883, 691, 657, 255, 659, -120, 808,
+ 15, 931, 215, 216, 780, 1254, 780, 1037, 14, 1473,
+ 660, 1043, 1050, 688, 780, 689, 673, 158, 158, 158,
+ 362, 448, 936, 661, 674, 1490, 90, 689, 130, 131,
+ 20, -120, 691, 953, 92, -120, 1149, 1150, 691, 23,
+ 702, 617, 688, -6, 564, 1378, 727, 706, 59, 155,
+ 728, 767, 519, 746, 688, 966, 967, 968, 751, 1212,
+ 561, 689, 562, 689, 825, 1214, 1215, -52, -120, 1212,
+ 1217, 15, -52, 1215, 784, 58, 785, 786, 548, 549,
+ 787, 410, 497, -52, 812, 691, 412, 802, 688, 794,
+ 688, 808, 419, 422, 1036, 795, 155, 814, 815, 969,
+ 775, 717, 872, 817, 348, 874, 26, 255, 970, 971,
+ 888, 1473, 1060, 1061, 691, 1062, 555, 692, 1546, 555,
+ 890, 419, 422, 805, 770, 892, 691, 916, 917, 926,
+ 127, 128, 1473, 927, 147, 930, 555, 1420, 20, 1425,
+ 1422, -118, 932, 15, 940, 972, 89, 72, 689, 555,
+ 520, 941, 978, 832, 1445, 773, 116, 117, 118, 1571,
+ 691, -298, 691, 954, 960, 774, 90, 1616, 127, 128,
+ 1311, 803, 961, 1302, -118, 688, 452, 733, -118, 985,
+ 26, 855, 130, 131, 1303, 986, -827, 871, 116, 967,
+ 968, 348, 1473, 987, 992, 1001, 526, 58, 517, 1005,
+ 560, 95, 413, 414, 688, 1006, 527, 26, 129, 119,
+ 120, -118, 1009, 719, 1073, 1011, 59, 1074, 26, 767,
+ 130, 131, 1310, 1075, 1078, 1076, 608, 1077, 299, 393,
+ 394, 10, 1079, 609, 1080, 140, 140, 1081, 156, 26,
+ 1082, 119, 120, 58, 1083, 1270, 1271, 691, -140, 1085,
+ 299, 393, 394, 10, 98, 113, 155, 155, 155, 1086,
+ 1043, 1089, 212, 1088, 220, 1092, 21, 665, 775, 72,
+ 237, 215, 216, 610, 1270, 1271, 691, 14, 1090, 26,
+ 936, 27, 318, 1091, 1105, 155, 155, 155, 21, 1107,
+ 780, 1108, 770, 1419, 1109, 1419, 1110, 1311, 1136, 20,
+ 1302, 1116, 1117, 27, 318, 209, 1118, 1311, 23, 1164,
+ 1302, 1142, 1124, 611, 1311, 72, 1126, 1302, 525, 1127,
+ 1129, 1303, 1139, 808, 58, 1143, 1187, 1196, 1303, 95,
+ 96, 97, -183, 774, 58, 32, 1193, 1536, 1198, 1213,
+ 1219, 58, 153, 1218, 1223, 1227, 140, 137, -183, 1310,
+ -183, 140, 1232, 1233, 156, 156, 156, 1234, 700, 1310,
+ 1235, 701, 381, 382, 383, 1240, 1310, 127, 128, 725,
+ 1242, 15, 13, 704, 1243, -415, 731, 1447, 1448, 1244,
+ 26, 212, 98, 99, 100, 1247, 1251, 449, 1255, 1172,
+ 1257, 221, 548, 549, 1588, 1258, 72, 1259, 140, 140,
+ 156, 1262, 1263, -415, -415, 1266, 72, 384, -415, 410,
+ 617, 412, 1269, 72, 220, 385, 386, 26, 1274, 130,
+ 131, 1323, 492, 220, 517, 1339, 459, 1343, -662, 1238,
+ 338, 1365, 338, 618, 338, 419, 422, 1256, 490, 215,
+ 216, 800, 1366, 619, 1372, 14, 489, 1376, 1103, 1377,
+ 1355, 1382, 1392, 620, 1383, 1355, 621, 622, 780, 420,
+ 423, 1384, 18, 140, 1385, 1518, 1401, 20, 1402, 1403,
+ 1311, 1311, 1518, 1302, 1302, 1311, 23, 1415, 1302, 338,
+ 1417, 338, 555, 1430, 1303, 1433, 1436, 1437, 158, 1303,
+ 1476, 348, 294, 1457, 1458, 1459, 1460, 58, 58, 294,
+ 1465, 853, 58, 1549, 153, 1477, 1481, 854, 1483, 689,
+ 1484, 374, 95, 110, 111, 1280, 1311, 1491, 1513, 1302,
+ 1514, 1238, 1310, 1310, 1522, 1311, 1532, 1310, 1302, 155,
+ 1303, 1533, 1557, 156, 1548, 158, 688, 1558, 1566, 1303,
+ 1564, 1582, 1569, 58, 908, 1570, 201, 1423, 201, 1586,
+ 1592, 1518, 58, 95, 110, 111, 1593, 225, 226, 227,
+ 1599, 1603, 1596, 1604, 296, 112, 113, 114, 1310, 72,
+ 72, 296, 1572, 1608, 72, 1618, 1311, 1310, 294, 1302,
+ 1620, 18, 7, 127, 128, 10, 228, 1613, 744, 745,
+ 1303, 116, 967, 968, 1617, 1010, 1625, 1008, 221, 155,
+ 155, 155, 1626, 58, 1628, 1629, 112, 113, 691, 212,
+ 220, 636, 8, 9, 10, 72, 1311, 1, 1011, 1302,
+ 21, 441, 5, 140, 72, 1012, 140, 250, 1310, 160,
+ 1303, 1488, 156, 156, 156, 27, 28, 557, 140, 1407,
+ 1408, 1146, 26, 58, 119, 120, 307, 637, 929, 21,
+ 296, 381, 382, 383, 440, 1033, 1034, 9, 10, 251,
+ 709, 546, 26, 438, 130, 131, 1047, 32, 1310, 586,
+ 587, 588, 589, 590, 140, 72, 140, 1587, 156, 156,
+ 156, 1275, 686, 449, 700, 701, 358, 704, 499, 140,
+ 492, 220, 408, 21, 449, 158, 158, 158, 492, 338,
+ 1472, 1375, 26, 1624, 385, 386, 26, 1138, 27, 28,
+ 1137, 531, 449, 984, 1035, 72, 504, 1337, 1438, 1221,
+ 1360, 1049, 193, 1135, 158, 158, 158, 95, 96, 97,
+ 919, 1468, 194, 482, 614, 859, 389, 420, 703, 156,
+ 32, 1610, 156, 1428, 1320, 195, 1602, 1607, 686, 1561,
+ 95, 110, 111, 1486, 1489, 1609, 201, 156, 156, 156,
+ 1186, 1434, 0, 0, 555, 1093, 1094, 7, 8, 9,
+ 10, 1099, 156, 13, 7, 8, 9, 10, 1332, 0,
+ 98, 99, 0, 420, 423, 1111, 0, 1112, 0, 1113,
+ 0, 0, 0, 0, 0, 18, 116, 967, 968, 0,
+ 0, 722, 726, 112, 113, 21, 0, 0, 0, 726,
+ 0, 617, 21, 0, 1367, 1368, 1369, 1370, 26, 250,
+ 27, 28, 0, 0, 0, 0, 0, 27, 28, 0,
+ 0, 1534, 0, 904, 942, 1141, 95, 110, 111, 338,
+ 662, 663, 664, 557, 943, 0, 557, 0, 0, 119,
+ 120, 251, 32, 220, 620, 0, 0, 944, 622, 32,
+ 0, 0, 420, 813, 1205, 1206, 584, 585, 586, 587,
+ 588, 589, 590, 338, 726, 0, 557, 1405, 0, 0,
+ 0, 1162, 0, 147, 0, 0, 0, 0, 0, 112,
+ 113, 1220, 212, 0, 220, 237, 1222, 0, 0, 0,
+ 0, 0, 686, 95, 96, 97, 338, 0, 722, 686,
+ 0, 829, 830, 0, 834, 835, 836, 837, 838, 839,
+ 840, 841, 842, 843, 844, 845, 846, 847, 848, 849,
+ 850, 851, 852, 0, 726, 0, 0, 903, 220, 0,
+ 726, 0, 0, 0, 0, 0, 0, 0, 362, 140,
+ 140, 0, 140, 0, 0, 1462, 98, 99, 0, 0,
+ 492, 0, 0, 449, 593, 0, 0, 0, 158, 0,
+ 726, 0, 0, 95, 110, 111, 0, 726, 0, 0,
+ 212, 0, 0, 0, 0, 470, 472, 476, 1482, 0,
+ 0, 0, 95, 96, 97, 1007, 225, 226, 227, 921,
+ 923, 0, 0, 594, 595, 0, 0, 156, 596, 597,
+ 598, 599, 95, 110, 111, 338, 0, 0, 686, 0,
+ 18, 0, 0, 0, 1058, 228, 112, 1485, 0, 0,
+ 1063, 0, 0, 7, 127, 128, 10, 0, 158, 158,
+ 158, 0, 0, 26, 0, 98, 99, 229, 257, 0,
+ 1346, 1347, 1516, 1356, 1357, 0, 1359, 0, 832, 1516,
+ 0, 18, 0, 722, 686, 112, 1487, 0, 0, 0,
+ 686, 21, 257, 0, 0, 1276, 0, 1277, 555, 1278,
+ 0, 0, 0, 0, 26, 0, 27, 28, 0, 410,
+ 412, 0, 230, 231, 232, 0, 0, 517, 0, 0,
+ 149, 257, 0, 156, 156, 904, 0, 0, 1021, 0,
+ 150, 903, 257, 0, 0, 0, 0, 0, 32, 0,
+ 0, 0, 0, 151, 0, 0, 338, 338, 0, 338,
+ 0, 0, 0, 1119, 0, 1120, 0, 0, 1516, 0,
+ 0, 0, 237, 0, 726, 0, 0, 140, 140, 904,
+ 0, 0, 0, 0, 0, 0, 0, 1591, 0, 0,
+ 0, 0, 127, 128, 0, 0, 1084, 245, 0, 0,
+ 0, 257, 0, 0, 0, 0, 1381, 686, 1606, 0,
+ 0, 686, 0, 1441, 1442, 0, 0, 832, 0, 0,
+ 0, 0, 0, 0, 0, 0, 904, 0, 726, 726,
+ 0, 0, 0, 722, 726, 617, 257, 0, 420, 813,
+ 700, 701, 26, 704, 130, 131, 0, 0, 726, 686,
+ 726, 0, 726, 0, 0, 686, 0, 0, 618, 257,
+ 449, 449, 0, 0, 0, 0, 0, 0, 619, 0,
+ 0, 7, 127, 128, 10, 0, 0, 13, 620, 0,
+ 0, 621, 622, 153, 0, 0, 0, 449, 1134, 0,
+ 0, 742, 449, 743, 0, 470, 472, 476, 726, 18,
+ 0, 0, 686, 0, 0, 0, 754, 0, 0, 21,
+ 0, 0, 0, 338, 0, 1504, 1505, 1506, 0, 0,
+ 0, 0, 26, 0, 27, 28, 1158, 0, 0, 0,
+ 1184, 686, 0, 0, 0, 0, 0, 1228, 30, 1230,
+ 214, 215, 216, 686, 726, 0, 0, 14, 31, 0,
+ 0, 257, 7, 8, 9, 10, 32, 0, 245, 0,
+ 0, 33, 0, 726, 18, 0, 0, 0, 0, 20,
+ 0, 1538, 1539, 0, 0, 0, 0, 686, 23, 686,
+ 18, 0, 0, 0, 140, 140, 156, 156, 904, 0,
+ 21, 0, 140, 696, 1261, 0, 617, 0, 0, 0,
+ 0, 0, 0, 26, 0, 27, 28, 1211, 0, 257,
+ 0, 0, 0, 0, 0, 156, 156, 904, 0, 942,
+ 0, 0, 0, 0, 214, 215, 216, 0, 0, 943,
+ 0, 14, 0, 0, 0, 0, 0, 32, 0, 620,
+ 0, 1589, 944, 622, 0, 0, 449, 449, 18, 449,
+ 449, 0, 449, 20, 0, 0, 80, 722, 722, 0,
+ 0, 1241, 23, 0, 686, 0, 104, 0, 0, 0,
+ 0, 0, 0, 0, 1338, 0, 133, 914, 0, 1342,
+ 0, 338, 144, 144, 0, 144, 0, 80, 0, 0,
+ 0, 420, 423, 686, 80, 0, 0, 0, 0, 257,
+ 0, 0, 0, 0, 0, 140, 140, 203, 140, 80,
+ 0, 0, 724, 0, 0, 0, 0, 238, 0, 724,
+ 420, 1322, 0, 0, 104, 0, 257, 0, 0, 0,
+ 0, 0, 1379, 0, 0, 261, 104, 0, 726, 0,
+ 726, 0, 726, 0, 0, 212, 220, 0, 0, 0,
+ 722, 0, 0, 0, 0, 0, 0, 0, 104, 722,
+ 722, 0, 0, 0, 722, 0, 742, 743, 0, 754,
+ 0, 7, 8, 9, 10, 0, 0, 13, 0, 449,
+ 449, 1344, 1345, 0, 724, 0, 133, 0, 80, 0,
+ 0, 0, 144, 144, 0, 0, 1042, 411, 144, 18,
+ 0, 144, 144, 144, 0, 0, 0, 0, 722, 21,
+ 0, 0, 0, 257, 0, 617, 0, 80, 0, 0,
+ 0, 80, 26, 0, 27, 28, 0, 203, 80, 257,
+ 0, 299, 8, 9, 10, 1453, 1454, 0, 1151, 726,
+ 0, 0, 0, 0, 724, 203, 203, 203, 1152, 0,
+ 724, 0, 1464, 0, 0, 0, 32, 0, 620, 156,
+ 0, 1153, 622, 1400, 0, 0, 0, 0, 0, 21,
+ 0, 0, 0, 0, 203, 0, 250, 0, 0, 0,
+ 724, 449, 449, 449, 27, 318, 0, 724, 0, 0,
+ 0, 501, 0, 0, 0, 0, 0, 0, 0, 104,
+ 0, 0, 0, 722, 0, 0, 0, 0, 251, 0,
+ 144, 1500, 1501, 0, 0, 0, 32, 0, 7, 8,
+ 9, 10, 1446, 0, 516, 0, 0, 1511, 1512, 156,
+ 156, 156, 0, 0, 0, 0, 0, 449, 449, 0,
+ 0, 0, 0, 0, 722, 0, 18, 0, 104, 528,
+ 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
+ 0, 0, 617, 1184, 470, 472, 476, 0, 0, 26,
+ 0, 27, 28, 0, 0, 0, 127, 128, 0, 0,
+ 0, 516, 0, 0, 0, 942, 0, 0, 0, 0,
+ 0, 0, 0, 104, 0, 943, 726, 615, 0, 528,
+ 528, 631, 0, 32, 0, 620, 0, 449, 944, 622,
+ 80, 0, 0, 476, 0, 0, 1502, 1503, 0, 617,
+ 0, 7, 127, 128, 10, 686, 26, 245, 130, 131,
+ 7, 127, 128, 10, 420, 1322, 13, 0, 0, 258,
+ 0, 0, 618, 0, 133, 1042, 0, 0, 0, 18,
+ 1529, 0, 619, 104, 724, 203, 104, 0, 18, 21,
+ 0, 0, 620, 0, 0, 621, 622, 0, 21, 0,
+ 144, 0, 26, 144, 27, 28, 0, 0, 0, 0,
+ 1543, 26, 0, 27, 28, 144, 0, 0, 30, 0,
+ 0, 0, 0, 80, 0, 0, 0, 149, 31, 7,
+ 8, 9, 10, 257, 0, 257, 32, 150, 724, 724,
+ 0, 33, 0, 0, 724, 32, 433, 0, 0, 0,
+ 151, 203, 0, 203, 0, 203, 203, 203, 724, 0,
+ 724, 203, 724, 0, 0, 0, 203, 21, 0, 203,
+ 0, 0, 0, 617, 0, 0, 0, 257, 468, 0,
+ 26, 0, 27, 28, 0, 0, 0, 80, 0, 0,
+ 0, 484, 0, 0, 0, 0, 942, 0, 0, 0,
+ 0, 742, 743, 470, 472, 476, 943, 0, 724, 754,
+ 0, 0, 0, 722, 32, 0, 620, 0, 0, 944,
+ 622, 0, 0, 0, 104, 104, 104, 104, 0, 0,
+ 0, 0, 470, 472, 476, 0, 0, 0, 0, 0,
+ 0, 7, 8, 9, 10, 167, 12, 13, 0, 0,
+ 730, 0, 14, 0, 724, 0, 0, 0, 0, 299,
+ 8, 9, 10, 0, 0, 1354, 16, 0, 17, 18,
+ 0, 0, 257, 724, 20, 0, 0, 0, 0, 21,
+ 0, 0, 0, 23, 104, 617, 528, 0, 0, 0,
+ 0, 0, 26, 0, 27, 28, 0, 21, 615, 0,
+ 528, 528, 0, 631, 250, 0, 0, 0, 1151, 0,
+ 905, 0, 27, 318, 907, 0, 0, 0, 1152, 0,
+ 0, 0, 742, 743, 0, 754, 32, 0, 620, 203,
+ 0, 1153, 622, 0, 0, 0, 519, 0, 0, 0,
+ 299, 393, 394, 10, 32, 0, 7, 8, 9, 10,
+ 214, 215, 216, 133, 0, 0, 257, 14, 0, 0,
+ 133, 0, 0, 0, 0, 0, 0, 0, 203, 949,
+ 203, 203, 238, 631, 18, 0, 0, 0, 21, 20,
+ 0, 0, 0, 257, 21, 250, 0, 0, 23, 0,
+ 617, 0, 0, 27, 318, 0, 0, 26, 0, 27,
+ 28, 0, 0, 0, 0, 0, 0, 7, 127, 128,
+ 10, 0, 0, 942, 0, 203, 0, 0, 0, 949,
+ 0, 0, 0, 943, 0, 32, 203, 203, 0, 203,
+ 0, 32, 0, 620, 0, 18, 944, 622, 0, 0,
+ 0, 0, 0, 0, 257, 21, 133, 0, 724, 80,
+ 724, 80, 724, 0, 0, 0, 1044, 80, 26, 80,
+ 27, 28, 0, 0, 747, 104, 0, 0, 0, 753,
+ 0, 104, 0, 0, 30, 0, 476, 0, 528, 528,
+ 528, 0, 0, 0, 31, 0, 299, 8, 9, 10,
+ 528, 0, 32, 0, 0, 782, 0, 33, 0, 83,
+ 0, 788, 0, 0, 0, 0, 0, 0, 0, 106,
+ 0, 0, 0, 796, 797, 0, 798, 0, 126, 134,
+ 0, 0, 0, 0, 21, 145, 145, 0, 145, 0,
+ 83, 250, 0, 0, 0, 0, 0, 83, 0, 27,
+ 318, 0, 0, 0, 0, 0, 470, 472, 476, 724,
+ 145, 0, 83, 299, 127, 128, 10, 0, 0, 0,
+ 239, 0, 0, 528, 0, 528, 0, 247, 0, 0,
+ 0, 32, 104, 0, 0, 0, 528, 0, 104, 247,
+ 905, 905, 905, 0, 0, 0, 0, 0, 1128, 0,
+ 0, 21, 0, 0, 0, 0, 0, 0, 250, 0,
+ 0, 0, 7, 8, 9, 10, 27, 318, 13, 0,
+ 0, 893, 894, 0, 0, 0, 893, 626, 630, 633,
+ 104, 0, 104, 0, 203, 203, 1155, 0, 0, 0,
+ 18, 83, 0, 0, 0, 145, 145, 0, 32, 0,
+ 21, 145, 0, 0, 145, 145, 145, 0, 0, 0,
+ 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
+ 83, 0, 0, 0, 83, 0, 0, 0, 0, 193,
+ 145, 83, 0, 1155, 0, 0, 0, 0, 0, 194,
+ 0, 0, 0, 0, 0, 0, 104, 32, 145, 145,
+ 145, 0, 195, 0, 0, 0, 0, 0, 0, 8,
+ 9, 0, 104, 12, 245, 1044, 724, 0, 0, 14,
+ 0, 0, 0, 0, 104, 0, 0, 145, 0, 0,
+ 0, 0, 0, 16, 0, 17, 0, 1216, 0, 0,
+ 0, 20, 0, 0, 0, 80, 0, 0, 0, 0,
+ 23, 0, 0, 0, 0, 0, 0, 0, 104, 26,
+ 104, 130, 131, 145, 0, 0, 0, 0, 762, 0,
+ 7, 8, 763, 10, 167, 12, 13, 0, 0, 0,
+ 0, 14, 0, 0, 0, 0, 0, 1065, 104, 1067,
+ 0, 0, 0, 528, 528, 16, 528, 17, 18, 19,
+ 0, 247, 145, 20, -525, 0, 0, 0, 21, 0,
+ 0, 0, 23, 764, 0, 168, 0, 0, 0, 0,
+ 0, 26, 0, 27, 28, 0, 0, 765, 0, 766,
+ 0, 623, 623, 623, 0, 0, 0, 30, 0, 0,
+ 0, 203, 203, 203, 203, 1155, 247, 31, 0, 203,
+ 616, 0, 145, 145, 632, 32, 0, 0, 0, 641,
+ 33, 1101, 1102, 83, 1104, 7, 127, 128, 10, 0,
+ 0, 516, 1155, 1155, 1155, 0, -525, 0, 0, 0,
+ 0, 0, 1033, 1034, 9, 10, 0, 0, 0, 0,
+ 0, 0, 1122, 18, 0, 0, 0, 678, 882, 884,
+ 0, 0, 0, 21, 0, 203, 247, 0, 145, 247,
+ 144, 0, 0, 80, 0, 0, 26, 0, 27, 28,
+ 21, 0, 0, 145, 0, 0, 145, 0, 0, 0,
+ 0, 0, 30, 26, 0, 27, 28, 0, 145, 1204,
+ 0, 1035, 31, 1157, 0, 0, 83, 0, 0, 193,
+ 32, 0, 0, 0, 0, 33, 0, 0, 0, 194,
+ 0, 0, 203, 203, 0, 203, 947, 32, 626, 630,
+ 0, 633, 195, 0, 145, 0, 145, 0, 145, 145,
+ 145, 0, 0, 0, 145, 0, 0, 0, 0, 145,
+ 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
+ 0, 203, 949, 203, 0, 0, 0, 0, 0, 0,
+ 83, 0, 0, 630, 0, 0, 1202, 0, 0, 0,
+ 104, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
+ 0, 0, 8, 9, 0, 167, 12, 13, 0, 0,
+ 730, 0, 14, 0, 0, 0, 0, 247, 247, 247,
+ 247, 0, 0, 0, 0, 0, 16, 0, 17, 18,
+ 0, 0, 0, 0, 20, 0, 0, 0, 0, 0,
+ 0, 0, 0, 23, 0, 617, 0, 7, 8, 9,
+ 10, 0, 26, 0, 130, 131, 0, 0, 630, 582,
+ 583, 584, 585, 586, 587, 588, 589, 590, 618, 0,
+ 0, 0, 623, 623, 0, 623, 0, 247, 619, 145,
+ 0, 0, 902, 0, 1260, 21, 1155, 0, 620, 0,
+ 0, 621, 622, 145, 145, 0, 632, 0, 26, 0,
+ 27, 28, 0, 906, 192, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 193, 0, 641, 0, 0, 0,
+ 0, 0, 145, 1273, 194, 0, 0, 0, 0, 0,
+ 0, 1114, 32, 1115, 0, 0, 0, 195, 0, 0,
+ 623, 0, 623, 623, 1121, 623, 678, 0, 882, 884,
+ 7, 8, 9, 10, 126, 0, 1155, 1155, 1155, 0,
+ 0, 145, 632, 145, 145, 239, 632, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 104, 0, 18, 0,
+ 0, 203, 0, 0, 0, 0, 0, 623, 21, 979,
+ 1363, 0, 882, 884, 1364, 0, 0, 0, 0, 0,
+ 0, 26, 0, 27, 28, 0, 0, 0, 145, 0,
+ 0, 0, 632, 0, 0, 0, 0, 473, 0, 145,
+ 145, 0, 145, 0, 0, 0, 0, 474, 0, 1380,
+ 0, 0, 0, 0, 0, 32, 979, 368, 370, 134,
+ 475, 0, 83, 0, 83, 0, 0, 0, 0, 1045,
+ 83, 0, 83, 0, 0, 0, 0, 0, 247, 0,
+ 0, 0, 623, 0, 247, 0, 0, 0, 0, 0,
+ 0, 145, 145, 145, 7, 8, 9, 10, 205, 12,
+ 206, 0, 0, 145, 0, 14, 0, 0, 0, 0,
+ 0, 0, 51, 0, 0, 0, 0, 0, 0, 16,
+ 0, 17, 18, 0, 0, 0, 1439, 20, 0, 0,
+ 1440, 0, 21, 0, 0, 0, 23, 0, 51, 51,
+ 0, 152, 0, 51, 0, 26, 0, 27, 28, 0,
+ 51, 207, 1455, 1456, 0, 623, 0, 623, 0, 0,
+ 0, 30, 0, 51, 0, 51, 0, 0, 623, 0,
+ 0, 31, 902, 902, 902, 0, 145, 0, 145, 32,
+ 0, 0, 0, 0, 33, 247, 0, 0, 253, 145,
+ 0, 247, 0, 906, 906, 906, 0, 0, 0, 0,
+ 0, 641, 7, 8, 9, 10, 0, 0, 245, 0,
+ 0, 0, 0, 0, 0, 0, 623, 623, 623, 1114,
+ 1115, 882, 884, 0, 0, 0, 0, 1121, 0, 0,
+ 18, 0, 0, 247, 0, 247, 0, 145, 145, 632,
+ 21, 395, 395, 0, 51, 0, 0, 0, 51, 51,
+ 882, 884, 253, 26, 51, 27, 28, 152, 152, 152,
+ 0, 0, 0, 0, 430, 902, 0, 0, 0, 193,
+ 0, 0, 0, 51, 0, 0, 0, 51, 559, 194,
+ 0, 0, 0, 51, 51, 0, 906, 32, 0, 0,
+ 0, 0, 195, 0, 0, 0, 0, 0, 0, 247,
+ 0, 51, 51, 152, 0, 0, 0, 0, 0, 0,
+ 0, 253, 0, 0, 0, 247, 0, 0, 1045, 0,
+ 0, 0, 0, 0, 0, 0, 0, 247, 0, 762,
+ 51, 7, 8, 763, 10, 167, 12, 13, 0, 0,
+ 1114, 1115, 14, 1121, 0, 0, 0, 0, 83, 0,
+ 0, 685, 0, 0, 0, 0, 16, 0, 17, 18,
+ 19, 247, 0, 247, 20, -526, 51, 0, 0, 21,
+ 0, 0, 0, 23, 764, 0, 168, 0, 0, 0,
+ 0, 0, 26, 0, 27, 28, 0, 0, 765, 0,
+ 766, 247, 0, 0, 0, 0, 145, 145, 30, 145,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 0, 0, 0, 0, 32, 732, 0, 0,
+ 0, 33, 0, 623, 623, 623, 623, 623, 0, 0,
+ 0, 623, 0, 0, 0, 0, 556, -526, 0, 0,
+ 0, 0, 0, 0, 145, 145, 145, 145, 632, 0,
+ 0, 0, 145, 395, 902, 902, 902, 0, 0, 979,
+ 0, 253, 0, 0, 0, 0, 51, 0, 0, 0,
+ 0, 1348, 1349, 9, 10, 906, 906, 906, 0, 0,
+ 0, 0, 0, 0, 801, 0, 0, 804, 0, 0,
+ 0, 806, 807, 809, 810, 811, 979, 0, 0, 0,
+ 395, 0, 0, 0, 559, 0, 0, 0, 145, 21,
+ 0, 51, 0, 145, 0, 0, 83, 828, 0, 0,
+ 0, 0, 26, 0, 27, 28, 51, 0, 0, 51,
+ 1350, 0, 0, 0, 0, 430, 430, 430, 193, 0,
+ 0, 51, 0, 0, 623, 623, 0, 623, 194, 51,
+ 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
+ 0, 195, 0, 0, 0, 145, 145, 0, 145, 0,
+ 0, 885, 0, 0, 0, 0, 0, 51, 885, 51,
+ 0, 152, 152, 152, 8, 9, 0, 51, 12, 13,
+ 0, 0, 51, 1411, 14, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 145, 632, 145, 0, 16, 0,
+ 17, 0, 78, 51, 0, 0, 20, 0, 0, 0,
+ 0, 0, 0, 247, 0, 23, 0, 0, 0, 979,
+ 0, 0, 0, 0, 26, 0, 130, 131, 78, 78,
+ 0, 78, 556, 78, 0, 556, 0, 0, 0, 0,
+ 78, 762, 0, 7, 8, 763, 10, 167, 12, 13,
+ 556, 556, 556, 78, 14, 78, 0, 0, 0, 0,
+ 0, 0, 0, 858, 0, 556, 0, 0, 16, 0,
+ 17, 18, 19, 0, 0, 0, 20, 685, 0, 0,
+ 0, 21, 0, 0, 0, 23, 764, 0, 168, 0,
+ 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
+ 765, 0, 766, 0, 0, 0, 0, 0, 0, 906,
+ 30, 0, 0, 253, 0, 0, 0, 0, 0, 0,
+ 31, 0, 0, 732, 0, 0, 556, 0, 32, 732,
+ 0, 0, 0, 33, 78, 159, 0, 0, 78, 78,
+ 0, 0, 0, 0, 78, 51, 0, 78, 78, 78,
+ 0, 0, 0, 0, 0, 0, 0, 204, 0, 0,
+ 0, 0, 0, 78, 0, 0, 0, 78, 0, 395,
+ 0, 0, 0, 78, 78, 0, 395, 0, 0, 906,
+ 906, 906, 0, 0, 51, 51, 51, 51, 0, 0,
+ 0, 78, 78, 78, 0, 0, 0, 1095, 0, 247,
+ 0, 0, 0, 0, 145, 0, 0, 0, 0, 7,
+ 8, 9, 10, 0, 0, 13, 0, 0, 0, 0,
+ 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 828, 51, 0, 0, 0, 51, 732, 18, 0, 0,
+ 885, 0, 51, 51, 0, 51, 0, 21, 0, 0,
+ 0, 159, 159, 159, 0, 0, 78, 0, 0, 0,
+ 26, 0, 27, 28, 0, 51, 0, 51, 0, 18,
+ 0, 0, 51, 51, 0, 51, 473, 204, 685, 0,
+ 1147, 0, 0, 0, 885, 0, 474, 0, 0, 0,
+ 0, 0, 0, 0, 32, 204, 204, 477, 0, 475,
+ 556, 569, 570, 571, 572, 573, 574, 575, 576, 577,
+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 0, 204, 0, 0, 0, 0, 0,
+ 0, 885, 0, 0, 0, 6, 0, 7, 8, 9,
+ 10, 11, 12, 13, 1189, 0, 0, 0, 14, 0,
+ 0, 0, 640, 0, 0, 0, 78, 0, 0, 0,
+ 732, 15, 16, 0, 17, 18, 19, 0, 0, 0,
+ 20, 0, 732, 0, 0, 21, 0, 0, 22, 23,
+ 24, 0, 25, 0, 0, 0, 0, 0, 26, 0,
+ 27, 28, 0, 0, 29, 0, 556, 556, 556, 529,
+ 0, 78, 430, 253, 30, 0, 732, 0, 732, 0,
+ 0, 0, 0, 0, 31, 0, 78, 0, 0, 78,
+ 0, 0, 32, 0, 0, 0, 0, 33, 0, 0,
+ 0, 78, 34, 0, 0, 0, 1246, 0, 0, 78,
+ 51, 51, 152, 0, 0, 0, 0, 253, 0, 625,
+ 625, 625, 0, -387, 8, 9, -387, -387, 12, 245,
+ 7, 8, 9, 10, 14, 0, 516, 78, 0, 78,
+ 0, 78, 78, 78, 0, 0, 0, 78, 16, 0,
+ 17, -387, 78, 0, 0, 78, 20, 0, 18, 1183,
+ 0, -387, 0, 885, 0, 23, 0, 617, 21, 0,
+ 0, 0, 0, 78, 26, 204, 130, 131, 0, 0,
+ 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
+ 618, 51, 885, 0, 0, 0, 0, 193, 0, 0,
+ 619, 0, 0, 0, 0, 0, 1333, 194, -387, 0,
+ 620, 0, 253, 621, 622, 32, 0, 0, 0, 0,
+ 195, 51, 7, 8, 9, 10, 214, 215, 216, 0,
+ 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
+ 0, 204, 0, 204, 0, 477, 477, 477, 0, 0,
+ 18, 204, 0, 0, 0, 20, 204, 0, 0, 204,
+ 21, 0, 0, 0, 23, 0, 617, 0, 0, 0,
+ 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
+ 0, 0, 0, 0, 640, 0, 0, 0, 0, 942,
+ 0, 0, 1348, 127, 128, 10, 253, 0, 0, 943,
+ 0, 0, 0, 0, 0, 0, 0, 32, 0, 620,
+ 0, 0, 991, 622, 0, 78, 0, 51, 51, 152,
+ 152, 152, 0, 253, 0, 51, 0, 0, 0, 0,
+ 21, 0, 0, 0, 0, 0, 0, 0, 1189, 0,
+ 0, 0, 0, 26, 0, 27, 28, 0, 1183, 1183,
+ 1183, 1350, 0, 0, 78, 78, 78, 78, 0, 30,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
+ 0, 0, 0, 0, 0, 0, 867, 32, 0, 0,
+ 0, 51, 33, 202, 0, 0, 51, 0, 0, 51,
+ 625, 625, 0, 625, 0, 7, 8, 9, 10, 0,
+ 625, 78, 0, 0, 0, 78, 0, 0, 256, 0,
+ 0, 260, 78, 78, 0, 78, 0, 0, 0, 204,
+ 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
+ 589, 590, 256, 21, 364, 78, 0, 78, 51, 51,
+ 0, 51, 78, 78, 0, 78, 26, 0, 27, 28,
+ 0, 0, 1418, 0, 0, 0, 0, 0, 946, 0,
+ 946, 946, 193, 625, 0, 0, 0, 0, 0, 0,
+ 0, 0, 194, 0, 0, 0, 0, 51, 51, 51,
+ 32, 0, 0, 0, 0, 195, 574, 575, 576, 577,
+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 202, 0, 946, 559, 166, 0, 7,
+ 8, 9, 10, 167, 12, 13, 204, 204, 0, 204,
+ 14, 202, 202, 202, 685, 0, 0, 0, 0, 0,
+ 0, 483, 0, 0, 16, 0, 17, 18, 19, 0,
+ 0, 0, 20, 0, 0, 0, 204, 21, 0, 0,
+ 202, 23, 0, 0, 168, 7, 8, 9, 10, 0,
+ 26, 0, 27, 28, 0, 0, 0, 0, 529, 529,
+ 529, 0, 0, 0, 640, 260, 30, 0, 0, 0,
+ 625, 0, 0, 0, 0, 0, 31, 0, 0, 256,
+ 0, 0, 1183, 21, 32, 0, 0, 8, 9, 33,
+ 0, 12, 13, 0, 34, 0, 26, 14, 27, 28,
+ 78, 78, 78, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 193, 17, 0, 0, 0, 0, 0, 20,
+ 0, 0, 194, 0, 0, 0, 0, 0, 23, 0,
+ 32, 0, 0, 0, 0, 195, 0, 26, 0, 130,
+ 131, 600, 0, 625, 0, 625, 0, 0, 0, 1185,
+ 0, 0, 1183, 1183, 1183, 0, 625, 0, 0, 0,
+ 625, 625, 625, 0, 0, 0, 0, 0, 0, 0,
+ 0, 256, 260, 0, 0, 0, 601, 51, 0, 0,
+ 0, 78, 0, 0, 0, 831, 0, 299, 8, 9,
+ 10, 167, 12, 300, 301, 302, 0, 303, 14, 0,
+ 0, 0, 0, 0, 946, 946, 1156, 0, 0, 0,
+ 0, 78, 16, 304, 17, 18, 19, 0, 305, 306,
+ 20, 202, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 1524, 0, -788, 319, 0, 0, 0, 0,
+ 0, 320, 0, 1156, 321, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 324, 102, 0, 0, 0, 0,
+ 325, 326, 327, 0, 121, 102, 0, 328, 0, 0,
+ 0, 102, 102, 0, 102, 204, 0, 202, 0, 202,
+ 0, 202, 202, 202, 329, 0, 0, 202, 0, 0,
+ 0, 0, 202, 0, 0, 202, 0, 78, 78, 78,
+ 78, 78, 0, 0, 0, 78, 235, 8, 9, 0,
+ 0, 12, 245, 0, 0, 0, 0, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1185, 1185,
+ 1185, 16, 0, 17, 0, 0, 0, 0, 0, 20,
+ 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
+ 617, 0, 0, 867, 867, 0, 867, 26, 0, 130,
+ 131, 78, 0, 0, 0, 388, 78, 121, 0, 78,
+ 0, 0, 0, 618, 102, 102, 0, 0, 0, 0,
+ 0, 102, 102, 619, 0, 102, 102, 102, 0, 416,
+ 102, 102, 102, 620, 0, 0, 621, 622, 0, 0,
+ 0, 946, 946, 1156, 1156, 1156, 0, 0, 0, 946,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78, 78,
+ 0, 78, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1156, 1156, 1156, 0, 0, 0, 0, 256,
+ 260, 577, 578, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 202, 0, 78, 78, 78,
+ 0, 0, 0, 0, 0, 204, 0, 0, 127, 128,
+ 0, 0, 215, 216, 0, 0, 0, 0, 14, 235,
+ 102, 578, 579, 580, 581, 582, 583, 584, 585, 586,
+ 587, 588, 589, 590, 202, 0, 202, 202, 0, 102,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 23,
+ 0, 617, 0, 0, 0, 0, 0, 0, 26, 0,
+ 130, 131, 946, 946, 0, 946, 0, 0, 0, 0,
+ 0, 0, 0, 0, 618, 0, 0, 0, 102, 0,
+ 0, 202, 0, 0, 619, 0, 0, 0, 0, 0,
+ 0, 0, 202, 202, 620, 202, 0, 628, 622, 0,
+ 0, 204, 0, 204, 0, 0, 0, 0, 0, 0,
+ 0, 720, 1185, 819, 820, 821, 10, 0, 12, 533,
+ 301, 302, 202, 303, 14, 0, 102, 0, 102, 102,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 304,
+ 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
+ 313, 314, 315, 316, 26, 0, 822, 823, 721, 0,
+ 0, 319, 0, 102, 0, 0, 0, 320, 0, 0,
+ 321, 0, 1185, 1185, 1185, 0, 0, 0, 322, 323,
+ 324, 0, 102, 0, 0, 0, 325, 326, 327, 102,
+ 0, 0, 102, 328, 824, 0, 0, 78, 0, 0,
+ 0, 0, 0, 0, 102, 0, 477, 127, 128, 983,
+ 329, 215, 216, 0, 8, 9, 0, 14, 12, 13,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 20,
+ 17, 0, 0, 256, 260, 256, 20, 0, 23, 0,
+ 617, 0, 0, 0, 0, 23, 0, 26, 0, 130,
+ 131, 0, 0, 0, 26, 0, 130, 131, 0, 0,
+ 0, 0, 102, 618, 0, 0, 477, 477, 477, 0,
+ 202, 202, 1154, 619, 0, 0, 0, 256, 0, 0,
+ 0, 0, 0, 620, 0, 0, 621, 622, 0, 102,
+ 0, 204, 0, 7, 8, 9, 10, 167, 12, 13,
+ 0, 0, 0, 0, 14, 0, 0, 260, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 1154,
+ 17, 18, 19, 0, 0, 0, 20, 0, 0, 262,
+ 0, 21, 8, 9, 0, 23, 12, 13, 168, 0,
+ 0, 0, 14, 0, 26, 0, 27, 28, 0, 0,
+ 0, 202, 0, 0, 0, 0, 16, 0, 17, 0,
+ 30, 0, 0, 0, 20, 102, 263, 264, 0, 0,
+ 31, 0, 483, 23, 0, 265, 102, 102, 32, 102,
+ 102, 0, 26, 33, 130, 131, 0, 266, 34, 0,
+ 0, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 0, 0, 288, 289, 290, 0, 0, 291,
+ 0, 0, 292, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 102, 0, 0, 0, 0, 0, 293, 102,
+ 121, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 0, 0, 0, 0, 256, 0, 0, 762,
+ 0, 7, 8, 763, 10, 167, 12, 13, 0, 0,
+ 0, 0, 14, 0, 0, 976, 0, 202, 202, 202,
+ 202, 1154, 0, 1272, 0, 202, 16, 0, 17, 18,
+ 19, 0, 0, 0, 20, -528, 0, 0, 0, 21,
+ 0, 0, 0, 23, 764, 0, 168, 0, 1154, 1154,
+ 1154, 0, 26, 0, 27, 28, 0, 0, 765, 0,
+ 766, 1478, 976, 0, 0, 102, 0, 0, 30, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 202, 0, 0, 0, 0, 32, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 102, 102, 102,
+ 0, 0, 0, 0, 0, 0, 0, -528, 0, 102,
+ 0, 1479, 569, 570, 571, 572, 573, 574, 575, 576,
+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
+ 587, 588, 589, 590, 0, 0, 0, 0, 202, 202,
+ 0, 202, 0, 1507, 0, -480, -480, -480, -480, -480,
+ -480, -480, 0, 0, -480, 0, -480, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -480, 0, -480,
+ 0, 0, 0, -480, 0, 0, 0, 202, -480, 202,
+ 0, 0, 102, -480, 102, 0, 0, -480, 0, -480,
+ 0, 0, 0, 0, 0, 102, -480, 0, -480, -480,
+ -480, -480, -480, 0, -480, -480, -480, -480, -480, -480,
+ -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
+ -480, -480, -480, -480, -480, -480, -480, 0, -480, -480,
+ -480, 0, -480, -480, -480, -480, -480, -480, 0, -480,
+ 0, 0, 0, 0, 1508, 0, 0, 0, 0, -480,
+ -480, -480, 658, -480, 0, 0, 569, 570, 571, 572,
+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
+ 583, 584, 585, 586, 587, 588, 589, 590, 0, 0,
+ 976, 1426, 0, 1283, 1284, 1285, 10, 167, 12, 300,
+ 301, 302, 1154, 303, 14, 1286, 0, 1287, 1288, 1289,
+ 1290, 1291, 1292, 1293, 1294, 1295, 1296, 15, 16, 304,
+ 17, 18, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 1297, 23, 1298, 0, 0, 312,
+ 313, 314, 315, 316, 26, 0, 1299, 318, 717, 0,
+ 1300, 319, 0, 0, 0, 0, 102, 320, 0, 0,
+ 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
+ 324, 0, 1154, 1154, 1154, 0, 325, 326, 327, 0,
+ 0, 0, 0, 328, 0, 1301, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 202, 0, 1427,
+ 329, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 102, 102, 1282, 102, 1283, 1284, 1285, 10,
+ 167, 12, 300, 301, 302, 0, 303, 14, 1286, 0,
+ 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296,
+ 15, 16, 304, 17, 18, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 1297, 23, 1298,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 1299,
+ 318, 717, 0, 1300, 319, 976, 0, 0, 0, 0,
+ 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 0, 328, 0, 1301, 0,
+ 0, 0, 976, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 0, 0, 0, 102, 551, 102,
+ 299, 8, 9, 10, 167, 12, 300, 301, 302, 730,
+ 303, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 304, 17, 18, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 617, 0, 312, 313, 314, 315,
+ 316, 26, 0, 27, 318, -312, 0, 0, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 898, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 899, 0, 0,
+ 0, 0, 0, 325, 326, 327, 0, 620, 0, 0,
+ 900, 622, 551, 0, 7, 8, 9, 10, 167, 12,
+ 300, 301, 302, 730, 303, 14, 0, 329, 0, 0,
+ 0, 0, 0, 0, 0, 976, 0, 0, 0, 16,
+ 304, 17, 18, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 0, 23, 0, 617, 0,
+ 312, 313, 314, 315, 316, 26, 0, 27, 28, -312,
+ 0, 0, 319, 0, 0, 0, 0, 0, 320, 0,
+ 0, 1180, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 1181, 0, 0, 0, 0, 0, 325, 326, 327,
+ 0, 620, 0, 0, 1182, 622, 729, 0, 299, 8,
+ 9, 10, 167, 12, 300, 301, 302, 730, 303, 14,
+ 0, 329, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 318, 0, 0, 0, 319, 0, 0, 0,
+ 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
+ 0, 325, 326, 327, 0, 0, 0, 551, 328, 299,
+ 8, 9, 10, 0, 12, 300, 301, 302, 0, 303,
+ 14, 0, 0, -798, 0, 329, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 304, 17, 18, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 27, 318, -312, 0, 0, 319, 0, 0,
+ 0, 0, 0, 320, 0, 0, 552, 0, 0, 0,
+ 0, 0, 0, 0, 322, 323, 553, 0, 0, 0,
+ 0, 0, 325, 326, 327, 0, 0, 0, 720, 554,
+ 819, 820, 821, 10, 0, 12, 533, 301, 302, 0,
+ 303, 14, 0, 0, 0, 0, 329, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 304, 17, 0, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 822, 823, 721, 0, 0, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
+ 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
+ 328, 824, 720, 0, 819, 820, 821, 10, 0, 12,
+ 533, 301, 302, 0, 303, 14, 0, 329, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 304, 17, 0, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
+ 312, 313, 314, 315, 316, 26, 0, 822, 823, 721,
+ 0, 0, 319, 0, 0, 0, 0, 0, 320, 0,
+ 0, 321, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 324, 0, 0, 0, 0, 0, 325, 326, 327,
+ 0, 0, 0, 720, 328, 819, 820, 821, 10, 0,
+ 12, 533, 301, 302, 0, 303, 14, 0, 0, 0,
+ -484, 329, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
+ 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
+ 0, 312, 313, 314, 315, 316, 26, 0, 822, 823,
+ 721, 0, 0, 319, 0, 0, 0, 0, 0, 320,
+ 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
+ 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
+ 327, 0, 0, 0, 720, 328, 299, 8, 9, 10,
+ 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
+ 0, 1321, 329, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 721, 0, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 0, 328, 0, 551, 0,
+ 7, 8, 9, 10, 1325, 12, 300, 301, 302, 0,
+ 303, 14, 0, 329, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 304, 17, 18, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 27, 28, -312, 0, 0, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 1494, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 1495, 0, 0,
+ 0, 0, 0, 325, 326, 327, 0, 0, 0, 720,
+ 1496, 299, 8, 9, 10, 0, 12, 533, 301, 302,
+ 0, 303, 14, 0, 0, 0, 0, 329, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 304, 17, 0,
+ 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
+ 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
+ 315, 316, 26, 0, 27, 318, 721, 0, 0, 319,
+ 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
+ 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
+ 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
+ 831, 328, 299, 8, 9, 10, 0, 12, 533, 301,
+ 302, 0, 303, 14, 0, 0, 0, 0, 329, 0,
+ 0, 0, 0, 0, 0, 0, 0, 16, 304, 17,
+ 0, 19, 0, 305, 306, 20, 0, 307, 308, 309,
+ 21, 310, 311, 0, 23, 0, 0, 0, 312, 313,
+ 314, 315, 316, 26, 0, 27, 318, 0, 0, 0,
+ 319, -788, 0, 0, 0, 0, 320, 0, 0, 321,
+ 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
+ 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
+ 0, 1577, 328, 299, 8, 9, 10, 0, 12, 300,
+ 301, 302, 0, 303, 14, 0, 0, 0, 0, 329,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 304,
+ 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
+ 313, 314, 315, 316, 26, 0, 27, 318, 0, 0,
+ -196, 319, 0, 0, 0, 0, 0, 320, 0, 0,
+ 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
+ 324, 0, 0, 0, 0, 0, 325, 326, 327, 0,
+ 0, 0, 831, 328, 299, 8, 9, 10, 0, 12,
+ 533, 301, 302, 0, 303, 14, 0, 0, 0, 0,
+ 329, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 304, 17, 0, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
+ 312, 313, 314, 315, 316, 26, 0, 27, 318, 0,
+ 0, 0, 319, 0, 0, 0, 0, 0, 320, 0,
+ 0, 321, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 324, 0, 0, 0, 0, 0, 325, 326, 327,
+ 0, 0, 0, 920, 328, 299, 8, 9, 10, 0,
+ 12, 533, 301, 302, 0, 303, 14, 0, 0, -788,
+ 0, 329, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
+ 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
+ 0, 312, 313, 314, 315, 316, 26, 0, 27, 318,
+ 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
+ 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
+ 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
+ 327, 0, 0, 0, 922, 328, 299, 8, 9, 10,
+ 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
+ 0, 0, 329, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 1542, 328, 299, 8, 9,
+ 10, 0, 12, 533, 301, 302, 0, 303, 14, 0,
+ 0, 0, 0, 329, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 0, 0, 0, 319, 0, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
+ 325, 326, 327, 299, 8, 9, 10, 328, 12, 533,
+ 301, 302, 0, 303, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 329, 0, 0, 0, 16, 304,
+ 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
+ 313, 314, 315, 316, 26, 0, 27, 318, 0, 0,
+ 0, 319, 0, 0, 0, 0, 0, 320, 0, 762,
+ 321, 7, 8, 763, 10, 167, 12, 13, 322, 323,
+ 324, 0, 14, 0, 0, 0, 325, 326, 327, 0,
+ 0, 0, 0, 328, 0, 0, 16, 0, 17, 18,
+ 19, 0, 0, 0, 20, -527, 0, 0, 0, 21,
+ 329, 870, 0, 23, 764, 0, 168, 0, 0, 0,
+ 0, 0, 26, 0, 27, 28, 0, 0, 765, 0,
+ 766, 0, 0, 0, 0, 0, 0, 0, 30, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
+ 0, 33, 0, 0, 1283, 1284, 1285, 10, 167, 12,
+ 300, 301, 302, 0, 303, 14, 1286, -527, 1287, 1288,
+ 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 15, 16,
+ 304, 17, 18, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 1297, 23, 1298, 0, 0,
+ 312, 313, 314, 315, 316, 26, 0, 1299, 318, 717,
+ 0, 1300, 319, 0, 0, 0, 0, 0, 320, 0,
+ 0, 321, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 324, 0, 0, 0, 0, 0, 325, 326, 327,
+ 0, 0, 0, 0, 328, 0, 1301, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 18, 0, 0, 0, 1285, 203, 988, 203, 0, 0,
- 21, 0, 145, 0, 145, 0, 145, 145, 145, 0,
- 0, 0, 145, 26, 104, 27, 28, 145, 0, 6,
- 145, 7, 8, 9, 10, 11, 12, 13, 0, 193,
- 0, 0, 14, 1298, 0, 0, 0, 0, 0, 194,
- 134, 0, 0, 83, 0, 83, 16, 32, 17, 18,
- 807, 83, 195, 83, 20, 0, 0, 0, 0, 21,
- 0, 0, 0, 23, 0, 0, 438, 0, 0, 0,
- 761, 762, 26, 773, 27, 28, 0, 0, 29, 0,
- 1363, 0, 0, 0, 1364, 0, 0, 0, 30, 0,
- 0, 0, 0, 248, 248, 248, 248, 0, 31, 1176,
- 0, 0, 0, 0, 1377, 0, 32, 0, 1378, 0,
- 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 127, 128, 10, 0, 0, 535, 0,
- 0, 0, 0, 0, 0, 642, 642, 0, 642, 0,
- 0, 0, 0, 1394, 0, 941, 0, 0, 0, 0,
- 18, 0, 0, 248, 0, 145, 0, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 1176, 1176, 1176, 145,
- 145, 0, 651, 26, 0, 27, 28, 0, 0, 945,
- 0, 0, 104, 0, 0, 0, 0, 203, 0, 30,
- 0, 0, 660, 7, 127, 128, 10, 0, 145, 31,
- 0, 0, 0, 642, 0, 642, 642, 32, 642, 0,
- 0, 0, 33, 477, 0, 0, 0, 0, 0, 0,
- 0, 18, 697, 0, 0, 0, 0, 0, 0, 0,
- 126, 21, 0, 0, 0, 1466, 1467, 145, 651, 145,
- 145, 239, 651, 0, 26, 0, 27, 28, 0, 0,
- 642, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 0, 0, 1018, 0, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
- 471, 473, 477, 33, 145, 0, 0, 0, 651, 0,
- 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
- 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
- 13, 0, 1018, 749, 248, 14, 0, 807, 0, 0,
- 0, 0, 0, 0, 0, 0, 248, 0, 0, 16,
+ 1431, 329, 1283, 1284, 1285, 10, 167, 12, 300, 301,
+ 302, 0, 303, 14, 1286, 0, 1287, 1288, 1289, 1290,
+ 1291, 1292, 1293, 1294, 1295, 1296, 15, 16, 304, 17,
+ 18, 19, 0, 305, 306, 20, 0, 307, 308, 309,
+ 21, 310, 311, 1297, 23, 1298, 0, 0, 312, 313,
+ 314, 315, 316, 26, 0, 1299, 318, 717, 0, 1300,
+ 319, 0, 0, 0, 0, 0, 320, 0, 0, 321,
+ 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
+ 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
+ 0, 0, 328, 0, 1301, 0, 1283, 1284, 1285, 10,
+ 167, 12, 300, 301, 302, 0, 303, 14, 1286, 329,
+ 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296,
+ 15, 16, 304, 17, 18, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 1297, 23, 1298,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 1299,
+ 318, 1551, 0, 1300, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 0, 328, 0, 1301, 0,
+ 1283, 1284, 1285, 10, 167, 12, 300, 301, 302, 0,
+ 303, 14, 1286, 329, 1287, 1288, 1289, 1290, 1291, 1292,
+ 1293, 1294, 1295, 1296, 15, 16, 304, 17, 18, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 1297, 23, 1298, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 1299, 318, 0, 0, 1300, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
+ 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
+ 328, 0, 1301, 299, 8, 9, 10, 167, 12, 300,
+ 301, 302, 730, 303, 14, 0, 0, 329, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 304,
+ 17, 18, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 0, 23, 0, 617, 0, 312,
+ 313, 314, 315, 316, 26, 0, 27, 318, 0, 0,
+ 0, 319, 0, 0, 0, 0, 0, 320, 0, 0,
+ 898, 0, 0, 0, 0, 0, 0, 0, 322, 323,
+ 899, 0, 0, 0, 0, 0, 325, 326, 327, 0,
+ 620, 0, 0, 900, 622, 7, 8, 9, 10, 167,
+ 12, 300, 301, 302, 730, 303, 14, 0, 0, 0,
+ 329, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 304, 17, 18, 19, 0, 305, 306, 20, 0,
+ 307, 308, 309, 21, 310, 311, 0, 23, 0, 617,
+ 0, 312, 313, 314, 315, 316, 26, 0, 27, 28,
+ 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
+ 0, 0, 1180, 0, 0, 0, 0, 0, 0, 0,
+ 322, 323, 1181, 0, 0, 0, 0, 0, 325, 326,
+ 327, 0, 620, 0, 0, 1182, 622, 299, 8, 9,
+ 10, 0, 12, 300, 301, 302, 0, 303, 14, 0,
+ 0, 0, 329, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 304, 17, 18, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 617, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 320, 0, 0, 898, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 899, 0, 0, 0, 0, 0,
+ 325, 326, 327, 0, 620, 0, 0, 900, 622, 7,
+ 8, 9, 10, 0, 12, 300, 301, 302, 0, 303,
+ 14, 0, 0, 0, 329, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 304, 17, 18, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 617, 0, 312, 313, 314, 315, 316,
+ 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 320, 0, 0, 1180, 0, 0, 0,
+ 0, 0, 0, 0, 322, 323, 1181, 0, 0, 0,
+ 0, 0, 325, 326, 327, 0, 620, 0, 0, 1182,
+ 622, 299, 8, 9, 10, 0, 12, 533, 301, 302,
+ 0, 303, 14, 0, 0, 0, 329, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 304, 17, 18,
+ 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
+ 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
+ 315, 316, 26, 0, 27, 318, 0, 0, 0, 319,
+ 0, 0, 0, 0, 0, 320, 0, 0, 552, 0,
+ 0, 0, 0, 0, 0, 0, 322, 323, 553, 0,
+ 0, 0, 0, 0, 325, 326, 327, 299, 8, 9,
+ 10, 554, 12, 533, 301, 302, 0, 303, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
+ 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 0, 0, 1404, 319, 0, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
+ 325, 326, 327, 0, 0, 0, 0, 328, 299, 8,
+ 9, 10, 167, 12, 300, 301, 302, 0, 303, 14,
+ 0, 0, 0, 0, 329, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 318, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
+ 0, 325, 326, 327, 7, 8, 9, 10, 328, 12,
+ 533, 301, 302, 0, 303, 14, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 329, 0, 0, 0, 16,
+ 304, 17, 18, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
+ 312, 313, 314, 315, 316, 26, 0, 27, 28, 0,
+ 0, 0, 319, 0, 0, 0, 0, 0, 320, 0,
+ 0, 1494, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 1495, 0, 0, 0, 0, 0, 325, 326, 327,
+ 299, 8, 9, 10, 1496, 12, 300, 301, 302, 0,
+ 303, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 329, 0, 0, 0, 16, 304, 17, 0, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 317, 318, 0, 0, 0, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
+ 0, 0, 0, 325, 326, 327, 299, 8, 9, 10,
+ 328, 12, 300, 301, 302, 0, 303, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 329, 0, 0,
+ 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
+ 326, 327, 299, 8, 9, 10, 328, 12, 533, 301,
+ 302, 0, 303, 14, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 0, 0, 0, 16, 304, 17,
+ 0, 19, 0, 305, 306, 20, 0, 307, 308, 309,
+ 21, 310, 311, 0, 23, 0, 0, 0, 312, 313,
+ 314, 315, 316, 26, 0, 27, 318, 0, 0, 0,
+ 319, 0, 0, 0, 0, 0, 320, 0, 0, 321,
+ 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
+ 0, 0, 0, 0, 0, 325, 326, 327, 299, 8,
+ 9, 10, 328, 12, 533, 301, 302, 0, 303, 14,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 329,
+ 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 318, 566, 0, 0, 0, 0, 0, 0,
+ 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
+ 0, 325, 326, 327, 299, 8, 9, 10, 567, 12,
+ 533, 301, 302, 0, 303, 14, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 329, 0, 0, 0, 16,
+ 304, 17, 0, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
+ 312, 313, 314, 315, 316, 26, 0, 27, 318, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 320, 0,
+ 0, 321, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 324, 0, 0, 0, 0, 0, 325, 326, 327,
+ 0, 0, 0, 0, 328, 605, 299, 8, 9, 10,
+ 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
+ 0, 329, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 304, 17, 18, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 320, 0, 0, 552, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 553, 0, 0, 0, 0, 0, 325,
+ 326, 327, 1140, 8, 9, 10, 554, 12, 533, 301,
+ 302, 0, 303, 14, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 0, 0, 0, 16, 304, 17,
+ 0, 19, 0, 305, 306, 20, 0, 307, 308, 309,
+ 21, 310, 311, 0, 23, 0, 0, 0, 312, 313,
+ 314, 315, 316, 26, 0, 27, 318, 0, 0, 0,
+ 319, 0, 0, 0, 0, 0, 320, 0, 0, 321,
+ 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
+ 0, 0, 0, 0, 0, 325, 326, 327, 7, 8,
+ 9, 10, 328, 12, 300, 301, 302, 0, 303, 14,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 329,
+ 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 320, 0, 0, 1494, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 1495, 0, 0, 0, 0,
+ 0, 325, 326, 327, 299, 8, 9, 10, 1496, 12,
+ 533, 301, 302, 0, 303, 14, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 329, 0, 0, 0, 16,
+ 304, 17, 0, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
+ 312, 313, 314, 315, 316, 26, 0, 27, 318, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 320, 0,
+ 0, 321, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 324, 0, 0, 0, 0, 0, 325, 326, 327,
+ 299, 8, 9, 10, 534, 12, 533, 301, 302, 0,
+ 303, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 329, 0, 0, 0, 16, 304, 17, 0, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 27, 318, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
+ 0, 0, 0, 325, 326, 327, 299, 8, 9, 10,
+ 537, 12, 533, 301, 302, 0, 303, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 329, 0, 0,
+ 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 320, 0, 6, 321, 7, 8, 9, 10, 11, 12,
+ 13, 322, 323, 324, 0, 14, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 0, 328, 0, 0, 16,
0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
- 0, 0, 21, 0, 0, 642, 23, 83, 636, 0,
- 0, 0, 0, 0, 248, 26, 0, 27, 28, 0,
- 248, 0, 0, 0, 0, 0, 0, 145, 145, 145,
- 0, 1172, -387, 8, 9, -387, -387, 12, 246, 145,
- 0, 1173, 0, 14, 0, 0, 0, 0, 0, 32,
- 0, 639, 0, 0, 1174, 641, 0, 16, 0, 17,
- -387, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- -387, 0, 0, 0, 23, 0, 636, 0, 642, 0,
- 642, 0, 0, 26, 0, 130, 131, 0, 0, 0,
- 0, 642, 0, 0, 0, 941, 941, 941, 0, 637,
- 7, 8, 9, 10, 214, 215, 216, 0, 0, 638,
- 0, 14, 145, 0, 145, 0, 0, -387, 0, 639,
- 0, 248, 640, 641, 0, 145, 0, 248, 18, 945,
- 945, 945, 0, 20, 0, 0, 0, 660, 21, 642,
- 642, 642, 23, 0, 636, 0, 0, 0, 0, 0,
- 0, 26, 0, 27, 28, 51, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 193, 0, 248,
- 0, 248, 0, 145, 145, 651, 0, 194, 0, 0,
- 0, 51, 51, 0, 152, 32, 51, 0, 941, 0,
- 1438, 0, 0, 51, 598, 599, 600, 601, 602, 603,
- 604, 605, 606, 607, 608, 609, 51, 0, 51, 795,
- 8, 507, 10, 205, 12, 206, 0, 0, 0, 0,
- 14, 0, 945, 0, 0, 0, 0, 0, 0, 0,
- 0, 254, 0, 0, 16, 248, 17, 18, 0, 0,
- 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
- 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 145, 27, 28, 0, 0, 145, 0, 797, 83,
- 0, 0, 0, 0, 0, 0, 30, 0, 0, 248,
- 0, 248, 0, 0, 396, 396, 31, 51, 0, 0,
- 0, 51, 51, 0, 32, 254, 0, 51, 0, 33,
- 152, 152, 152, 0, 0, 0, 0, 431, 0, 248,
- 0, 0, 0, 0, 145, 145, 51, 145, 0, 0,
- 51, 0, 0, 0, 0, 0, 51, 51, 642, 642,
- 642, 642, 642, 0, 0, 0, 642, 0, 0, 0,
- 0, 0, 0, 0, 51, 51, 152, 0, 0, 0,
- 0, 0, 0, 0, 254, 0, 0, 0, 0, 941,
- 941, 941, 145, 145, 145, 145, 651, 0, 0, 0,
- 145, 0, 0, 51, 0, 0, 506, 1018, 7, 8,
- 507, 10, 167, 12, 13, 0, 0, 0, 0, 14,
- 0, 0, 0, 945, 945, 945, 51, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
- 51, 20, -525, 0, 1018, 0, 21, 0, 0, 0,
- 23, 508, 0, 168, 7, 8, 9, 10, 0, 26,
- 246, 27, 28, 0, 0, 509, 0, 510, 0, 0,
- 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
- 0, 0, 18, 642, 642, 31, 642, 0, 0, 0,
- 0, 0, 21, 32, 0, 0, 0, 0, 33, 0,
+ 0, 0, 21, 329, 0, 0, 23, 0, 0, 437,
0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
- 575, 0, 0, 0, -525, 0, 0, 145, 145, 0,
- 145, 193, 0, 0, 0, 0, 0, 396, 0, 0,
- 0, 194, 0, 0, 0, 254, 0, 0, 0, 32,
- 51, 0, 0, 0, 195, 1425, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 145, 651, 145, 595,
- 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
- 606, 607, 608, 609, 396, 248, 0, 0, 0, 0,
- 0, 1018, 0, 0, 0, 51, 0, 0, 0, 506,
- 0, 7, 8, 507, 10, 167, 12, 13, 0, 0,
- 51, 0, 14, 51, 0, 0, 0, 0, 0, 431,
- 431, 431, 0, 0, 0, 51, 16, 0, 17, 18,
- 19, 0, 0, 51, 20, -526, 0, 0, 0, 21,
- 0, 0, 0, 23, 508, 0, 168, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 509, 0,
- 510, 51, 0, 51, 0, 152, 152, 152, 30, 0,
- 945, 51, 0, 0, 0, 0, 51, 0, 31, 51,
- 0, 0, 1233, 1234, 9, 10, 32, 0, 0, 0,
- 0, 33, 0, 8, 9, 0, 0, 12, 13, 0,
- 0, 0, 51, 14, 51, 0, 0, -526, 0, 51,
- 51, 0, 51, 0, 0, 0, 0, 16, 0, 17,
- 21, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 0, 0, 0, 26, 23, 27, 28, 945, 945, 945,
- 0, 1235, 0, 26, 575, 130, 131, 575, 0, 193,
- 0, 0, 0, 248, 0, 0, 0, 0, 145, 194,
- 0, 0, 575, 575, 575, 0, 0, 32, 0, 78,
- 0, 0, 195, 0, 0, 0, 0, 575, 0, 0,
- 0, 7, 8, 9, 10, 0, 6, 13, 7, 8,
- 9, 10, 11, 12, 13, 78, 78, 0, 78, 14,
- 78, 0, 0, 0, 0, 0, 0, 78, 0, 18,
- 0, 0, 15, 16, 0, 17, 18, 19, 0, 21,
- 78, 20, 78, 0, 0, 254, 21, 0, 0, 22,
- 23, 24, 26, 25, 27, 28, 0, 0, 575, 26,
- 0, 27, 28, 0, 0, 29, 0, 0, 474, 0,
- 0, 0, 0, 0, 0, 30, 0, 51, 475, 0,
- 0, 0, 0, 0, 0, 31, 32, 0, 0, 0,
- 0, 476, 0, 32, 0, 0, 0, 0, 33, 0,
- 0, 396, 0, 34, 0, 0, 0, 159, 396, 0,
- 0, 0, 0, 0, 0, 0, 51, 51, 51, 51,
- 0, 78, 0, 0, 0, 78, 78, 0, 0, 204,
- 0, 78, 0, 0, 78, 78, 78, 0, 0, 0,
- 0, 0, 0, 0, 795, 796, 9, 10, 0, 0,
- 78, 0, 0, 0, 78, 7, 8, 9, 10, 0,
- 78, 78, 0, 51, 0, 0, 0, 51, 0, 0,
- 0, 0, 0, 0, 51, 51, 0, 51, 78, 78,
- 78, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 21, 0, 26, 51, 27, 28, 0,
- 0, 1060, 0, 797, 0, 0, 26, 78, 27, 28,
- 0, 193, 192, 0, 0, 0, 0, 254, 0, 0,
- 0, 194, 193, 159, 159, 159, 51, 0, 0, 32,
- 78, 0, 194, 0, 195, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 78, 195, 0, 0, 0, 204,
- 0, 748, 575, 300, 8, 9, 10, 167, 12, 301,
- 302, 303, 749, 304, 14, 0, 0, 204, 204, 478,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
- 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 204, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
- 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 659, 0, 0, 329, 78, 0, 0, 0, 575, 575,
- 575, 0, 0, 0, 431, 254, 0, 0, -798, 0,
- 330, 0, 0, 7, 8, 9, 10, 205, 12, 206,
- 0, 0, 548, 0, 14, 597, 598, 599, 600, 601,
- 602, 603, 604, 605, 606, 607, 608, 609, 16, 78,
- 17, 18, 51, 51, 152, 0, 20, 0, 0, 254,
- 0, 21, 0, 0, 78, 23, 0, 78, 0, 0,
- 0, 0, 0, 0, 26, 0, 27, 28, 0, 78,
- 207, 0, 644, 644, 644, 0, 0, 78, 0, 0,
+ 0, 29, 0, 7, 8, 9, 10, 167, 12, 13,
+ 0, 30, 996, 0, 14, 0, 0, 0, 0, 0,
+ 0, 31, 0, 0, 0, 0, 0, 0, 16, 32,
+ 17, 18, 0, 0, 33, 0, 20, 0, 0, 0,
+ 0, 21, 0, 0, 0, 23, 0, 0, 0, 0,
+ 0, 0, 0, 0, 26, 0, 27, 28, 1033, 8,
+ 763, 10, 205, 12, 206, 0, 0, 0, 0, 14,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 1204, 0, 0, 0, 0, 0, 0, 32, 0,
- 0, 0, 0, 33, 0, 78, 0, 78, 0, 78,
- 78, 78, 0, 0, 0, 78, 0, 0, 0, 0,
- 78, 0, 0, 78, 0, 0, 0, 0, 204, 0,
- 51, 0, 0, 0, 0, 51, 0, 0, 51, 7,
- 8, 9, 10, 167, 12, 13, 78, 0, 78, 0,
- 14, 0, 0, 78, 78, 0, 78, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 0, 0,
- 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
- 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 0, 27, 28, 204, 0, 204, 0, 478, 478,
- 478, 0, 0, 0, 204, 0, 30, 0, 0, 204,
- 254, 0, 204, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 0, 0, 32, 0, 0, 0, 0, 33,
- 0, 51, 51, 152, 152, 152, 0, 254, 0, 51,
- 0, 0, 204, 0, 870, 0, 300, 8, 9, 10,
- 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 1204, 1204, 1204, 0, 0, 0, 0, 0,
- 659, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 319, 78, 0, 0, 320, -788, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 202, 0, 0, 326,
- 327, 328, 0, 0, 0, 0, 329, 0, 0, 0,
- 78, 78, 78, 78, 0, 0, 0, 906, 0, 0,
- 0, 257, 0, 330, 261, 0, 51, 51, 0, 51,
- 0, 644, 644, 0, 644, 0, 0, 0, 0, 0,
- 0, 644, 0, 0, 0, 257, 0, 365, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
- 204, 78, 0, 0, 0, 51, 51, 51, 78, 78,
- 0, 78, 592, 593, 594, 595, 596, 597, 598, 599,
- 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
- 78, 0, 0, 0, 0, 0, 0, 0, 0, 985,
- 0, 985, 985, 0, 644, 0, 0, 0, 0, 0,
- 0, 7, 8, 9, 10, 0, 202, 535, 0, 0,
- 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 202, 202, 202, 0, 0, 18,
- 0, 0, 0, 0, 484, 0, 985, 0, 0, 21,
- 0, 0, 0, 0, 0, 0, 0, 204, 204, 0,
- 204, 0, 26, 202, 27, 28, 0, 0, 0, 1204,
- 0, 0, 0, 0, 0, 0, 0, 0, 193, 204,
- 0, 7, 8, 9, 10, 167, 12, 13, 194, 261,
- 1035, 0, 14, 0, 0, 0, 32, 0, 0, 0,
- 0, 195, 0, 257, 0, 0, 16, 0, 17, 18,
- 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
- 0, 0, 0, 23, 0, 0, 0, 0, 0, 548,
- 548, 548, 26, 0, 27, 28, 1204, 1204, 1204, 0,
- 0, 644, 0, 0, 0, 0, 0, 0, 30, 0,
- 659, 0, 0, 0, 0, 0, 0, 51, 31, 0,
- 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
- 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 78, 78, 78, 0,
- 0, 0, 0, 0, 0, 257, 261, 0, 0, 0,
- 0, 7, 8, 9, 10, 205, 12, 206, 0, 0,
- 0, 0, 14, 0, 644, 0, 644, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 644, 17, 18,
- 0, 644, 644, 644, 20, 1206, 0, 0, 0, 21,
- 0, 0, 0, 23, 0, 202, 0, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 1435, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
- 0, 0, 0, 0, 78, 985, 985, 1177, 31, 78,
- 0, 0, 78, 0, 0, 0, 32, 0, 0, 0,
- 0, 33, 0, 0, 0, 7, 8, 9, 10, 205,
- 12, 206, 0, 0, 0, 0, 14, 0, 0, 0,
- 0, 202, 0, 202, 0, 202, 202, 202, 0, 0,
- 16, 202, 17, 18, 1177, 0, 202, 0, 20, 202,
+ 31, 0, 0, 16, 0, 17, 18, 0, 32, 0,
+ 0, 20, 0, 33, 0, 0, 21, 0, 0, 0,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 26,
+ 0, 27, 28, 0, 0, 0, 0, 1035, 0, 0,
+ 0, 0, 0, 0, 0, 30, 7, 8, 9, 10,
+ 205, 12, 206, 0, 0, 31, 0, 14, 0, 0,
+ 0, 0, 0, 32, 0, 0, 0, 0, 33, 0,
+ 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
+ 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
+ 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
+ 28, 0, 0, 1421, 0, 7, 8, 9, 10, 167,
+ 12, 13, 0, 30, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
+ 16, 32, 17, 18, 0, 0, 33, 0, 20, 0,
0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
- 0, 102, 0, 0, 0, 0, 0, 0, 0, 202,
- 121, 102, 30, 204, 0, 0, 0, 102, 102, 0,
- 102, 1489, 31, 0, 0, 78, 78, 78, 78, 78,
- 32, 0, 0, 78, 0, 33, 594, 595, 596, 597,
- 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
- 608, 609, 235, 0, 0, 0, 1206, 1206, 1206, 0,
- 0, 0, 0, 0, 0, 0, 906, 906, 0, 906,
- 0, 1490, 588, 589, 590, 591, 592, 593, 594, 595,
- 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
- 606, 607, 608, 609, 593, 594, 595, 596, 597, 598,
- 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
- 609, 389, 0, 121, 985, 985, 1177, 1177, 1177, 0,
- 102, 102, 985, 0, 0, 0, 0, 102, 102, 0,
- 0, 102, 102, 102, 0, 417, 102, 102, 102, 0,
- 0, 257, 261, 0, 0, 1177, 1177, 1177, 0, 0,
- 78, 78, 0, 78, 0, 0, 0, 202, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1233, 127,
- 128, 10, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
- 78, 78, 0, 0, 0, 0, 202, 0, 202, 202,
- 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
- 0, 27, 28, 0, 0, 235, 102, 1235, 0, 0,
- 0, 0, 0, 0, 0, 30, 0, 0, 0, 985,
- 985, 0, 985, 202, 0, 31, 102, 0, 0, 0,
- 0, 0, 0, 32, 202, 202, 0, 202, 33, 0,
- 0, 570, 0, 300, 8, 9, 10, 167, 12, 301,
- 302, 303, 749, 304, 14, 0, 202, 0, 204, 0,
- 204, 0, 0, 0, 0, 102, 0, 0, 16, 305,
- 17, 18, 19, 1206, 306, 307, 20, 484, 308, 309,
- 310, 21, 311, 312, 0, 23, 0, 636, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, -312, 0,
- 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 937, 0, 0, 102, 0, 102, 102, 0, 323, 324,
- 938, 7, 8, 9, 10, 0, 326, 327, 328, 0,
- 639, 0, 0, 939, 641, 0, 0, 0, 0, 0,
- 1206, 1206, 1206, 7, 8, 9, 10, 0, 0, 18,
- 330, 0, 0, 0, 0, 0, 0, 0, 0, 21,
- 102, 78, 478, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 0, 102,
- 0, 21, 0, 0, 0, 0, 102, 0, 474, 102,
- 0, 0, 0, 0, 26, 0, 27, 28, 475, 0,
- 1432, 102, 0, 0, 0, 0, 32, 0, 0, 0,
- 193, 476, 0, 0, 0, 257, 261, 257, 0, 0,
- 194, 0, 0, 0, 0, 0, 0, 0, 32, 478,
- 478, 478, 0, 195, 0, 0, 0, 0, 8, 9,
- 0, 205, 12, 206, 7, 8, 9, 10, 14, 0,
- 204, 0, 202, 202, 1175, 0, 0, 0, 0, 257,
- 0, 0, 16, 0, 17, 18, 0, 0, 0, 102,
- 20, 0, 0, 0, 0, 102, 0, 0, 0, 23,
- 0, 0, 21, 0, 0, 0, 0, 0, 26, 261,
- 130, 131, 0, 0, 0, 26, 0, 27, 28, 0,
- 0, 1175, 1460, 0, -479, -479, -479, -479, -479, -479,
- -479, 193, 0, -479, 102, -479, 0, 0, 0, 0,
- 0, 194, 0, 0, 0, 0, -479, 0, -479, 32,
- 0, 0, -479, 0, 195, 0, 0, -479, 0, 0,
- 202, 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, 0, -479, -479, -479,
- 102, -479, -479, -479, -479, -479, -479, 0, -479, 0,
- 0, 102, 102, 1461, 102, 102, 0, 0, -479, -479,
- -479, 0, -479, 0, 0, 0, 0, 0, 0, 0,
- 257, 0, 0, 0, 0, 0, 0, 8, 9, 0,
- 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
- 0, 202, 202, 202, 202, 1175, 0, 1297, 0, 202,
- 0, 16, 0, 17, 18, 0, 0, 102, 0, 20,
- 0, 0, 0, 0, 102, 121, 0, 0, 698, 0,
- 0, 168, 1175, 1175, 1175, 0, 235, 26, 0, 130,
- 131, 0, 0, 0, 0, 1440, 0, 1308, 1309, 1310,
- 10, 167, 12, 301, 302, 303, 0, 304, 14, 1311,
- 1015, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
- 1321, 15, 16, 305, 17, 18, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 1322, 23,
- 1323, 0, 0, 313, 314, 315, 316, 317, 26, 0,
- 1324, 319, 736, 0, 1325, 320, 0, 1015, 0, 0,
- 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 325, 0, 202, 202, 0, 202,
- 326, 327, 328, 0, 102, 0, 0, 329, 0, 1326,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1441, 330, 0, 0, 0, 0, 0,
- 0, 0, 102, 102, 102, 202, 0, 202, 0, 0,
- 0, 0, 0, 0, 102, 0, 1307, 0, 1308, 1309,
- 1310, 10, 167, 12, 301, 302, 303, 0, 304, 14,
- 1311, 0, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
- 1320, 1321, 15, 16, 305, 17, 18, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 1322,
- 23, 1323, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 1324, 319, 736, 0, 1325, 320, 0, 0, 0,
- 0, 0, 321, 0, 0, 322, 0, 102, 0, 102,
- 0, 0, 0, 323, 324, 325, 18, 0, 0, 0,
- 102, 326, 327, 328, 0, 0, 0, 0, 329, 1175,
- 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 330, 0, 0, 588, 589,
- 590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
- 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
- 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
- 13, 0, 0, 749, 0, 14, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1175, 1175, 1175, 16,
- 0, 17, 18, 0, 0, 1015, 0, 20, 0, 0,
- 0, 0, 0, 0, 0, 0, 23, 202, 0, 0,
- 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
- 0, 0, 0, 0, 0, 0, 570, 0, 7, 8,
- 9, 10, 167, 12, 301, 302, 303, 749, 304, 14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
- 0, 102, 0, 16, 305, 17, 18, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 28, -312, 0, 0, 320, 0, 0, 0,
- 0, 0, 321, 0, 0, 1201, 0, 0, 0, 102,
- 102, 0, 102, 323, 324, 1202, 0, 0, 0, 0,
- 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 330, 870, 0, 300, 8,
- 9, 10, 167, 12, 301, 302, 303, 0, 304, 14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1015, 16, 305, 17, 18, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, 1531, 0, -788, 320, 0, 0, 1015,
- 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
- 0, 326, 327, 328, 0, 0, 0, 0, 329, 739,
- 0, 858, 859, 860, 10, 0, 12, 552, 302, 303,
- 0, 304, 14, 0, 0, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
- 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
- 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
- 316, 317, 26, 0, 861, 862, 740, 0, 0, 320,
- 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
- 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
- 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
- 0, 329, 863, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1015, 1022, 330, 570,
- 0, 300, 8, 9, 10, 0, 12, 301, 302, 303,
- 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
- 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
- 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
- 316, 317, 26, 0, 27, 319, -312, 0, 0, 320,
- 0, 0, 0, 0, 0, 321, 0, 0, 571, 0,
- 0, 0, 0, 0, 0, 0, 323, 324, 572, 0,
- 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
- 739, 573, 858, 859, 860, 10, 0, 12, 552, 302,
- 303, 0, 304, 14, 0, 0, 0, 0, 330, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
- 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
- 315, 316, 317, 26, 0, 861, 862, 740, 0, 0,
- 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
- 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
- 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
- 0, 0, 329, 863, 739, 0, 858, 859, 860, 10,
- 0, 12, 552, 302, 303, 0, 304, 14, 0, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 861,
- 862, 740, 0, 0, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 0, 0, 739, 329, 858, 859, 860,
- 10, 0, 12, 552, 302, 303, 0, 304, 14, 0,
- 0, 0, -483, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
- 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
- 861, 862, 740, 0, 0, 320, 0, 0, 0, 0,
- 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
- 326, 327, 328, 0, 0, 0, 739, 329, 300, 8,
- 9, 10, 0, 12, 552, 302, 303, 0, 304, 14,
- 0, 0, 0, 1346, 330, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, 740, 0, 0, 320, 0, 0, 0,
- 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
- 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
- 570, 0, 7, 8, 9, 10, 1350, 12, 301, 302,
- 303, 0, 304, 14, 0, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
- 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
- 315, 316, 317, 26, 0, 27, 28, -312, 0, 0,
- 320, 0, 0, 0, 0, 0, 321, 0, 0, 1505,
- 0, 0, 0, 0, 0, 0, 0, 323, 324, 1506,
- 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
- 0, 739, 1507, 300, 8, 9, 10, 0, 12, 552,
- 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
- 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, 740, 0,
- 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 0, 0, 1579, 329, 300, 8, 9, 10, 0, 12,
- 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
- 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
- 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
- 0, -196, 320, 0, 0, 0, 0, 0, 321, 0,
- 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
- 0, 0, 0, 870, 329, 300, 8, 9, 10, 0,
- 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
- 263, 0, 322, 8, 9, 0, 0, 12, 13, 0,
- 323, 324, 325, 14, 0, 0, 0, 0, 326, 327,
- 328, 0, 0, 0, 0, 329, 0, 16, 0, 17,
- 0, 0, 0, 0, 0, 20, 0, 264, 265, 0,
- -788, 0, 330, 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, 0,
- 292, 0, 959, 293, 300, 8, 9, 10, 0, 12,
- 552, 302, 303, 0, 304, 14, 0, 0, 0, 294,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
- 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
- 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
- 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
- 0, 0, 0, 961, 329, 300, 8, 9, 10, 0,
- 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
- 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
- 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
- 328, 0, 0, 0, 1515, 329, 300, 8, 9, 10,
- 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 300, 8, 9, 10, 329, 12, 552, 302,
- 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 330, 0, 0, 0, 16, 305, 17,
- 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
- 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
- 320, 0, 0, 0, 0, 0, 321, 0, 506, 322,
- 7, 8, 507, 10, 167, 12, 13, 323, 324, 325,
- 0, 14, 0, 0, 0, 326, 327, 328, 0, 0,
- 0, 0, 329, 0, 0, 16, 0, 17, 18, 19,
- 0, 0, 0, 20, -528, 0, 0, 0, 21, 330,
- 909, 0, 23, 508, 0, 168, 0, 0, 0, 0,
- 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
- 0, 0, 0, 0, 0, 0, 0, 30, 506, 0,
- 7, 8, 507, 10, 167, 12, 13, 31, 0, 0,
- 0, 14, 0, 0, 0, 32, 0, 0, 0, 0,
- 33, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 0, 0, 0, 20, -527, 0, -528, 0, 21, 0,
- 0, 0, 23, 508, 0, 168, 0, 0, 0, 0,
- 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
- 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
+ 7, 8, 9, 10, 205, 12, 206, 0, 0, 0,
+ 0, 14, 30, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 31, 0, 0, 16, 0, 17, 18, 0,
+ 32, 0, 0, 20, 0, 33, 0, 0, 21, 0,
+ 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 26, 0, 27, 28, 7, 8, 9, 10, 214,
+ 215, 216, 0, 0, 0, 0, 14, 30, 0, 0,
0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
- 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
- 33, 0, 0, 1308, 1309, 1310, 10, 167, 12, 301,
- 302, 303, 0, 304, 14, 1311, -527, 1312, 1313, 1314,
- 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15, 16, 305,
- 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 1322, 23, 1323, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 1324, 319, 736, 0,
- 1325, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 0, 0, 0, 329, 0, 1326, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445,
- 330, 1308, 1309, 1310, 10, 167, 12, 301, 302, 303,
- 0, 304, 14, 1311, 0, 1312, 1313, 1314, 1315, 1316,
- 1317, 1318, 1319, 1320, 1321, 15, 16, 305, 17, 18,
- 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
- 311, 312, 1322, 23, 1323, 0, 0, 313, 314, 315,
- 316, 317, 26, 0, 1324, 319, 736, 0, 1325, 320,
- 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
- 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
- 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
- 0, 329, 0, 1326, 0, 1308, 1309, 1310, 10, 167,
- 12, 301, 302, 303, 0, 304, 14, 1311, 330, 1312,
- 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15,
- 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 1322, 23, 1323, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 1324, 319,
- 1556, 0, 1325, 320, 0, 0, 0, 0, 0, 321,
- 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
- 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
- 328, 0, 0, 0, 0, 329, 0, 1326, 0, 1308,
- 1309, 1310, 10, 167, 12, 301, 302, 303, 0, 304,
- 14, 1311, 330, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
- 1319, 1320, 1321, 15, 16, 305, 17, 18, 19, 0,
- 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
- 1322, 23, 1323, 0, 0, 313, 314, 315, 316, 317,
- 26, 0, 1324, 319, 0, 0, 1325, 320, 0, 0,
- 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
- 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
- 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
- 0, 1326, 300, 8, 9, 10, 167, 12, 301, 302,
- 303, 749, 304, 14, 0, 0, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
- 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 636, 0, 313, 314,
- 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
- 320, 0, 0, 0, 0, 0, 321, 0, 0, 937,
- 0, 0, 0, 0, 0, 0, 0, 323, 324, 938,
- 0, 0, 0, 0, 0, 326, 327, 328, 0, 639,
- 0, 0, 939, 641, 7, 8, 9, 10, 167, 12,
- 301, 302, 303, 749, 304, 14, 0, 0, 0, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 0, 23, 0, 636, 0,
- 313, 314, 315, 316, 317, 26, 0, 27, 28, 0,
- 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
- 0, 1201, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 1202, 0, 0, 0, 0, 0, 326, 327, 328,
- 0, 639, 0, 0, 1203, 641, 300, 8, 9, 10,
- 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
- 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 636, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 321, 0, 0, 937, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 938, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 639, 0, 0, 939, 641, 7, 8,
- 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
- 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 321, 0, 0, 1201, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 1202, 0, 0, 0, 0,
- 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
- 300, 8, 9, 10, 0, 12, 552, 302, 303, 0,
- 304, 14, 0, 0, 0, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
- 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
- 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
- 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
- 0, 0, 0, 0, 321, 0, 0, 571, 0, 0,
- 0, 0, 0, 0, 0, 323, 324, 572, 0, 0,
- 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
- 573, 12, 552, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 319, 0, 0, 1418, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 0, 0, 0, 329, 300, 8, 9,
- 10, 167, 12, 301, 302, 303, 0, 304, 14, 0,
- 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
- 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
- 27, 319, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
- 326, 327, 328, 7, 8, 9, 10, 329, 12, 552,
- 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
- 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 28, 0, 0,
- 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 1505, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 1506, 0, 0, 0, 0, 0, 326, 327, 328, 300,
- 8, 9, 10, 1507, 12, 301, 302, 303, 0, 304,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
- 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
- 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
- 26, 0, 318, 319, 0, 0, 0, 320, 0, 0,
- 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
- 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
- 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
- 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
- 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
- 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
- 328, 300, 8, 9, 10, 329, 12, 552, 302, 303,
- 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
- 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
- 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
- 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
- 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
- 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
- 0, 0, 0, 0, 326, 327, 328, 300, 8, 9,
- 10, 329, 12, 552, 302, 303, 0, 304, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
- 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
- 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
- 27, 319, 585, 0, 0, 0, 0, 0, 0, 0,
- 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
- 326, 327, 328, 300, 8, 9, 10, 586, 12, 552,
- 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
- 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 0, 0, 0, 329, 624, 300, 8, 9, 10, 0,
- 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
- 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
- 0, 0, 571, 0, 0, 0, 0, 0, 0, 0,
- 323, 324, 572, 0, 0, 0, 0, 0, 326, 327,
- 328, 1161, 8, 9, 10, 573, 12, 552, 302, 303,
- 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
- 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
- 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
- 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
- 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
- 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
- 0, 0, 0, 0, 326, 327, 328, 7, 8, 9,
- 10, 329, 12, 301, 302, 303, 0, 304, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
- 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
- 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
- 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 321, 0, 0, 1505, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 1506, 0, 0, 0, 0, 0,
- 326, 327, 328, 300, 8, 9, 10, 1507, 12, 552,
- 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
- 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 300,
- 8, 9, 10, 553, 12, 552, 302, 303, 0, 304,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
- 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
- 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
- 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
- 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
- 0, 0, 326, 327, 328, 300, 8, 9, 10, 556,
- 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
- 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
- 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
- 328, 0, 0, 8, 9, 329, 167, 12, 13, 0,
- 0, 1550, 0, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 330, 0, 0, 0, 0, 16, 0, 17,
- 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
- 0, 0, 0, 26, 0, 130, 131, 588, 589, 590,
- 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
- 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
- 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
- 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
- 609, 0, 0, 0, 0, 1261, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 677, 0, 0, 1546, 588, 589, 590, 591, 592, 593,
- 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
- 604, 605, 606, 607, 608, 609, 1564, 588, 589, 590,
- 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
- 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
- 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
- 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
- 609, 588, 589, 590, 591, 592, 593, 594, 595, 596,
- 597, 598, 599, 0, 601, 602, 603, 604, 605, 606,
- 607, 608, 609
+ 0, 0, 0, 18, 0, 32, 0, 0, 20, 0,
+ 33, 0, 0, 21, 0, 0, 0, 23, 0, 617,
+ 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
+ 8, 9, 0, 167, 12, 13, 0, 0, 0, 0,
+ 14, 0, 193, 8, 9, 0, 167, 12, 13, 0,
+ 0, 730, 194, 14, 16, 0, 17, 18, 0, 0,
+ 32, 0, 20, 0, 0, 1424, 0, 16, 0, 17,
+ 18, 679, 0, 0, 168, 20, 0, 0, 0, 0,
+ 26, 0, 130, 131, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 26, 0, 130, 131, 8, 9, 0,
+ 167, 12, 13, 0, 0, 1545, 0, 14, 0, 0,
+ 8, 9, 0, 205, 12, 206, 0, 0, 0, 0,
+ 14, 16, 0, 17, 18, 0, 0, 0, 0, 20,
+ 0, 0, 0, 0, 16, 0, 17, 18, 23, 0,
+ 0, 0, 20, 0, 0, 0, 0, 26, 0, 130,
+ 131, 23, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 0, 130, 131, 569, 570, 571, 572, 573, 574,
+ 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
+ 585, 586, 587, 588, 589, 590, 569, 570, 571, 572,
+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
+ 583, 584, 585, 586, 587, 588, 589, 590, 0, 0,
+ 0, 0, 1236, 575, 576, 577, 578, 579, 580, 581,
+ 582, 583, 584, 585, 586, 587, 588, 589, 590, 0,
+ 1565, 1559, 569, 570, 571, 572, 573, 574, 575, 576,
+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
+ 587, 588, 589, 590, 569, 570, 571, 572, 573, 574,
+ 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
+ 585, 586, 587, 588, 589, 590, 569, 570, 571, 572,
+ 573, 574, 575, 576, 577, 578, 579, 580, 0, 582,
+ 583, 584, 585, 586, 587, 588, 589, 590, 573, 574,
+ 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
+ 585, 586, 587, 588, 589, 590, 576, 577, 578, 579,
+ 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
+ 590
};
static const short yycheck[] = { 4,
- 174, 161, 209, 23, 176, 4, 149, 150, 402, 175,
- 355, 402, 126, 80, 734, 156, 62, 4, 251, 349,
- 482, 80, 355, 4, 402, 455, 14, 4, 134, 898,
- 35, 511, 84, 513, 46, 583, 35, 42, 55, 709,
- 247, 521, 209, 30, 31, 90, 733, 92, 35, 304,
- 305, 218, 57, 4, 35, 42, 133, 134, 35, 640,
- 460, 42, 620, 663, 76, 42, 647, 72, 373, 124,
- 42, 217, 218, 42, 55, 440, 57, 144, 4, 84,
- 133, 4, 337, 88, 35, 90, 11, 92, 1400, 296,
- 1327, 42, 137, 780, 140, 83, 1486, 84, 1337, 42,
- 42, 1487, 107, 108, 12, 1344, 47, 54, 58, 35,
- 156, 57, 35, 11, 11, 47, 42, 717, 106, 42,
- 356, 357, 355, 64, 62, 1488, 54, 38, 33, 59,
- 54, 136, 137, 84, 139, 0, 203, 62, 1528, 75,
- 1510, 77, 349, 54, 37, 75, 74, 577, 98, 136,
- 74, 59, 93, 94, 62, 136, 64, 1527, 175, 140,
- 165, 93, 149, 150, 169, 1, 212, 33, 0, 503,
- 108, 176, 408, 409, 220, 782, 1, 1, 165, 641,
- 306, 307, 169, 108, 165, 136, 245, 794, 169, 716,
- 136, 237, 169, 165, 175, 176, 322, 169, 1561, 325,
- 169, 213, 328, 262, 109, 331, 193, 194, 155, 335,
- 108, 108, 1582, 136, 165, 822, 109, 343, 169, 47,
- 1606, 828, 58, 1531, 27, 555, 169, 169, 31, 59,
- 176, 1621, 490, 58, 58, 62, 74, 62, 62, 12,
- 245, 222, 165, 169, 25, 27, 169, 74, 9, 31,
- 1487, 402, 1491, 200, 1566, 47, 59, 60, 245, 42,
- 248, 64, 60, 74, 245, 93, 94, 1575, 526, 346,
- 95, 95, 3, 4, 5, 6, 59, 58, 60, 109,
- 108, 62, 64, 149, 150, 151, 59, 393, 448, 62,
- 342, 58, 297, 346, 245, 1061, 1062, 64, 1537, 245,
- 61, 93, 94, 33, 7, 735, 976, 3, 4, 5,
- 41, 109, 1078, 358, 95, 660, 108, 468, 4, 245,
- 487, 699, 245, 54, 329, 56, 57, 109, 935, 195,
- 385, 474, 475, 60, 37, 108, 59, 342, 48, 897,
- 486, 487, 4, 5, 1583, 350, 8, 9, 494, 35,
- 59, 93, 14, 358, 359, 342, 93, 88, 939, 59,
- 56, 57, 756, 728, 729, 756, 28, 355, 30, 59,
- 47, 93, 359, 54, 36, 75, 4, 77, 359, 525,
- 60, 60, 109, 45, 689, 108, 169, 404, 4, 5,
- 59, 342, 54, 74, 56, 57, 629, 402, 544, 108,
- 405, 1270, 983, 74, 450, 8, 9, 35, 359, 74,
- 47, 14, 47, 359, 60, 402, 93, 94, 108, 149,
- 150, 151, 752, 404, 951, 402, 209, 954, 664, 109,
- 109, 93, 980, 36, 217, 218, 359, 442, 54, 108,
- 56, 57, 45, 93, 47, 571, 572, 493, 1048, 1030,
- 107, 402, 511, 498, 513, 442, 93, 94, 93, 33,
- 519, 442, 521, 468, 247, 195, 1232, 25, 995, 996,
- 442, 108, 47, 442, 936, 1241, 1242, 47, 1244, 47,
- 1087, 468, 1089, 47, 496, 47, 31, 474, 475, 640,
- 93, 442, 58, 498, 107, 108, 647, 47, 1185, 480,
- 900, 518, 514, 515, 47, 550, 511, 488, 513, 25,
- 4, 27, 524, 296, 519, 47, 521, 468, 93, 442,
- 1389, 64, 60, 93, 511, 93, 513, 54, 47, 93,
- 511, 93, 513, 4, 521, 1222, 54, 518, 519, 44,
- 521, 35, 58, 93, 108, 550, 62, 74, 553, 54,
- 93, 556, 57, 727, 74, 560, 561, 562, 563, 564,
- 511, 93, 513, 54, 35, 511, 349, 513, 573, 621,
- 521, 42, 518, 519, 93, 521, 150, 151, 583, 95,
- 109, 586, 12, 977, 690, 511, 977, 513, 511, 1019,
- 513, 697, 47, 1174, 54, 521, 58, 1077, 521, 977,
- 945, 93, 838, 54, 25, 756, 27, 54, 474, 475,
- 476, 25, 945, 27, 74, 47, 621, 54, 62, 75,
- 697, 195, 1203, 406, 108, 1152, 1153, 47, 774, 59,
- 74, 782, 62, 62, 621, 640, 47, 58, 93, 94,
- 847, 62, 647, 794, 58, 108, 62, 692, 62, 666,
- 637, 638, 94, 640, 54, 3, 4, 5, 74, 442,
- 647, 93, 62, 651, 1126, 136, 3, 4, 5, 108,
- 621, 822, 1359, 93, 95, 31, 108, 828, 698, 108,
- 58, 95, 93, 94, 62, 666, 941, 692, 705, 640,
- 707, 708, 1458, 1459, 165, 47, 647, 47, 169, 108,
- 25, 706, 27, 486, 487, 710, 1106, 1107, 56, 57,
- 11, 494, 945, 733, 64, 1049, 329, 1051, 47, 56,
- 57, 1055, 8, 9, 705, 706, 707, 708, 14, 7,
- 8, 9, 80, 58, 970, 752, 14, 62, 109, 806,
- 98, 93, 525, 93, 474, 475, 476, 806, 47, 60,
- 36, 756, 47, 31, 62, 329, 815, 47, 36, 45,
- 47, 544, 1122, 1123, 93, 1125, 74, 45, 785, 756,
- 95, 752, 4, 5, 245, 756, 93, 782, 823, 824,
- 3, 826, 60, 909, 935, 141, 798, 60, 939, 794,
- 146, 1121, 804, 805, 93, 782, 808, 809, 93, 1199,
- 812, 111, 943, 93, 785, 756, 93, 794, 1208, 1209,
- 815, 937, 938, 1213, 4, 5, 48, 822, 823, 824,
- 54, 826, 74, 828, 56, 57, 977, 62, 815, 1003,
- 47, 782, 983, 94, 815, 822, 480, 54, 194, 785,
- 74, 828, 62, 794, 488, 1081, 1082, 1083, 80, 1569,
- 27, 94, 465, 47, 31, 429, 430, 74, 48, 74,
- 54, 1261, 59, 60, 815, 111, 56, 57, 93, 815,
- 74, 822, 93, 3, 4, 5, 93, 828, 3, 1030,
- 74, 6, 59, 60, 667, 1219, 1220, 1221, 359, 815,
- 80, 896, 815, 47, 59, 60, 901, 943, 74, 93,
- 54, 475, 476, 259, 1018, 74, 31, 59, 3, 4,
- 5, 6, 3, 4, 5, 182, 41, 835, 836, 837,
- 74, 988, 59, 60, 929, 708, 56, 57, 58, 11,
- 935, 56, 57, 108, 939, 109, 1087, 59, 1089, 93,
- 553, 59, 60, 556, 108, 70, 41, 560, 935, 108,
- 937, 938, 939, 48, 74, 80, 1356, 945, 59, 60,
- 573, 56, 57, 88, 108, 56, 57, 54, 93, 752,
- 74, 442, 977, 586, 979, 980, 74, 590, 983, 553,
- 108, 1411, 556, 109, 935, 80, 1386, 111, 939, 108,
- 977, 774, 109, 88, 981, 982, 983, 1427, 572, 573,
- 977, 111, 1128, 4, 5, 618, 1336, 27, 3, 4,
- 5, 624, 586, 1072, 74, 4, 5, 74, 1077, 54,
- 9, 59, 60, 1174, 54, 1030, 977, 62, 74, 1172,
- 1173, 111, 983, 3, 4, 5, 6, 111, 1043, 74,
- 511, 108, 513, 1030, 108, 1281, 108, 48, 58, 54,
- 521, 54, 1203, 48, 108, 56, 57, 62, 1201, 1202,
- 8, 56, 57, 419, 847, 54, 422, 56, 57, 74,
- 111, 41, 1077, 647, 93, 1201, 1202, 64, 434, 1030,
- 1510, 70, 1087, 59, 1089, 1130, 56, 57, 1069, 47,
- 1077, 80, 59, 1074, 59, 60, 1077, 1527, 74, 75,
- 1087, 77, 1089, 4, 5, 94, 4, 5, 93, 1176,
- 83, 84, 1117, 54, 470, 54, 472, 983, 88, 59,
- 60, 62, 1552, 4, 5, 1130, 1077, 1521, 109, 485,
- 1521, 1077, 60, 74, 59, 60, 1087, 36, 1089, 3,
- 4, 5, 64, 7, 8, 9, 64, 48, 59, 60,
- 48, 1077, 1582, 108, 1077, 56, 57, 64, 56, 57,
- 1590, 108, 62, 1335, 1030, 1185, 60, 31, 1334, 1174,
- 1336, 108, 36, 54, 108, 56, 57, 4, 5, 80,
- 54, 9, 80, 75, 12, 1172, 1173, 1174, 62, 70,
- 54, 1196, 56, 57, 58, 1525, 108, 1196, 1203, 80,
- 74, 1327, 108, 64, 3, 4, 5, 6, 64, 1196,
- 9, 1611, 1217, 94, 1201, 1202, 1203, 54, 54, 47,
- 64, 111, 62, 1174, 59, 62, 62, 1239, 1240, 56,
- 57, 59, 31, 61, 62, 59, 64, 74, 74, 103,
- 104, 105, 41, 108, 75, 1196, 59, 75, 47, 77,
- 108, 64, 1203, 983, 108, 54, 108, 56, 57, 108,
- 75, 74, 75, 75, 75, 93, 94, 841, 4, 5,
- 1196, 70, 62, 1196, 108, 108, 30, 31, 62, 33,
- 108, 80, 78, 79, 80, 81, 82, 83, 84, 88,
- 59, 90, 905, 111, 93, 94, 62, 94, 108, 108,
- 1030, 108, 88, 57, 74, 59, 1172, 1173, 1174, 111,
- 47, 65, 60, 3, 4, 5, 6, 1334, 1525, 1336,
- 56, 57, 1327, 108, 111, 108, 939, 108, 108, 111,
- 1335, 108, 1337, 109, 108, 1201, 1202, 1203, 1337, 1344,
- 1327, 109, 1502, 59, 815, 1344, 64, 64, 1353, 93,
- 1337, 41, 59, 1334, 1335, 1336, 108, 1344, 48, 3,
- 4, 5, 1505, 1506, 938, 939, 56, 57, 64, 108,
- 1521, 4, 5, 108, 108, 1549, 1327, 4, 5, 1505,
- 1506, 93, 93, 93, 12, 93, 1337, 141, 109, 109,
- 80, 8, 146, 1344, 108, 149, 150, 151, 88, 27,
- 109, 1327, 108, 31, 1327, 108, 111, 763, 764, 983,
- 766, 1337, 56, 57, 1337, 48, 108, 44, 1344, 47,
- 108, 1344, 176, 56, 57, 1437, 108, 54, 182, 56,
- 57, 59, 60, 108, 62, 111, 64, 108, 108, 193,
- 194, 195, 1172, 1173, 1174, 33, 108, 80, 54, 108,
- 7, 8, 9, 108, 62, 209, 1030, 14, 111, 108,
- 3, 4, 5, 217, 218, 93, 94, 47, 62, 108,
- 108, 1201, 1202, 1203, 31, 96, 1481, 62, 60, 36,
- 108, 1486, 1487, 1488, 60, 9, 1491, 1486, 45, 60,
- 16, 64, 1491, 108, 1481, 3, 4, 5, 108, 1486,
- 1487, 1488, 1507, 60, 1491, 259, 108, 108, 108, 1526,
- 777, 54, 108, 56, 57, 58, 1521, 108, 1505, 1506,
- 787, 788, 108, 1528, 93, 93, 60, 4, 5, 1528,
- 1481, 60, 1537, 54, 1521, 1486, 1487, 1488, 1537, 47,
- 1491, 1528, 1554, 93, 111, 1526, 54, 814, 56, 57,
- 1537, 93, 819, 1336, 17, 60, 1561, 54, 107, 97,
- 1486, 1487, 108, 1486, 1487, 1491, 60, 108, 1491, 108,
- 1521, 48, 1438, 108, 1561, 329, 11, 1528, 1583, 56,
- 57, 60, 60, 93, 1583, 93, 1537, 11, 60, 59,
- 1203, 80, 81, 82, 83, 84, 1583, 64, 60, 1173,
- 1174, 108, 1528, 80, 1217, 1528, 1077, 108, 108, 47,
- 1561, 1537, 60, 11, 1537, 88, 1621, 90, 60, 92,
- 0, 0, 1621, 0, 2, 170, 982, 35, 1202, 1203,
- 1425, 690, 1583, 977, 1621, 4, 5, 169, 442, 1505,
- 1506, 1507, 165, 519, 1257, 1258, 1259, 1260, 86, 87,
- 1185, 405, 406, 91, 92, 93, 94, 1583, 1548, 238,
- 1583, 94, 4, 5, 137, 419, 139, 9, 422, 1410,
- 1621, 139, 1621, 1271, 428, 429, 430, 299, 963, 740,
- 434, 3, 4, 5, 6, 54, 958, 56, 57, 243,
- 519, 4, 5, 1359, 1222, 1621, 9, 1074, 1621, 815,
- 956, 70, 673, 4, 5, 47, 621, 1320, 1438, 200,
- 346, 80, 54, 124, 56, 57, 470, 1337, 472, 41,
- 474, 475, 476, 1197, 1569, 479, 48, 1590, 70, 1542,
- 80, 485, 486, 487, 56, 57, 490, -1, 80, 1600,
- 494, 54, 1525, 56, 57, 1602, 47, 1038, 90, 1353,
- -1, 93, 94, 54, 104, 56, 57, 70, 80, 3,
- 4, 5, 6, -1, -1, 519, 88, 80, -1, 70,
- -1, -1, 526, -1, 1387, 1505, 1506, 1507, 772, 80,
- -1, -1, -1, 133, -1, -1, -1, -1, -1, 90,
- -1, -1, 93, 94, 144, -1, -1, 41, -1, 553,
- 1067, 1068, 556, 1070, 1071, -1, 1073, 1420, 3, 4,
- 5, -1, 56, 57, 1170, 1171, -1, 571, 572, 573,
- -1, 461, 1178, -1, -1, -1, -1, 821, 468, -1,
- -1, -1, 586, 827, -1, -1, 1, -1, 3, 4,
- 5, 6, 7, 8, 9, -1, -1, 320, -1, 14,
- 3, 4, 5, 203, 3, 4, 5, -1, 7, 8,
- 9, 56, 57, 28, 1438, 30, 31, 32, 1481, -1,
- -1, 36, -1, -1, 1487, 1488, 41, 30, -1, -1,
- 45, 46, 31, 48, -1, 358, -1, 36, 238, 54,
- -1, 56, 57, 647, 1507, 60, -1, 62, -1, -1,
- -1, 54, 461, 56, 57, 70, -1, 56, 57, 468,
- -1, 551, 262, 667, -1, 80, 14, -1, -1, -1,
- -1, -1, -1, 88, 22, -1, -1, -1, 93, 3,
- 4, 5, 1506, 1507, -1, -1, 930, -1, 932, 1295,
- 1296, -1, 1298, -1, 348, 349, 350, -1, 1561, -1,
- -1, -1, 706, -1, 708, 709, -1, -1, -1, -1,
- -1, -1, 1229, 1230, 1577, -1, -1, 65, 3, 4,
- 5, 611, 7, 8, 9, -1, -1, 617, 3, 4,
- 5, 6, 56, 57, 9, -1, 1599, 460, 461, 3,
- 4, 5, 551, 1606, -1, 468, -1, -1, 752, -1,
- 3, 4, 5, 6, 354, -1, 31, -1, -1, 763,
- 764, -1, 766, -1, 654, -1, 41, -1, -1, -1,
- 774, 56, 57, 777, -1, 498, 124, -1, -1, 54,
- -1, 56, 57, 787, 788, 38, 39, 510, 41, -1,
- 107, 108, 56, 57, -1, 70, 3, 4, 5, -1,
- 148, 54, 611, 56, 57, 80, -1, -1, 617, -1,
- 814, -1, 412, 88, 1058, 819, -1, -1, 93, 1063,
- -1, -1, -1, -1, -1, -1, -1, 550, 551, -1,
- -1, -1, -1, -1, -1, -1, -1, 841, 647, -1,
- -1, -1, 1086, -1, 1088, 654, -1, 54, -1, 56,
- 57, -1, -1, 1370, 1371, 1372, -1, -1, -1, -1,
- 583, -1, 585, -1, -1, 588, 589, -1, 591, 592,
- 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, -1, 611, -1,
- 238, 239, -1, -1, 617, -1, -1, -1, -1, 1143,
- -1, -1, 502, 251, 3, 4, 5, 6, 7, 8,
- 9, 3, 4, 5, 6, 14, -1, -1, -1, -1,
- -1, 3, 4, 5, 647, -1, -1, -1, -1, -1,
- -1, 654, 31, 937, 938, 939, -1, 36, 1455, 1456,
- -1, -1, 41, -1, -1, -1, 45, 547, 47, 41,
- 3, 4, 5, 676, 677, 54, 48, 56, 57, -1,
- -1, 7, 8, 9, 56, 57, 48, -1, 14, 692,
- -1, 70, 976, 321, 56, 57, -1, 981, 982, 983,
- -1, 80, -1, 637, 638, 31, -1, -1, 80, 88,
- 36, 90, -1, -1, 93, 94, 88, -1, -1, 45,
- -1, 54, -1, 56, 57, 895, 896, 7, 8, 9,
- -1, 901, 329, -1, 14, 363, -1, 740, -1, -1,
- -1, -1, -1, -1, 372, 915, 1030, 917, -1, 919,
- -1, 31, 841, -1, 634, -1, 36, 385, 4, 5,
- -1, 1285, 8, 9, -1, 45, -1, -1, 14, -1,
- 650, 705, -1, 707, 708, -1, 710, 1574, 3, 4,
- 5, 6, -1, 1067, 1068, -1, 1070, 1071, -1, 1073,
- 36, -1, -1, -1, 797, 965, -1, -1, -1, 45,
- -1, 47, -1, -1, -1, 402, 895, 896, 54, -1,
- 56, 57, 901, -1, -1, -1, 41, -1, 752, -1,
- 823, 824, 47, 826, 70, -1, 915, -1, 917, 54,
- 919, 56, 57, -1, 80, -1, -1, -1, 841, 1363,
- 1364, 1011, -1, -1, 90, 70, -1, 93, 94, -1,
- -1, -1, -1, 1377, 1378, 80, -1, 3, 4, 5,
- 863, 7, -1, 88, -1, 90, -1, -1, 93, 94,
- 1394, 468, -1, -1, 502, -1, 965, -1, -1, -1,
- -1, -1, -1, -1, 30, -1, 1170, 1171, 1172, 1173,
- 1174, 37, 895, 896, 1178, -1, -1, 900, 901, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 54, -1,
- 56, 57, 915, 847, 917, -1, 919, 1201, 1202, 1203,
- -1, -1, 1011, -1, -1, -1, 806, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 1030, 1466, 1467, -1, 1229, 1230, -1, -1, -1,
- -1, -1, 955, -1, -1, -1, 553, 585, -1, 556,
- -1, -1, 965, 560, 561, 562, 563, 564, -1, 3,
- 4, 5, 6, -1, -1, 9, 573, 980, -1, -1,
- 3, 4, 5, 6, -1, -1, 920, -1, 922, 586,
- 993, -1, -1, -1, -1, -1, -1, 31, -1, 933,
- -1, 629, -1, 937, 938, -1, -1, 41, 1011, -1,
- -1, 1295, 1296, 47, 1298, -1, -1, 1187, 41, 1189,
- 54, 1191, 56, 57, -1, 48, -1, 1030, -1, 3,
- 4, 5, 6, 56, 57, 9, 70, 1, -1, 3,
- 4, 5, 6, 640, 8, -1, 80, 981, 982, -1,
- 647, 1335, 1336, -1, 88, -1, 90, 31, -1, 93,
- 94, -1, 1065, 1066, 944, 88, 946, 41, -1, -1,
- 698, -1, -1, 47, -1, -1, -1, 41, -1, -1,
- 54, 709, 56, 57, 48, -1, 1370, 1371, 1372, -1,
- 54, -1, 56, 57, -1, -1, 70, -1, 1187, -1,
- 1189, -1, 1191, 1106, 1107, -1, 80, 1110, 988, -1,
- -1, -1, 740, -1, 88, 4, 90, -1, -1, 93,
- 94, -1, 1292, -1, 88, 14, -1, 1130, -1, -1,
- -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
- -1, 30, 31, -1, 33, -1, 35, -1, -1, -1,
- -1, -1, -1, 42, 1438, -1, -1, -1, -1, 756,
- -1, -1, -1, -1, -1, -1, 55, -1, 57, -1,
- -1, 1455, 1456, -1, -1, -1, 65, -1, -1, -1,
- -1, -1, -1, 72, 1187, 782, 1189, -1, 1191, -1,
- -1, -1, 1072, -1, 83, 84, 1199, 794, -1, -1,
- -1, -1, -1, 1292, -1, 1208, 1209, -1, -1, -1,
- 1213, -1, -1, -1, -1, -1, -1, 106, -1, -1,
- -1, 1505, 1506, 1507, -1, 822, -1, -1, -1, -1,
- -1, 828, 1235, -1, -1, -1, 1170, 1171, 1172, 1173,
- 3, 4, 5, 6, 1178, 134, -1, 136, -1, -1,
- -1, 140, 141, -1, -1, -1, 145, 146, 1261, -1,
- 149, 150, 151, -1, -1, -1, -1, 1201, 1202, 1149,
- 3, 4, 5, 6, -1, -1, 165, -1, 41, -1,
- 169, -1, -1, -1, -1, 48, 175, 176, -1, 1292,
- 1574, -1, -1, 56, 57, -1, 1176, -1, 31, 896,
- -1, -1, -1, -1, 193, 194, 195, -1, 41, -1,
- -1, -1, -1, 1316, -1, -1, -1, 80, -1, -1,
- -1, 54, -1, 56, 57, 88, 4, 5, -1, -1,
- 8, 9, 929, 222, -1, 963, 14, 70, 935, -1,
- -1, -1, 939, -1, -1, -1, -1, 80, 976, 1438,
- 239, -1, -1, 1356, -1, 88, 245, -1, 36, 248,
- 93, 1295, 1296, -1, 1298, 1368, 1369, 45, -1, 47,
- 259, -1, -1, -1, -1, -1, 54, -1, 56, 57,
- 977, -1, 979, 1386, -1, -1, 983, -1, 82, -1,
- -1, -1, 70, -1, -1, -1, -1, -1, 4, 5,
- -1, -1, 80, 9, -1, -1, -1, -1, 297, 298,
- -1, -1, 90, -1, -1, 93, 94, -1, 193, 194,
- 195, -1, -1, -1, 3, 4, 5, 6, -1, -1,
- 9, -1, -1, 1030, -1, 1438, -1, -1, -1, -1,
- -1, 47, -1, -1, -1, -1, 1043, -1, 54, -1,
- 56, 57, 31, 342, -1, -1, -1, 346, 1461, 348,
- 349, 350, 41, -1, 70, 159, -1, -1, -1, -1,
- 359, -1, -1, -1, 80, 54, -1, 56, 57, 1107,
- -1, -1, -1, -1, 90, -1, 1489, 93, 94, -1,
- 1087, 70, 1089, -1, -1, -1, -1, 191, -1, -1,
- -1, 80, -1, -1, 393, 3, 4, 5, 6, 88,
- 204, -1, -1, 402, 93, 404, 405, -1, -1, -1,
- 1117, -1, -1, -1, -1, -1, 4, 5, -1, -1,
- 419, 9, -1, 422, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, 434, -1, -1, -1, -1,
- -1, -1, -1, 442, -1, -1, 54, -1, 56, 57,
- 3, 4, 5, 6, 62, 1193, 9, -1, -1, 47,
- -1, 1199, 70, -1, -1, -1, 54, 1174, 56, 57,
- -1, 470, 80, 472, -1, 474, 475, 476, 31, -1,
- 88, 480, 70, -1, -1, 93, 485, -1, 41, 488,
- -1, -1, 80, -1, 47, -1, 1203, -1, 1611, -1,
- -1, 54, 90, 56, 57, 93, 94, -1, -1, 508,
- 1217, -1, 511, -1, 513, -1, -1, 70, -1, 518,
- 519, -1, 521, -1, -1, -1, 1, 80, 3, 4,
- 5, 6, 7, 8, 9, 88, -1, 90, -1, 14,
- 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
- -1, 36, 561, 562, 563, 564, 41, -1, -1, -1,
- 45, -1, -1, 48, -1, -1, -1, -1, -1, 54,
- -1, 56, 57, 1321, 1322, 470, -1, 472, -1, 474,
- 475, 476, -1, -1, -1, 70, -1, -1, -1, -1,
- 485, -1, -1, -1, -1, 80, -1, -1, -1, -1,
- -1, -1, -1, 88, -1, -1, -1, -1, 93, -1,
- -1, -1, 621, 98, 623, -1, -1, -1, -1, -1,
- -1, -1, -1, 518, -1, -1, 635, -1, 637, 638,
- -1, 640, -1, -1, -1, -1, 1353, -1, 647, 4,
- 5, -1, 651, 8, 9, -1, -1, -1, -1, 14,
- -1, -1, -1, -1, 1402, -1, -1, 666, -1, -1,
- -1, -1, -1, 28, 478, 30, -1, -1, -1, 483,
- -1, 36, -1, -1, -1, -1, 1424, 1425, -1, -1,
- 45, 690, 47, -1, -1, -1, -1, -1, 697, 54,
- -1, 56, 57, -1, -1, -1, 705, 706, 707, 708,
- 709, 710, -1, -1, -1, 70, -1, -1, -1, -1,
- -1, -1, -1, 527, -1, 80, -1, -1, -1, 533,
- -1, -1, -1, -1, -1, 90, -1, -1, 93, 94,
- -1, 545, 546, -1, 548, -1, -1, -1, -1, 3,
- 4, 5, 6, 752, -1, -1, -1, 756, -1, -1,
- -1, 1499, -1, -1, 763, 764, -1, 766, 3, 4,
- 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
- -1, -1, -1, 782, -1, -1, 785, 41, -1, -1,
- -1, -1, -1, -1, 48, 794, 31, -1, -1, -1,
- 1507, 36, 56, 57, -1, -1, 41, -1, 807, -1,
- 45, -1, 47, -1, 1521, -1, 815, -1, -1, 54,
- -1, 56, 57, 822, -1, -1, -1, -1, -1, 828,
- -1, -1, -1, -1, 88, 70, 835, 836, 837, 643,
- 644, -1, -1, -1, 648, 80, -1, -1, 847, -1,
- -1, -1, -1, 88, -1, 90, -1, -1, 93, 94,
- -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
- 9, -1, -1, 12, -1, 14, 4, -1, 763, 764,
- -1, 766, -1, -1, -1, -1, 14, -1, -1, 28,
- -1, 30, 31, -1, -1, 23, 24, 36, -1, -1,
- 785, -1, 30, 31, -1, 33, 45, 35, 47, -1,
- -1, -1, -1, -1, 42, 54, -1, 56, 57, -1,
- -1, 920, -1, 922, -1, -1, -1, 55, -1, 57,
- 929, 70, -1, -1, 933, -1, 935, 65, 937, 938,
- 939, 80, -1, -1, 72, -1, 945, 3, 4, 5,
- 6, 90, -1, -1, 93, 94, 84, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
- -1, -1, 9, -1, -1, -1, -1, 781, 977, -1,
- 979, -1, 981, 982, 983, 41, -1, -1, -1, 793,
- -1, -1, 48, -1, 31, -1, -1, -1, -1, -1,
- 56, 57, -1, -1, 41, -1, -1, -1, 136, -1,
- -1, -1, 140, 141, -1, -1, -1, 54, 146, 56,
- 57, 149, 150, 151, -1, 829, -1, 831, -1, -1,
- -1, 1030, 88, 70, -1, -1, -1, 165, -1, -1,
- -1, 169, -1, 80, 1043, -1, -1, 175, 176, -1,
- -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, -1, -1, 193, 194, 195, -1, -1,
- 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1087, -1,
- 1089, -1, -1, -1, 222, -1, 981, 982, 983, 903,
- 904, -1, 906, 4, 5, -1, -1, 8, 9, -1,
- 4, 5, -1, 14, 8, 9, -1, 245, 1117, -1,
- 14, -1, -1, 1122, 1123, -1, 1125, 28, -1, 30,
- 934, 259, -1, -1, 28, 36, 30, -1, -1, -1,
- -1, -1, 36, -1, 45, 1030, -1, -1, -1, -1,
- -1, 45, -1, 54, -1, 56, 57, 58, -1, -1,
- 54, -1, 56, 57, -1, -1, -1, -1, -1, 297,
- 298, 1170, 1171, 1172, 1173, 1174, -1, -1, -1, 1178,
- -1, 985, -1, -1, 1069, -1, 348, 349, 350, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1201, 1202, 1203, 3, 4, 5, 6, 7,
- 8, 9, -1, -1, 342, -1, 14, -1, 346, -1,
- 348, 349, 350, -1, -1, -1, -1, 355, -1, -1,
- 28, 359, 30, 31, 32, -1, -1, -1, 36, -1,
- -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
- 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
- -1, -1, -1, -1, -1, 393, -1, -1, -1, -1,
- -1, -1, 70, -1, 402, -1, 404, 405, -1, -1,
- -1, -1, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
- 88, 419, -1, 1178, 422, 93, 1295, 1296, -1, 1298,
- 98, -1, 3, 4, 5, 6, 434, -1, 9, -1,
- -1, -1, -1, -1, 442, -1, 1201, 1202, 1203, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 31, -1, -1, -1, 1138, 1334, 1335, 1336, -1, -1,
- 41, -1, 470, -1, 472, -1, 474, 475, 476, -1,
- -1, -1, 480, 54, 1353, 56, 57, 485, -1, 1,
- 488, 3, 4, 5, 6, 7, 8, 9, -1, 70,
- -1, -1, 14, 1177, -1, -1, -1, -1, -1, 80,
- 508, -1, -1, 511, -1, 513, 28, 88, 30, 31,
- 518, 519, 93, 521, 36, -1, -1, -1, -1, 41,
- -1, -1, -1, 45, -1, -1, 48, -1, -1, -1,
- 1295, 1296, 54, 1298, 56, 57, -1, -1, 60, -1,
- 1224, -1, -1, -1, 1228, -1, -1, -1, 70, -1,
- -1, -1, -1, 561, 562, 563, 564, -1, 80, 1438,
- -1, -1, -1, -1, 1248, -1, 88, -1, 1252, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
- -1, -1, -1, -1, -1, 637, 638, -1, 640, -1,
- -1, -1, -1, 1287, -1, 647, -1, -1, -1, -1,
- 31, -1, -1, 621, -1, 623, -1, -1, -1, -1,
- 41, -1, -1, -1, -1, -1, 1505, 1506, 1507, 637,
- 638, -1, 640, 54, -1, 56, 57, -1, -1, 647,
- -1, -1, 1521, -1, -1, -1, -1, 1526, -1, 70,
- -1, -1, 660, 3, 4, 5, 6, -1, 666, 80,
- -1, -1, -1, 705, -1, 707, 708, 88, 710, -1,
- -1, -1, 93, 1438, -1, -1, -1, -1, -1, -1,
- -1, 31, 690, -1, -1, -1, -1, -1, -1, -1,
- 698, 41, -1, -1, -1, 1379, 1380, 705, 706, 707,
- 708, 709, 710, -1, 54, -1, 56, 57, -1, -1,
- 752, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 70, -1, -1, -1, -1, 733, -1, -1, -1, -1,
- 80, -1, -1, -1, -1, -1, -1, -1, 88, -1,
- 1505, 1506, 1507, 93, 752, -1, -1, -1, 756, -1,
- -1, -1, -1, -1, -1, 763, 764, -1, 766, -1,
- -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
- 9, -1, 780, 12, 782, 14, -1, 785, -1, -1,
- -1, -1, -1, -1, -1, -1, 794, -1, -1, 28,
- -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
- -1, -1, 41, -1, -1, 847, 45, 815, 47, -1,
- -1, -1, -1, -1, 822, 54, -1, 56, 57, -1,
- 828, -1, -1, -1, -1, -1, -1, 835, 836, 837,
- -1, 70, 3, 4, 5, 6, 7, 8, 9, 847,
- -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
- -1, 90, -1, -1, 93, 94, -1, 28, -1, 30,
- 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
- 41, -1, -1, -1, 45, -1, 47, -1, 920, -1,
- 922, -1, -1, 54, -1, 56, 57, -1, -1, -1,
- -1, 933, -1, -1, -1, 937, 938, 939, -1, 70,
- 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
- -1, 14, 920, -1, 922, -1, -1, 88, -1, 90,
- -1, 929, 93, 94, -1, 933, -1, 935, 31, 937,
- 938, 939, -1, 36, -1, -1, -1, 945, 41, 981,
- 982, 983, 45, -1, 47, -1, -1, -1, -1, -1,
- -1, 54, -1, 56, 57, 4, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 70, -1, 977,
- -1, 979, -1, 981, 982, 983, -1, 80, -1, -1,
- -1, 30, 31, -1, 33, 88, 35, -1, 1030, -1,
- 93, -1, -1, 42, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 55, -1, 57, 3,
- 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
- 14, -1, 1030, -1, -1, -1, -1, -1, -1, -1,
- -1, 80, -1, -1, 28, 1043, 30, 31, -1, -1,
- -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- 54, 1069, 56, 57, -1, -1, 1074, -1, 62, 1077,
- -1, -1, -1, -1, -1, -1, 70, -1, -1, 1087,
- -1, 1089, -1, -1, 133, 134, 80, 136, -1, -1,
- -1, 140, 141, -1, 88, 144, -1, 146, -1, 93,
- 149, 150, 151, -1, -1, -1, -1, 156, -1, 1117,
- -1, -1, -1, -1, 1122, 1123, 165, 1125, -1, -1,
- 169, -1, -1, -1, -1, -1, 175, 176, 1170, 1171,
- 1172, 1173, 1174, -1, -1, -1, 1178, -1, -1, -1,
- -1, -1, -1, -1, 193, 194, 195, -1, -1, -1,
- -1, -1, -1, -1, 203, -1, -1, -1, -1, 1201,
- 1202, 1203, 1170, 1171, 1172, 1173, 1174, -1, -1, -1,
- 1178, -1, -1, 222, -1, -1, 1, 1185, 3, 4,
- 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
- -1, -1, -1, 1201, 1202, 1203, 245, -1, -1, -1,
- -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
- 259, 36, 37, -1, 1222, -1, 41, -1, -1, -1,
- 45, 46, -1, 48, 3, 4, 5, 6, -1, 54,
- 9, 56, 57, -1, -1, 60, -1, 62, -1, -1,
- -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
- -1, -1, 31, 1295, 1296, 80, 1298, -1, -1, -1,
- -1, -1, 41, 88, -1, -1, -1, -1, 93, -1,
- -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
- 329, -1, -1, -1, 109, -1, -1, 1295, 1296, -1,
- 1298, 70, -1, -1, -1, -1, -1, 346, -1, -1,
- -1, 80, -1, -1, -1, 354, -1, -1, -1, 88,
- 359, -1, -1, -1, 93, 1323, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1334, 1335, 1336, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 393, 1353, -1, -1, -1, -1,
- -1, 1359, -1, -1, -1, 404, -1, -1, -1, 1,
+ 174, 348, 4, 175, 401, 401, 176, 161, 715, 209,
+ 4, 23, 126, 4, 80, 459, 303, 304, 156, 14,
+ 354, 481, 621, 250, 714, 42, 4, 134, 690, 628,
+ 35, 1386, 80, 35, 564, 354, 372, 42, 401, 55,
+ 42, 35, 84, 697, 35, 42, 246, 859, 42, 336,
+ 209, 4, 57, 217, 218, 133, 134, 35, 767, 218,
+ 769, 439, 601, 1302, 42, 644, 454, 72, 777, 46,
+ 124, 761, 133, 1476, 1475, 783, 11, 1312, 54, 84,
+ 11, 789, 35, 88, 1319, 90, 42, 92, 83, 42,
+ 149, 150, 1, 33, 42, 295, 144, 1477, 4, 76,
+ 1, 60, 107, 108, 502, 47, 84, 59, 0, 1499,
+ 54, 106, 37, 59, 11, 62, 4, 1, 62, 698,
+ 1521, 59, 42, 74, 30, 31, 54, 354, 57, 35,
+ 1520, 136, 137, 0, 139, 12, 42, 75, 33, 59,
+ 9, 58, 83, 84, 355, 356, 74, 35, 348, 58,
+ 109, 93, 169, 62, 42, 203, 108, 58, 136, 175,
+ 165, 62, 622, 109, 169, 62, 108, 169, 165, 109,
+ 558, 176, 169, 108, 58, 169, 1556, 108, 84, 155,
+ 60, 98, 59, 136, 109, 62, 95, 165, 896, 536,
+ 1580, 169, 61, 140, 95, 261, 407, 408, 4, 5,
+ 47, 27, 1605, 305, 306, 31, 1561, 136, 4, 156,
+ 12, 108, 165, 169, 62, 74, 169, 4, 5, 321,
+ 1621, 169, 324, 7, 200, 327, 74, 59, 330, 109,
+ 136, 108, 334, 60, 60, 4, 213, 1476, 64, 35,
+ 342, 4, 48, 149, 150, 1480, 93, 176, 136, 169,
+ 56, 57, 247, 37, 149, 150, 151, 59, 912, 165,
+ 62, 915, 64, 169, 47, 212, 35, 345, 489, 56,
+ 57, 59, 35, 220, 80, 937, 108, 165, 4, 42,
+ 38, 169, 109, 109, 345, 392, 507, 193, 194, 209,
+ 237, 296, 55, 447, 57, 1530, 54, 217, 218, 341,
+ 195, 900, 956, 957, 59, 60, 25, 641, 27, 35,
+ 93, 94, 1020, 3, 4, 5, 6, 680, 48, 858,
+ 108, 485, 486, 328, 1032, 108, 246, 486, 716, 493,
+ 384, 709, 710, 47, 670, 12, 341, 4, 5, 58,
+ 737, 737, 506, 62, 349, 944, 1581, 47, 54, 47,
+ 64, 41, 357, 358, 1205, 1206, 62, 14, 1066, 354,
+ 1068, 525, 93, 341, 54, 22, 56, 57, 74, 93,
+ 59, 1222, 60, 136, 60, 295, 95, 140, 1524, 93,
+ 358, 48, 59, 610, 54, 62, 733, 403, 9, 56,
+ 57, 12, 991, 93, 3, 93, 401, 6, 88, 404,
+ 47, 93, 165, 47, 74, 358, 169, 401, 65, 47,
+ 108, 941, 175, 176, 473, 474, 74, 861, 90, 108,
+ 92, 109, 31, 401, 441, 54, 47, 1573, 348, 358,
+ 1009, 25, 41, 1245, 645, 341, 441, 897, 59, 505,
+ 61, 62, 74, 64, 441, 74, 93, 56, 57, 93,
+ 552, 553, 358, 93, 75, 93, 77, 4, 5, 222,
+ 60, 70, 467, 441, 58, 137, 54, 124, 62, 47,
+ 358, 80, 93, 94, 1164, 479, 47, 1131, 1132, 88,
+ 59, 60, 47, 487, 93, 405, 74, 108, 441, 467,
+ 107, 148, 497, 64, 54, 401, 1347, 3, 4, 5,
+ 505, 95, 449, 505, 54, 1356, 1357, 54, 1359, 56,
+ 57, 1201, 1221, 62, 74, 93, 94, 25, 495, 62,
+ 54, 441, 93, 70, 74, 74, 531, 505, 93, 534,
+ 108, 74, 537, 80, 708, 441, 541, 542, 543, 544,
+ 545, 938, 938, 47, 75, 492, 77, 94, 47, 554,
+ 56, 57, 505, 441, 1153, 31, 47, 4, 5, 564,
+ 602, 467, 567, 1375, 671, 485, 486, 473, 474, 4,
+ 5, 678, 906, 493, 80, 938, 505, 33, 473, 474,
+ 475, 238, 239, 1182, 62, 58, 506, 906, 799, 93,
+ 94, 755, 980, 250, 93, 358, 74, 602, 109, 505,
+ 678, 48, 93, 94, 108, 525, 4, 5, 808, 56,
+ 57, 47, 1010, 74, 1012, 902, 621, 505, 1016, 54,
+ 47, 56, 57, 628, 602, 47, 54, 3, 4, 5,
+ 6, 647, 54, 80, 3, 4, 5, 632, 59, 60,
+ 403, 1085, 1086, 621, 1334, 1105, 3, 4, 5, 6,
+ 628, 58, 74, 93, 1505, 1506, 58, 93, 56, 57,
+ 54, 47, 64, 320, 47, 41, 93, 679, 673, 54,
+ 686, 93, 688, 689, 54, 47, 75, 108, 441, 906,
+ 56, 57, 687, 47, 41, 357, 691, 56, 57, 107,
+ 108, 48, 47, 149, 150, 151, 602, 4, 5, 56,
+ 57, 767, 714, 769, 25, 362, 27, 93, 47, 775,
+ 93, 777, 618, 619, 371, 621, 479, 733, 59, 60,
+ 931, 93, 628, 80, 487, 64, 108, 384, 648, 93,
+ 94, 88, 737, 94, 1178, 47, 11, 58, 93, 195,
+ 47, 62, 505, 1187, 1188, 59, 60, 54, 1192, 56,
+ 57, 109, 47, 1100, 93, 94, 4, 5, 774, 737,
+ 108, 9, 767, 70, 769, 767, 904, 769, 870, 689,
+ 775, 47, 777, 80, 95, 777, 108, 47, 783, 784,
+ 785, 93, 787, 90, 789, 98, 93, 94, 47, 767,
+ 964, 769, 1236, 770, 771, 54, 898, 899, 93, 777,
+ 1198, 1199, 1200, 780, 60, 783, 54, 62, 56, 57,
+ 93, 789, 47, 733, 767, 74, 769, 93, 94, 54,
+ 4, 5, 70, 93, 777, 497, 58, 3, 62, 60,
+ 62, 737, 80, 111, 93, 755, 59, 60, 767, 74,
+ 769, 796, 797, 798, 501, 774, 775, 74, 777, 1060,
+ 1061, 1062, 857, 108, 62, 4, 5, 862, 93, 531,
+ 9, 767, 62, 769, 48, 979, 94, 12, 7, 8,
+ 9, 777, 56, 57, 108, 14, 94, 783, 111, 767,
+ 1587, 769, 27, 789, 647, 890, 31, 1331, 808, 777,
+ 93, 896, 31, 59, 60, 900, 80, 36, 93, 4,
+ 5, 949, 47, 4, 5, 54, 45, 56, 57, 566,
+ 328, 906, 54, 59, 59, 60, 74, 62, 896, 64,
+ 62, 70, 900, 686, 687, 688, 689, 44, 1372, 59,
+ 60, 80, 74, 938, 74, 940, 941, 54, 54, 944,
+ 57, 59, 60, 48, 938, 94, 62, 48, 93, 94,
+ 27, 56, 57, 610, 31, 56, 57, 904, 74, 74,
+ 938, 54, 74, 108, 1311, 54, 944, 59, 60, 62,
+ 733, 31, 11, 62, 737, 80, 4, 5, 1044, 80,
+ 109, 74, 59, 60, 108, 74, 991, 1053, 1101, 1102,
+ 896, 1104, 898, 899, 900, 59, 1044, 108, 25, 1004,
+ 27, 673, 8, 9, 767, 1107, 769, 1023, 14, 1397,
+ 108, 774, 775, 991, 777, 1020, 74, 473, 474, 475,
+ 48, 182, 679, 108, 54, 1413, 74, 1032, 56, 57,
+ 36, 58, 938, 690, 74, 62, 942, 943, 944, 45,
+ 108, 47, 1020, 109, 59, 1256, 464, 109, 1053, 944,
+ 111, 1053, 80, 108, 1032, 3, 4, 5, 111, 1036,
+ 75, 1066, 77, 1068, 721, 1042, 1043, 59, 95, 1046,
+ 1047, 27, 64, 1050, 74, 1053, 74, 54, 1180, 1181,
+ 74, 141, 74, 75, 108, 991, 146, 93, 1066, 111,
+ 1068, 1096, 1151, 1152, 1023, 111, 991, 108, 108, 47,
+ 1053, 58, 54, 108, 1109, 8, 54, 1155, 56, 57,
+ 111, 1499, 784, 785, 1020, 787, 534, 1514, 1514, 537,
+ 93, 1180, 1181, 541, 1053, 47, 1032, 64, 59, 93,
+ 4, 5, 1520, 109, 194, 54, 554, 1309, 36, 1311,
+ 1310, 25, 60, 27, 64, 93, 54, 1053, 1153, 567,
+ 1216, 64, 1164, 571, 62, 1221, 3, 4, 5, 1547,
+ 1066, 108, 1068, 64, 108, 1053, 74, 1611, 4, 5,
+ 1175, 1518, 60, 1175, 58, 1153, 62, 1182, 62, 108,
+ 54, 599, 56, 57, 1175, 108, 64, 605, 3, 4,
+ 5, 1196, 1580, 108, 108, 64, 70, 1175, 258, 64,
+ 1302, 3, 4, 5, 1182, 111, 80, 54, 44, 56,
+ 57, 95, 75, 1601, 108, 30, 1221, 108, 54, 1221,
+ 56, 57, 1175, 108, 75, 108, 1, 108, 3, 4,
+ 5, 6, 75, 8, 75, 30, 31, 75, 33, 54,
+ 108, 56, 57, 1221, 108, 1151, 1152, 1153, 62, 62,
+ 3, 4, 5, 6, 56, 57, 1151, 1152, 1153, 59,
+ 1023, 62, 57, 108, 59, 111, 41, 924, 1221, 1175,
+ 65, 8, 9, 48, 1180, 1181, 1182, 14, 108, 54,
+ 937, 56, 57, 108, 94, 1180, 1181, 1182, 41, 111,
+ 1053, 88, 1221, 1309, 74, 1311, 47, 1302, 109, 36,
+ 1302, 108, 108, 56, 57, 1310, 111, 1312, 45, 59,
+ 1312, 109, 111, 88, 1319, 1221, 108, 1319, 1518, 108,
+ 108, 1312, 108, 1328, 1302, 60, 64, 93, 1319, 3,
+ 4, 5, 59, 1221, 1312, 88, 64, 1491, 59, 59,
+ 62, 1319, 33, 59, 108, 108, 141, 74, 75, 1302,
+ 77, 146, 93, 93, 149, 150, 151, 93, 418, 1312,
+ 93, 421, 3, 4, 5, 109, 1319, 4, 5, 460,
+ 109, 27, 9, 433, 108, 31, 467, 1354, 1355, 108,
+ 54, 176, 56, 57, 58, 108, 111, 182, 8, 33,
+ 108, 1311, 1494, 1495, 1568, 108, 1302, 108, 193, 194,
+ 195, 108, 111, 59, 60, 109, 1312, 48, 64, 469,
+ 47, 471, 108, 1319, 209, 56, 57, 54, 108, 56,
+ 57, 108, 217, 218, 484, 108, 64, 108, 54, 1086,
+ 88, 108, 90, 70, 92, 1494, 1495, 1109, 7, 8,
+ 9, 532, 108, 80, 62, 14, 1423, 111, 866, 47,
+ 1213, 108, 62, 90, 108, 1218, 93, 94, 1221, 150,
+ 151, 108, 31, 258, 96, 1470, 62, 36, 60, 60,
+ 1475, 1476, 1477, 1475, 1476, 1480, 45, 9, 1480, 137,
+ 60, 139, 900, 16, 1475, 108, 108, 108, 944, 1480,
+ 93, 1496, 1470, 108, 108, 108, 108, 1475, 1476, 1477,
+ 108, 592, 1480, 1519, 195, 93, 60, 598, 60, 1514,
+ 54, 64, 3, 4, 5, 1172, 1521, 93, 111, 1521,
+ 93, 1178, 1475, 1476, 17, 1530, 60, 1480, 1530, 1424,
+ 1521, 54, 60, 328, 108, 991, 1514, 108, 97, 1530,
+ 107, 11, 108, 1521, 635, 108, 1309, 1310, 1311, 60,
+ 60, 1556, 1530, 3, 4, 5, 60, 7, 8, 9,
+ 59, 64, 93, 108, 1470, 56, 57, 58, 1521, 1475,
+ 1476, 1477, 1549, 60, 1480, 11, 1581, 1530, 1556, 1581,
+ 60, 31, 3, 4, 5, 6, 36, 108, 1494, 1495,
+ 1581, 3, 4, 5, 108, 7, 11, 758, 1518, 1494,
+ 1495, 1496, 60, 1581, 0, 0, 56, 57, 1514, 404,
+ 405, 3, 4, 5, 6, 1521, 1621, 0, 30, 1621,
+ 41, 170, 2, 418, 1530, 37, 421, 48, 1581, 35,
+ 1621, 1411, 427, 428, 429, 56, 57, 328, 433, 1296,
+ 1297, 938, 54, 1621, 56, 57, 38, 39, 671, 41,
+ 1556, 3, 4, 5, 169, 3, 4, 5, 6, 80,
+ 441, 319, 54, 165, 56, 57, 775, 88, 1621, 80,
+ 81, 82, 83, 84, 469, 1581, 471, 1567, 473, 474,
+ 475, 1164, 401, 478, 744, 745, 94, 747, 238, 484,
+ 485, 486, 139, 41, 489, 1151, 1152, 1153, 493, 357,
+ 1396, 1246, 54, 1621, 56, 57, 54, 924, 56, 57,
+ 919, 298, 507, 721, 62, 1621, 243, 1201, 1334, 1053,
+ 1218, 775, 70, 917, 1180, 1181, 1182, 3, 4, 5,
+ 654, 1388, 80, 200, 345, 602, 124, 428, 429, 534,
+ 88, 1601, 537, 1312, 1176, 93, 1587, 1597, 467, 1535,
+ 3, 4, 5, 1410, 1411, 1599, 1519, 552, 553, 554,
+ 999, 1328, -1, -1, 1182, 856, 857, 3, 4, 5,
+ 6, 862, 567, 9, 3, 4, 5, 6, 1196, -1,
+ 56, 57, -1, 474, 475, 876, -1, 878, -1, 880,
+ -1, -1, -1, -1, -1, 31, 3, 4, 5, -1,
+ -1, 459, 460, 56, 57, 41, -1, -1, -1, 467,
+ -1, 47, 41, -1, 1232, 1233, 1234, 1235, 54, 48,
+ 56, 57, -1, -1, -1, -1, -1, 56, 57, -1,
+ -1, 1488, -1, 628, 70, 926, 3, 4, 5, 497,
+ 7, 8, 9, 534, 80, -1, 537, -1, -1, 56,
+ 57, 80, 88, 648, 90, -1, -1, 93, 94, 88,
+ -1, -1, 553, 554, 1025, 1026, 78, 79, 80, 81,
+ 82, 83, 84, 531, 532, -1, 567, 1295, -1, -1,
+ -1, 972, -1, 943, -1, -1, -1, -1, -1, 56,
+ 57, 1052, 687, -1, 689, 690, 1057, -1, -1, -1,
+ -1, -1, 621, 3, 4, 5, 564, -1, 566, 628,
+ -1, 569, 570, -1, 572, 573, 574, 575, 576, 577,
+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, -1, 592, -1, -1, 628, 733, -1,
+ 598, -1, -1, -1, -1, -1, -1, -1, 48, 744,
+ 745, -1, 747, -1, -1, 1373, 56, 57, -1, -1,
+ 755, -1, -1, 758, 47, -1, -1, -1, 1424, -1,
+ 628, -1, -1, 3, 4, 5, -1, 635, -1, -1,
+ 775, -1, -1, -1, -1, 193, 194, 195, 1406, -1,
+ -1, -1, 3, 4, 5, 753, 7, 8, 9, 657,
+ 658, -1, -1, 86, 87, -1, -1, 802, 91, 92,
+ 93, 94, 3, 4, 5, 673, -1, -1, 737, -1,
+ 31, -1, -1, -1, 782, 36, 56, 57, -1, -1,
+ 788, -1, -1, 3, 4, 5, 6, -1, 1494, 1495,
+ 1496, -1, -1, 54, -1, 56, 57, 58, 80, -1,
+ 1211, 1212, 1470, 1214, 1215, -1, 1217, -1, 1476, 1477,
+ -1, 31, -1, 721, 783, 56, 57, -1, -1, -1,
+ 789, 41, 104, -1, -1, 1166, -1, 1168, 1496, 1170,
+ -1, -1, -1, -1, 54, -1, 56, 57, -1, 1149,
+ 1150, -1, 103, 104, 105, -1, -1, 1157, -1, -1,
+ 70, 133, -1, 898, 899, 900, -1, -1, 766, -1,
+ 80, 802, 144, -1, -1, -1, -1, -1, 88, -1,
+ -1, -1, -1, 93, -1, -1, 784, 785, -1, 787,
+ -1, -1, -1, 891, -1, 893, -1, -1, 1556, -1,
+ -1, -1, 937, -1, 802, -1, -1, 942, 943, 944,
+ -1, -1, -1, -1, -1, -1, -1, 1575, -1, -1,
+ -1, -1, 4, 5, -1, -1, 824, 9, -1, -1,
+ -1, 203, -1, -1, -1, -1, 1267, 896, 1596, -1,
+ -1, 900, -1, 1344, 1345, -1, -1, 1605, -1, -1,
+ -1, -1, -1, -1, -1, -1, 991, -1, 856, 857,
+ -1, -1, -1, 861, 862, 47, 238, -1, 899, 900,
+ 1270, 1271, 54, 1273, 56, 57, -1, -1, 876, 938,
+ 878, -1, 880, -1, -1, 944, -1, -1, 70, 261,
+ 1025, 1026, -1, -1, -1, -1, -1, -1, 80, -1,
+ -1, 3, 4, 5, 6, -1, -1, 9, 90, -1,
+ -1, 93, 94, 944, -1, -1, -1, 1052, 916, -1,
+ -1, 469, 1057, 471, -1, 473, 474, 475, 926, 31,
+ -1, -1, 991, -1, -1, -1, 484, -1, -1, 41,
+ -1, -1, -1, 941, -1, 1446, 1447, 1448, -1, -1,
+ -1, -1, 54, -1, 56, 57, 954, -1, -1, -1,
+ 991, 1020, -1, -1, -1, -1, -1, 1065, 70, 1067,
+ 7, 8, 9, 1032, 972, -1, -1, 14, 80, -1,
+ -1, 353, 3, 4, 5, 6, 88, -1, 9, -1,
+ -1, 93, -1, 991, 31, -1, -1, -1, -1, 36,
+ -1, 1502, 1503, -1, -1, -1, -1, 1066, 45, 1068,
+ 31, -1, -1, -1, 1149, 1150, 1151, 1152, 1153, -1,
+ 41, -1, 1157, 60, 1122, -1, 47, -1, -1, -1,
+ -1, -1, -1, 54, -1, 56, 57, 1035, -1, 411,
+ -1, -1, -1, -1, -1, 1180, 1181, 1182, -1, 70,
+ -1, -1, -1, -1, 7, 8, 9, -1, -1, 80,
+ -1, 14, -1, -1, -1, -1, -1, 88, -1, 90,
+ -1, 1572, 93, 94, -1, -1, 1211, 1212, 31, 1214,
+ 1215, -1, 1217, 36, -1, -1, 4, 1085, 1086, -1,
+ -1, 1089, 45, -1, 1153, -1, 14, -1, -1, -1,
+ -1, -1, -1, -1, 1202, -1, 24, 60, -1, 1207,
+ -1, 1109, 30, 31, -1, 33, -1, 35, -1, -1,
+ -1, 1152, 1153, 1182, 42, -1, -1, -1, -1, 501,
+ -1, -1, -1, -1, -1, 1270, 1271, 55, 1273, 57,
+ -1, -1, 460, -1, -1, -1, -1, 65, -1, 467,
+ 1181, 1182, -1, -1, 72, -1, 528, -1, -1, -1,
+ -1, -1, 1260, -1, -1, 83, 84, -1, 1166, -1,
+ 1168, -1, 1170, -1, -1, 1310, 1311, -1, -1, -1,
+ 1178, -1, -1, -1, -1, -1, -1, -1, 106, 1187,
+ 1188, -1, -1, -1, 1192, -1, 744, 745, -1, 747,
+ -1, 3, 4, 5, 6, -1, -1, 9, -1, 1344,
+ 1345, 1209, 1210, -1, 532, -1, 134, -1, 136, -1,
+ -1, -1, 140, 141, -1, -1, 774, 145, 146, 31,
+ -1, 149, 150, 151, -1, -1, -1, -1, 1236, 41,
+ -1, -1, -1, 615, -1, 47, -1, 165, -1, -1,
+ -1, 169, 54, -1, 56, 57, -1, 175, 176, 631,
+ -1, 3, 4, 5, 6, 1363, 1364, -1, 70, 1267,
+ -1, -1, -1, -1, 592, 193, 194, 195, 80, -1,
+ 598, -1, 1380, -1, -1, -1, 88, -1, 90, 1424,
+ -1, 93, 94, 1291, -1, -1, -1, -1, -1, 41,
+ -1, -1, -1, -1, 222, -1, 48, -1, -1, -1,
+ 628, 1446, 1447, 1448, 56, 57, -1, 635, -1, -1,
+ -1, 239, -1, -1, -1, -1, -1, -1, -1, 247,
+ -1, -1, -1, 1331, -1, -1, -1, -1, 80, -1,
+ 258, 1439, 1440, -1, -1, -1, 88, -1, 3, 4,
+ 5, 6, 1350, -1, 9, -1, -1, 1455, 1456, 1494,
+ 1495, 1496, -1, -1, -1, -1, -1, 1502, 1503, -1,
+ -1, -1, -1, -1, 1372, -1, 31, -1, 296, 297,
+ -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
+ -1, -1, 47, 1424, 942, 943, 944, -1, -1, 54,
+ -1, 56, 57, -1, -1, -1, 4, 5, -1, -1,
+ -1, 9, -1, -1, -1, 70, -1, -1, -1, -1,
+ -1, -1, -1, 341, -1, 80, 1424, 345, -1, 347,
+ 348, 349, -1, 88, -1, 90, -1, 1572, 93, 94,
+ 358, -1, -1, 991, -1, -1, 1444, 1445, -1, 47,
+ -1, 3, 4, 5, 6, 1514, 54, 9, 56, 57,
+ 3, 4, 5, 6, 1495, 1496, 9, -1, -1, 82,
+ -1, -1, 70, -1, 392, 1023, -1, -1, -1, 31,
+ 1478, -1, 80, 401, 802, 403, 404, -1, 31, 41,
+ -1, -1, 90, -1, -1, 93, 94, -1, 41, -1,
+ 418, -1, 54, 421, 56, 57, -1, -1, -1, -1,
+ 1508, 54, -1, 56, 57, 433, -1, -1, 70, -1,
+ -1, -1, -1, 441, -1, -1, -1, 70, 80, 3,
+ 4, 5, 6, 905, -1, 907, 88, 80, 856, 857,
+ -1, 93, -1, -1, 862, 88, 159, -1, -1, -1,
+ 93, 469, -1, 471, -1, 473, 474, 475, 876, -1,
+ 878, 479, 880, -1, -1, -1, 484, 41, -1, 487,
+ -1, -1, -1, 47, -1, -1, -1, 949, 191, -1,
+ 54, -1, 56, 57, -1, -1, -1, 505, -1, -1,
+ -1, 204, -1, -1, -1, -1, 70, -1, -1, -1,
+ -1, 1149, 1150, 1151, 1152, 1153, 80, -1, 926, 1157,
+ -1, -1, -1, 1611, 88, -1, 90, -1, -1, 93,
+ 94, -1, -1, -1, 542, 543, 544, 545, -1, -1,
+ -1, -1, 1180, 1181, 1182, -1, -1, -1, -1, -1,
-1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- 419, -1, 14, 422, -1, -1, -1, -1, -1, 428,
- 429, 430, -1, -1, -1, 434, 28, -1, 30, 31,
- 32, -1, -1, 442, 36, 37, -1, -1, -1, 41,
+ 12, -1, 14, -1, 972, -1, -1, -1, -1, 3,
+ 4, 5, 6, -1, -1, 1213, 28, -1, 30, 31,
+ -1, -1, 1044, 991, 36, -1, -1, -1, -1, 41,
+ -1, -1, -1, 45, 602, 47, 604, -1, -1, -1,
+ -1, -1, 54, -1, 56, 57, -1, 41, 616, -1,
+ 618, 619, -1, 621, 48, -1, -1, -1, 70, -1,
+ 628, -1, 56, 57, 632, -1, -1, -1, 80, -1,
+ -1, -1, 1270, 1271, -1, 1273, 88, -1, 90, 647,
+ -1, 93, 94, -1, -1, -1, 80, -1, -1, -1,
+ 3, 4, 5, 6, 88, -1, 3, 4, 5, 6,
+ 7, 8, 9, 671, -1, -1, 1128, 14, -1, -1,
+ 678, -1, -1, -1, -1, -1, -1, -1, 686, 687,
+ 688, 689, 690, 691, 31, -1, -1, -1, 41, 36,
+ -1, -1, -1, 1155, 41, 48, -1, -1, 45, -1,
+ 47, -1, -1, 56, 57, -1, -1, 54, -1, 56,
+ 57, -1, -1, -1, -1, -1, -1, 3, 4, 5,
+ 6, -1, -1, 70, -1, 733, -1, -1, -1, 737,
+ -1, -1, -1, 80, -1, 88, 744, 745, -1, 747,
+ -1, 88, -1, 90, -1, 31, 93, 94, -1, -1,
+ -1, -1, -1, -1, 1216, 41, 764, -1, 1166, 767,
+ 1168, 769, 1170, -1, -1, -1, 774, 775, 54, 777,
+ 56, 57, -1, -1, 477, 783, -1, -1, -1, 482,
+ -1, 789, -1, -1, 70, -1, 1424, -1, 796, 797,
+ 798, -1, -1, -1, 80, -1, 3, 4, 5, 6,
+ 808, -1, 88, -1, -1, 508, -1, 93, -1, 4,
+ -1, 514, -1, -1, -1, -1, -1, -1, -1, 14,
+ -1, -1, -1, 526, 527, -1, 529, -1, 23, 24,
+ -1, -1, -1, -1, 41, 30, 31, -1, 33, -1,
+ 35, 48, -1, -1, -1, -1, -1, 42, -1, 56,
+ 57, -1, -1, -1, -1, -1, 1494, 1495, 1496, 1267,
+ 55, -1, 57, 3, 4, 5, 6, -1, -1, -1,
+ 65, -1, -1, 881, -1, 883, -1, 72, -1, -1,
+ -1, 88, 890, -1, -1, -1, 894, -1, 896, 84,
+ 898, 899, 900, -1, -1, -1, -1, -1, 906, -1,
+ -1, 41, -1, -1, -1, -1, -1, -1, 48, -1,
+ -1, -1, 3, 4, 5, 6, 56, 57, 9, -1,
+ -1, 624, 625, -1, -1, -1, 629, 347, 348, 349,
+ 938, -1, 940, -1, 942, 943, 944, -1, -1, -1,
+ 31, 136, -1, -1, -1, 140, 141, -1, 88, -1,
+ 41, 146, -1, -1, 149, 150, 151, -1, -1, -1,
+ -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
+ 165, -1, -1, -1, 169, -1, -1, -1, -1, 70,
+ 175, 176, -1, 991, -1, -1, -1, -1, -1, 80,
+ -1, -1, -1, -1, -1, -1, 1004, 88, 193, 194,
+ 195, -1, 93, -1, -1, -1, -1, -1, -1, 4,
+ 5, -1, 1020, 8, 9, 1023, 1424, -1, -1, 14,
+ -1, -1, -1, -1, 1032, -1, -1, 222, -1, -1,
+ -1, -1, -1, 28, -1, 30, -1, 1045, -1, -1,
+ -1, 36, -1, -1, -1, 1053, -1, -1, -1, -1,
+ 45, -1, -1, -1, -1, -1, -1, -1, 1066, 54,
+ 1068, 56, 57, 258, -1, -1, -1, -1, 1, -1,
+ 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
+ -1, 14, -1, -1, -1, -1, -1, 790, 1096, 792,
+ -1, -1, -1, 1101, 1102, 28, 1104, 30, 31, 32,
+ -1, 296, 297, 36, 37, -1, -1, -1, 41, -1,
+ -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
+ -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
+ -1, 347, 348, 349, -1, -1, -1, 70, -1, -1,
+ -1, 1149, 1150, 1151, 1152, 1153, 341, 80, -1, 1157,
+ 345, -1, 347, 348, 349, 88, -1, -1, -1, 354,
+ 93, 864, 865, 358, 867, 3, 4, 5, 6, -1,
+ -1, 9, 1180, 1181, 1182, -1, 109, -1, -1, -1,
+ -1, -1, 3, 4, 5, 6, -1, -1, -1, -1,
+ -1, -1, 895, 31, -1, -1, -1, 392, 618, 619,
+ -1, -1, -1, 41, -1, 1213, 401, -1, 403, 404,
+ 1218, -1, -1, 1221, -1, -1, 54, -1, 56, 57,
+ 41, -1, -1, 418, -1, -1, 421, -1, -1, -1,
+ -1, -1, 70, 54, -1, 56, 57, -1, 433, 60,
+ -1, 62, 80, 946, -1, -1, 441, -1, -1, 70,
+ 88, -1, -1, -1, -1, 93, -1, -1, -1, 80,
+ -1, -1, 1270, 1271, -1, 1273, 686, 88, 688, 689,
+ -1, 691, 93, -1, 469, -1, 471, -1, 473, 474,
+ 475, -1, -1, -1, 479, -1, -1, -1, -1, 484,
+ -1, -1, 487, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1309, 1310, 1311, -1, -1, -1, -1, -1, -1,
+ 505, -1, -1, 733, -1, -1, 1019, -1, -1, -1,
+ 1328, -1, -1, -1, -1, -1, -1, -1, 1031, -1,
+ -1, -1, 4, 5, -1, 7, 8, 9, -1, -1,
+ 12, -1, 14, -1, -1, -1, -1, 542, 543, 544,
+ 545, -1, -1, -1, -1, -1, 28, -1, 30, 31,
+ -1, -1, -1, -1, 36, -1, -1, -1, -1, -1,
+ -1, -1, -1, 45, -1, 47, -1, 3, 4, 5,
+ 6, -1, 54, -1, 56, 57, -1, -1, 808, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 70, -1,
+ -1, -1, 618, 619, -1, 621, -1, 602, 80, 604,
+ -1, -1, 628, -1, 1117, 41, 1424, -1, 90, -1,
+ -1, 93, 94, 618, 619, -1, 621, -1, 54, -1,
+ 56, 57, -1, 628, 60, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 70, -1, 641, -1, -1, -1,
+ -1, -1, 647, 1156, 80, -1, -1, -1, -1, -1,
+ -1, 881, 88, 883, -1, -1, -1, 93, -1, -1,
+ 686, -1, 688, 689, 894, 691, 671, -1, 898, 899,
+ 3, 4, 5, 6, 679, -1, 1494, 1495, 1496, -1,
+ -1, 686, 687, 688, 689, 690, 691, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1514, -1, 31, -1,
+ -1, 1519, -1, -1, -1, -1, -1, 733, 41, 714,
+ 1223, -1, 942, 943, 1227, -1, -1, -1, -1, -1,
+ -1, 54, -1, 56, 57, -1, -1, -1, 733, -1,
+ -1, -1, 737, -1, -1, -1, -1, 70, -1, 744,
+ 745, -1, 747, -1, -1, -1, -1, 80, -1, 1262,
+ -1, -1, -1, -1, -1, 88, 761, 107, 108, 764,
+ 93, -1, 767, -1, 769, -1, -1, -1, -1, 774,
+ 775, -1, 777, -1, -1, -1, -1, -1, 783, -1,
+ -1, -1, 808, -1, 789, -1, -1, -1, -1, -1,
+ -1, 796, 797, 798, 3, 4, 5, 6, 7, 8,
+ 9, -1, -1, 808, -1, 14, -1, -1, -1, -1,
+ -1, -1, 4, -1, -1, -1, -1, -1, -1, 28,
+ -1, 30, 31, -1, -1, -1, 1339, 36, -1, -1,
+ 1343, -1, 41, -1, -1, -1, 45, -1, 30, 31,
+ -1, 33, -1, 35, -1, 54, -1, 56, 57, -1,
+ 42, 60, 1365, 1366, -1, 881, -1, 883, -1, -1,
+ -1, 70, -1, 55, -1, 57, -1, -1, 894, -1,
+ -1, 80, 898, 899, 900, -1, 881, -1, 883, 88,
+ -1, -1, -1, -1, 93, 890, -1, -1, 80, 894,
+ -1, 896, -1, 898, 899, 900, -1, -1, -1, -1,
+ -1, 906, 3, 4, 5, 6, -1, -1, 9, -1,
+ -1, -1, -1, -1, -1, -1, 942, 943, 944, 1149,
+ 1150, 1151, 1152, -1, -1, -1, -1, 1157, -1, -1,
+ 31, -1, -1, 938, -1, 940, -1, 942, 943, 944,
+ 41, 133, 134, -1, 136, -1, -1, -1, 140, 141,
+ 1180, 1181, 144, 54, 146, 56, 57, 149, 150, 151,
+ -1, -1, -1, -1, 156, 991, -1, -1, -1, 70,
+ -1, -1, -1, 165, -1, -1, -1, 169, 328, 80,
+ -1, -1, -1, 175, 176, -1, 991, 88, -1, -1,
+ -1, -1, 93, -1, -1, -1, -1, -1, -1, 1004,
+ -1, 193, 194, 195, -1, -1, -1, -1, -1, -1,
+ -1, 203, -1, -1, -1, 1020, -1, -1, 1023, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1032, -1, 1,
+ 222, 3, 4, 5, 6, 7, 8, 9, -1, -1,
+ 1270, 1271, 14, 1273, -1, -1, -1, -1, 1053, -1,
+ -1, 401, -1, -1, -1, -1, 28, -1, 30, 31,
+ 32, 1066, -1, 1068, 36, 37, 258, -1, -1, 41,
-1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
-1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
- 62, 470, -1, 472, -1, 474, 475, 476, 70, -1,
- 1438, 480, -1, -1, -1, -1, 485, -1, 80, 488,
- -1, -1, 3, 4, 5, 6, 88, -1, -1, -1,
- -1, 93, -1, 4, 5, -1, -1, 8, 9, -1,
- -1, -1, 511, 14, 513, -1, -1, 109, -1, 518,
- 519, -1, 521, -1, -1, -1, -1, 28, -1, 30,
- 41, -1, -1, -1, -1, 36, -1, -1, -1, -1,
- -1, -1, -1, 54, 45, 56, 57, 1505, 1506, 1507,
- -1, 62, -1, 54, 553, 56, 57, 556, -1, 70,
- -1, -1, -1, 1521, -1, -1, -1, -1, 1526, 80,
- -1, -1, 571, 572, 573, -1, -1, 88, -1, 4,
- -1, -1, 93, -1, -1, -1, -1, 586, -1, -1,
- -1, 3, 4, 5, 6, -1, 1, 9, 3, 4,
- 5, 6, 7, 8, 9, 30, 31, -1, 33, 14,
- 35, -1, -1, -1, -1, -1, -1, 42, -1, 31,
- -1, -1, 27, 28, -1, 30, 31, 32, -1, 41,
- 55, 36, 57, -1, -1, 634, 41, -1, -1, 44,
- 45, 46, 54, 48, 56, 57, -1, -1, 647, 54,
- -1, 56, 57, -1, -1, 60, -1, -1, 70, -1,
- -1, -1, -1, -1, -1, 70, -1, 666, 80, -1,
- -1, -1, -1, -1, -1, 80, 88, -1, -1, -1,
- -1, 93, -1, 88, -1, -1, -1, -1, 93, -1,
- -1, 690, -1, 98, -1, -1, -1, 33, 697, -1,
- -1, -1, -1, -1, -1, -1, 705, 706, 707, 708,
- -1, 136, -1, -1, -1, 140, 141, -1, -1, 55,
- -1, 146, -1, -1, 149, 150, 151, -1, -1, -1,
- -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
- 165, -1, -1, -1, 169, 3, 4, 5, 6, -1,
- 175, 176, -1, 752, -1, -1, -1, 756, -1, -1,
- -1, -1, -1, -1, 763, 764, -1, 766, 193, 194,
- 195, -1, 41, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, 54, 785, 56, 57, -1,
- -1, 60, -1, 62, -1, -1, 54, 222, 56, 57,
- -1, 70, 60, -1, -1, -1, -1, 806, -1, -1,
- -1, 80, 70, 149, 150, 151, 815, -1, -1, 88,
- 245, -1, 80, -1, 93, -1, -1, -1, -1, -1,
- 88, -1, -1, -1, 259, 93, -1, -1, -1, 175,
- -1, 1, 841, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, -1, 193, 194, 195,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, -1, 45, 222, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
- -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
- 355, -1, -1, 93, 359, -1, -1, -1, 937, 938,
- 939, -1, -1, -1, 943, 944, -1, -1, 108, -1,
- 110, -1, -1, 3, 4, 5, 6, 7, 8, 9,
- -1, -1, 298, -1, 14, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 28, 404,
- 30, 31, 981, 982, 983, -1, 36, -1, -1, 988,
- -1, 41, -1, -1, 419, 45, -1, 422, -1, -1,
- -1, -1, -1, -1, 54, -1, 56, 57, -1, 434,
- 60, -1, 348, 349, 350, -1, -1, 442, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 80, 1030, -1, -1, -1, -1, -1, -1, 88, -1,
- -1, -1, -1, 93, -1, 470, -1, 472, -1, 474,
- 475, 476, -1, -1, -1, 480, -1, -1, -1, -1,
- 485, -1, -1, 488, -1, -1, -1, -1, 404, -1,
- 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, 3,
- 4, 5, 6, 7, 8, 9, 511, -1, 513, -1,
- 14, -1, -1, 518, 519, -1, 521, -1, -1, -1,
- -1, -1, -1, -1, 28, -1, 30, 31, -1, -1,
- -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- 54, -1, 56, 57, 470, -1, 472, -1, 474, 475,
- 476, -1, -1, -1, 480, -1, 70, -1, -1, 485,
- 1149, -1, 488, -1, -1, -1, 80, -1, -1, -1,
- -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
- -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
- -1, -1, 518, -1, 1, -1, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
- -1, -1, 1201, 1202, 1203, -1, -1, -1, -1, -1,
- 635, 28, 29, 30, -1, 32, -1, 34, 35, 36,
- -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, 666, -1, -1, 61, 62, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, -1, -1, 55, -1, -1, 86,
- 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
- 705, 706, 707, 708, -1, -1, -1, 623, -1, -1,
- -1, 80, -1, 110, 83, -1, 1295, 1296, -1, 1298,
- -1, 637, 638, -1, 640, -1, -1, -1, -1, -1,
- -1, 647, -1, -1, -1, 104, -1, 106, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 752, -1, -1,
- 666, 756, -1, -1, -1, 1334, 1335, 1336, 763, 764,
- -1, 766, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 785, -1, -1, -1, -1, -1, -1, -1, -1, 705,
- -1, 707, 708, -1, 710, -1, -1, -1, -1, -1,
- -1, 3, 4, 5, 6, -1, 175, 9, -1, -1,
- 815, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 193, 194, 195, -1, -1, 31,
- -1, -1, -1, -1, 203, -1, 752, -1, -1, 41,
- -1, -1, -1, -1, -1, -1, -1, 763, 764, -1,
- 766, -1, 54, 222, 56, 57, -1, -1, -1, 1438,
- -1, -1, -1, -1, -1, -1, -1, -1, 70, 785,
- -1, 3, 4, 5, 6, 7, 8, 9, 80, 248,
- 12, -1, 14, -1, -1, -1, 88, -1, -1, -1,
- -1, 93, -1, 262, -1, -1, 28, -1, 30, 31,
- -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
- -1, -1, -1, 45, -1, -1, -1, -1, -1, 835,
- 836, 837, 54, -1, 56, 57, 1505, 1506, 1507, -1,
- -1, 847, -1, -1, -1, -1, -1, -1, 70, -1,
- 945, -1, -1, -1, -1, -1, -1, 1526, 80, -1,
+ 62, 1096, -1, -1, -1, -1, 1101, 1102, 70, 1104,
+ -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
+ -1, -1, -1, -1, -1, -1, 88, 467, -1, -1,
+ -1, 93, -1, 1149, 1150, 1151, 1152, 1153, -1, -1,
+ -1, 1157, -1, -1, -1, -1, 328, 109, -1, -1,
+ -1, -1, -1, -1, 1149, 1150, 1151, 1152, 1153, -1,
+ -1, -1, 1157, 345, 1180, 1181, 1182, -1, -1, 1164,
+ -1, 353, -1, -1, -1, -1, 358, -1, -1, -1,
+ -1, 3, 4, 5, 6, 1180, 1181, 1182, -1, -1,
+ -1, -1, -1, -1, 534, -1, -1, 537, -1, -1,
+ -1, 541, 542, 543, 544, 545, 1201, -1, -1, -1,
+ 392, -1, -1, -1, 554, -1, -1, -1, 1213, 41,
+ -1, 403, -1, 1218, -1, -1, 1221, 567, -1, -1,
+ -1, -1, 54, -1, 56, 57, 418, -1, -1, 421,
+ 62, -1, -1, -1, -1, 427, 428, 429, 70, -1,
+ -1, 433, -1, -1, 1270, 1271, -1, 1273, 80, 441,
-1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 981, 982, 983, -1,
- -1, -1, -1, -1, -1, 354, 355, -1, -1, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- -1, -1, 14, -1, 920, -1, 922, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, 933, 30, 31,
- -1, 937, 938, 939, 36, 1030, -1, -1, -1, 41,
- -1, -1, -1, 45, -1, 404, -1, -1, -1, -1,
- -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
- -1, -1, -1, -1, 1069, 981, 982, 983, 80, 1074,
- -1, -1, 1077, -1, -1, -1, 88, -1, -1, -1,
- -1, 93, -1, -1, -1, 3, 4, 5, 6, 7,
- 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
- -1, 470, -1, 472, -1, 474, 475, 476, -1, -1,
- 28, 480, 30, 31, 1030, -1, 485, -1, 36, 488,
- -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
- -1, 14, -1, -1, -1, -1, -1, -1, -1, 518,
- 23, 24, 70, 1069, -1, -1, -1, 30, 31, -1,
- 33, 12, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
- 88, -1, -1, 1178, -1, 93, 69, 70, 71, 72,
+ -1, 93, -1, -1, -1, 1270, 1271, -1, 1273, -1,
+ -1, 621, -1, -1, -1, -1, -1, 469, 628, 471,
+ -1, 473, 474, 475, 4, 5, -1, 479, 8, 9,
+ -1, -1, 484, 1298, 14, 487, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1309, 1310, 1311, -1, 28, -1,
+ 30, -1, 4, 505, -1, -1, 36, -1, -1, -1,
+ -1, -1, -1, 1328, -1, 45, -1, -1, -1, 1334,
+ -1, -1, -1, -1, 54, -1, 56, 57, 30, 31,
+ -1, 33, 534, 35, -1, 537, -1, -1, -1, -1,
+ 42, 1, -1, 3, 4, 5, 6, 7, 8, 9,
+ 552, 553, 554, 55, 14, 57, -1, -1, -1, -1,
+ -1, -1, -1, 93, -1, 567, -1, -1, 28, -1,
+ 30, 31, 32, -1, -1, -1, 36, 737, -1, -1,
+ -1, 41, -1, -1, -1, 45, 46, -1, 48, -1,
+ -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
+ 60, -1, 62, -1, -1, -1, -1, -1, -1, 1424,
+ 70, -1, -1, 615, -1, -1, -1, -1, -1, -1,
+ 80, -1, -1, 783, -1, -1, 628, -1, 88, 789,
+ -1, -1, -1, 93, 136, 33, -1, -1, 140, 141,
+ -1, -1, -1, -1, 146, 647, -1, 149, 150, 151,
+ -1, -1, -1, -1, -1, -1, -1, 55, -1, -1,
+ -1, -1, -1, 165, -1, -1, -1, 169, -1, 671,
+ -1, -1, -1, 175, 176, -1, 678, -1, -1, 1494,
+ 1495, 1496, -1, -1, 686, 687, 688, 689, -1, -1,
+ -1, 193, 194, 195, -1, -1, -1, 857, -1, 1514,
+ -1, -1, -1, -1, 1519, -1, -1, -1, -1, 3,
+ 4, 5, 6, -1, -1, 9, -1, -1, -1, -1,
+ 222, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 890, 733, -1, -1, -1, 737, 896, 31, -1, -1,
+ 900, -1, 744, 745, -1, 747, -1, 41, -1, -1,
+ -1, 149, 150, 151, -1, -1, 258, -1, -1, -1,
+ 54, -1, 56, 57, -1, 767, -1, 769, -1, 31,
+ -1, -1, 774, 775, -1, 777, 70, 175, 938, -1,
+ 940, -1, -1, -1, 944, -1, 80, -1, -1, -1,
+ -1, -1, -1, -1, 88, 193, 194, 195, -1, 93,
+ 802, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, -1, 222, -1, -1, -1, -1, -1,
+ -1, 991, -1, -1, -1, 1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 1004, -1, -1, -1, 14, -1,
+ -1, -1, 354, -1, -1, -1, 358, -1, -1, -1,
+ 1020, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ 36, -1, 1032, -1, -1, 41, -1, -1, 44, 45,
+ 46, -1, 48, -1, -1, -1, -1, -1, 54, -1,
+ 56, 57, -1, -1, 60, -1, 898, 899, 900, 297,
+ -1, 403, 904, 905, 70, -1, 1066, -1, 1068, -1,
+ -1, -1, -1, -1, 80, -1, 418, -1, -1, 421,
+ -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
+ -1, 433, 98, -1, -1, -1, 1096, -1, -1, 441,
+ 942, 943, 944, -1, -1, -1, -1, 949, -1, 347,
+ 348, 349, -1, 3, 4, 5, 6, 7, 8, 9,
+ 3, 4, 5, 6, 14, -1, 9, 469, -1, 471,
+ -1, 473, 474, 475, -1, -1, -1, 479, 28, -1,
+ 30, 31, 484, -1, -1, 487, 36, -1, 31, 991,
+ -1, 41, -1, 1153, -1, 45, -1, 47, 41, -1,
+ -1, -1, -1, 505, 54, 403, 56, 57, -1, -1,
+ -1, 54, -1, 56, 57, -1, -1, -1, -1, -1,
+ 70, 1023, 1182, -1, -1, -1, -1, 70, -1, -1,
+ 80, -1, -1, -1, -1, -1, 1196, 80, 88, -1,
+ 90, -1, 1044, 93, 94, 88, -1, -1, -1, -1,
+ 93, 1053, 3, 4, 5, 6, 7, 8, 9, -1,
+ -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
+ -1, 469, -1, 471, -1, 473, 474, 475, -1, -1,
+ 31, 479, -1, -1, -1, 36, 484, -1, -1, 487,
+ 41, -1, -1, -1, 45, -1, 47, -1, -1, -1,
+ -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
+ -1, -1, -1, -1, 616, -1, -1, -1, -1, 70,
+ -1, -1, 3, 4, 5, 6, 1128, -1, -1, 80,
+ -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
+ -1, -1, 93, 94, -1, 647, -1, 1149, 1150, 1151,
+ 1152, 1153, -1, 1155, -1, 1157, -1, -1, -1, -1,
+ 41, -1, -1, -1, -1, -1, -1, -1, 1328, -1,
+ -1, -1, -1, 54, -1, 56, 57, -1, 1180, 1181,
+ 1182, 62, -1, -1, 686, 687, 688, 689, -1, 70,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
+ -1, -1, -1, -1, -1, -1, 604, 88, -1, -1,
+ -1, 1213, 93, 55, -1, -1, 1218, -1, -1, 1221,
+ 618, 619, -1, 621, -1, 3, 4, 5, 6, -1,
+ 628, 733, -1, -1, -1, 737, -1, -1, 80, -1,
+ -1, 83, 744, 745, -1, 747, -1, -1, -1, 647,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 65, -1, -1, -1, 1201, 1202, 1203, -1,
- -1, -1, -1, -1, -1, -1, 1122, 1123, -1, 1125,
+ 83, 84, 104, 41, 106, 767, -1, 769, 1270, 1271,
+ -1, 1273, 774, 775, -1, 777, 54, -1, 56, 57,
+ -1, -1, 60, -1, -1, -1, -1, -1, 686, -1,
+ 688, 689, 70, 691, -1, -1, -1, -1, -1, -1,
+ -1, -1, 80, -1, -1, -1, -1, 1309, 1310, 1311,
+ 88, -1, -1, -1, -1, 93, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 175, -1, 733, 1496, 1, -1, 3,
+ 4, 5, 6, 7, 8, 9, 744, 745, -1, 747,
+ 14, 193, 194, 195, 1514, -1, -1, -1, -1, -1,
+ -1, 203, -1, -1, 28, -1, 30, 31, 32, -1,
+ -1, -1, 36, -1, -1, -1, 774, 41, -1, -1,
+ 222, 45, -1, -1, 48, 3, 4, 5, 6, -1,
+ 54, -1, 56, 57, -1, -1, -1, -1, 796, 797,
+ 798, -1, -1, -1, 906, 247, 70, -1, -1, -1,
+ 808, -1, -1, -1, -1, -1, 80, -1, -1, 261,
+ -1, -1, 1424, 41, 88, -1, -1, 4, 5, 93,
+ -1, 8, 9, -1, 98, -1, 54, 14, 56, 57,
+ 942, 943, 944, -1, -1, -1, -1, -1, -1, -1,
+ -1, 28, 70, 30, -1, -1, -1, -1, -1, 36,
+ -1, -1, 80, -1, -1, -1, -1, -1, 45, -1,
+ 88, -1, -1, -1, -1, 93, -1, 54, -1, 56,
+ 57, 58, -1, 881, -1, 883, -1, -1, -1, 991,
+ -1, -1, 1494, 1495, 1496, -1, 894, -1, -1, -1,
+ 898, 899, 900, -1, -1, -1, -1, -1, -1, -1,
+ -1, 353, 354, -1, -1, -1, 93, 1519, -1, -1,
+ -1, 1023, -1, -1, -1, 1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
+ -1, -1, -1, -1, 942, 943, 944, -1, -1, -1,
+ -1, 1053, 28, 29, 30, 31, 32, -1, 34, 35,
+ 36, 403, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
+ -1, 67, -1, 991, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, 14, -1, -1, -1, -1,
+ 86, 87, 88, -1, 23, 24, -1, 93, -1, -1,
+ -1, 30, 31, -1, 33, 1023, -1, 469, -1, 471,
+ -1, 473, 474, 475, 110, -1, -1, 479, -1, -1,
+ -1, -1, 484, -1, -1, 487, -1, 1149, 1150, 1151,
+ 1152, 1153, -1, -1, -1, 1157, 65, 4, 5, -1,
+ -1, 8, 9, -1, -1, -1, -1, 14, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1180, 1181,
+ 1182, 28, -1, 30, -1, -1, -1, -1, -1, 36,
+ -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
+ 47, -1, -1, 1101, 1102, -1, 1104, 54, -1, 56,
+ 57, 1213, -1, -1, -1, 124, 1218, 126, -1, 1221,
+ -1, -1, -1, 70, 133, 134, -1, -1, -1, -1,
+ -1, 140, 141, 80, -1, 144, 145, 146, -1, 148,
+ 149, 150, 151, 90, -1, -1, 93, 94, -1, -1,
+ -1, 1149, 1150, 1151, 1152, 1153, -1, -1, -1, 1157,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1270, 1271,
+ -1, 1273, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1180, 1181, 1182, -1, -1, -1, -1, 631,
+ 632, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 647, -1, 1309, 1310, 1311,
+ -1, -1, -1, -1, -1, 1213, -1, -1, 4, 5,
+ -1, -1, 8, 9, -1, -1, -1, -1, 14, 238,
+ 239, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 686, -1, 688, 689, -1, 258,
+ 36, -1, -1, -1, -1, -1, -1, -1, -1, 45,
+ -1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
+ 56, 57, 1270, 1271, -1, 1273, -1, -1, -1, -1,
+ -1, -1, -1, -1, 70, -1, -1, -1, 297, -1,
+ -1, 733, -1, -1, 80, -1, -1, -1, -1, -1,
+ -1, -1, 744, 745, 90, 747, -1, 93, 94, -1,
+ -1, 1309, -1, 1311, -1, -1, -1, -1, -1, -1,
+ -1, 1, 1424, 3, 4, 5, 6, -1, 8, 9,
+ 10, 11, 774, 13, 14, -1, 345, -1, 347, 348,
+ -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
+ 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
+ 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
+ -1, 61, -1, 392, -1, -1, -1, 67, -1, -1,
+ 70, -1, 1494, 1495, 1496, -1, -1, -1, 78, 79,
+ 80, -1, 411, -1, -1, -1, 86, 87, 88, 418,
+ -1, -1, 421, 93, 94, -1, -1, 1519, -1, -1,
+ -1, -1, -1, -1, 433, -1, 1424, 4, 5, 109,
+ 110, 8, 9, -1, 4, 5, -1, 14, 8, 9,
+ -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 28, 36,
+ 30, -1, -1, 905, 906, 907, 36, -1, 45, -1,
+ 47, -1, -1, -1, -1, 45, -1, 54, -1, 56,
+ 57, -1, -1, -1, 54, -1, 56, 57, -1, -1,
+ -1, -1, 501, 70, -1, -1, 1494, 1495, 1496, -1,
+ 942, 943, 944, 80, -1, -1, -1, 949, -1, -1,
+ -1, -1, -1, 90, -1, -1, 93, 94, -1, 528,
+ -1, 1519, -1, 3, 4, 5, 6, 7, 8, 9,
+ -1, -1, -1, -1, 14, -1, -1, 979, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 28, 991,
+ 30, 31, 32, -1, -1, -1, 36, -1, -1, 1,
+ -1, 41, 4, 5, -1, 45, 8, 9, 48, -1,
+ -1, -1, 14, -1, 54, -1, 56, 57, -1, -1,
+ -1, 1023, -1, -1, -1, -1, 28, -1, 30, -1,
+ 70, -1, -1, -1, 36, 604, 38, 39, -1, -1,
+ 80, -1, 1044, 45, -1, 47, 615, 616, 88, 618,
+ 619, -1, 54, 93, 56, 57, -1, 59, 98, -1,
+ -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, -1, -1, 86, 87, 88, -1, -1, 91,
+ -1, -1, 94, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 671, -1, -1, -1, -1, -1, 110, 678,
+ 679, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 690, -1, -1, -1, -1, 1128, -1, -1, 1,
+ -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
+ -1, -1, 14, -1, -1, 714, -1, 1149, 1150, 1151,
+ 1152, 1153, -1, 1155, -1, 1157, 28, -1, 30, 31,
+ 32, -1, -1, -1, 36, 37, -1, -1, -1, 41,
+ -1, -1, -1, 45, 46, -1, 48, -1, 1180, 1181,
+ 1182, -1, 54, -1, 56, 57, -1, -1, 60, -1,
+ 62, 12, 761, -1, -1, 764, -1, -1, 70, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
+ -1, 1213, -1, -1, -1, -1, 88, -1, -1, -1,
+ -1, 93, -1, -1, -1, -1, -1, 796, 797, 798,
+ -1, -1, -1, -1, -1, -1, -1, 109, -1, 808,
-1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 124, -1, 126, 1170, 1171, 1172, 1173, 1174, -1,
- 133, 134, 1178, -1, -1, -1, -1, 140, 141, -1,
- -1, 144, 145, 146, -1, 148, 149, 150, 151, -1,
- -1, 650, 651, -1, -1, 1201, 1202, 1203, -1, -1,
- 1295, 1296, -1, 1298, -1, -1, -1, 666, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
- 5, 6, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1334,
- 1335, 1336, -1, -1, -1, -1, 705, -1, 707, 708,
- -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
- -1, 56, 57, -1, -1, 238, 239, 62, -1, -1,
- -1, -1, -1, -1, -1, 70, -1, -1, -1, 1295,
- 1296, -1, 1298, 752, -1, 80, 259, -1, -1, -1,
- -1, -1, -1, 88, 763, 764, -1, 766, 93, -1,
- -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, 785, -1, 1334, -1,
- 1336, -1, -1, -1, -1, 298, -1, -1, 28, 29,
- 30, 31, 32, 1438, 34, 35, 36, 806, 38, 39,
- 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
+ 81, 82, 83, 84, -1, -1, -1, -1, 1270, 1271,
+ -1, 1273, -1, 1, -1, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, 12, -1, 14, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 25, -1, 27,
+ -1, -1, -1, 31, -1, -1, -1, 1309, 36, 1311,
+ -1, -1, 881, 41, 883, -1, -1, 45, -1, 47,
+ -1, -1, -1, -1, -1, 894, 54, -1, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
+ 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
+ -1, -1, -1, -1, 102, -1, -1, -1, -1, 107,
+ 108, 109, 59, 111, -1, -1, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
+ 979, 1, -1, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 1424, 13, 14, 15, -1, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
- -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, 346, -1, 348, 349, -1, 78, 79,
- 80, 3, 4, 5, 6, -1, 86, 87, 88, -1,
- 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
- 1505, 1506, 1507, 3, 4, 5, 6, -1, -1, 31,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- 393, 1526, 1438, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 54, -1, 56, 57, -1, -1, -1, 412,
- -1, 41, -1, -1, -1, -1, 419, -1, 70, 422,
- -1, -1, -1, -1, 54, -1, 56, 57, 80, -1,
- 60, 434, -1, -1, -1, -1, 88, -1, -1, -1,
- 70, 93, -1, -1, -1, 944, 945, 946, -1, -1,
- 80, -1, -1, -1, -1, -1, -1, -1, 88, 1505,
- 1506, 1507, -1, 93, -1, -1, -1, -1, 4, 5,
- -1, 7, 8, 9, 3, 4, 5, 6, 14, -1,
- 1526, -1, 981, 982, 983, -1, -1, -1, -1, 988,
- -1, -1, 28, -1, 30, 31, -1, -1, -1, 502,
- 36, -1, -1, -1, -1, 508, -1, -1, -1, 45,
- -1, -1, 41, -1, -1, -1, -1, -1, 54, 1018,
- 56, 57, -1, -1, -1, 54, -1, 56, 57, -1,
- -1, 1030, 1, -1, 3, 4, 5, 6, 7, 8,
- 9, 70, -1, 12, 547, 14, -1, -1, -1, -1,
- -1, 80, -1, -1, -1, -1, 25, -1, 27, 88,
- -1, -1, 31, -1, 93, -1, -1, 36, -1, -1,
- 1069, -1, 41, -1, -1, -1, 45, -1, 47, -1,
- -1, -1, -1, -1, -1, 54, -1, 56, 57, 58,
- 59, 60, -1, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, -1, 86, 87, 88,
- 623, 90, 91, 92, 93, 94, 95, -1, 97, -1,
- -1, 634, 635, 102, 637, 638, -1, -1, 107, 108,
- 109, -1, 111, -1, -1, -1, -1, -1, -1, -1,
- 1149, -1, -1, -1, -1, -1, -1, 4, 5, -1,
- 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
- -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
- -1, 28, -1, 30, 31, -1, -1, 690, -1, 36,
- -1, -1, -1, -1, 697, 698, -1, -1, 45, -1,
- -1, 48, 1201, 1202, 1203, -1, 709, 54, -1, 56,
- 57, -1, -1, -1, -1, 1, -1, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
- 733, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, 58, -1, 60, 61, -1, 780, -1, -1,
- -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, -1, 1295, 1296, -1, 1298,
- 86, 87, 88, -1, 807, -1, -1, 93, -1, 95,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
- -1, -1, 835, 836, 837, 1334, -1, 1336, -1, -1,
- -1, -1, -1, -1, 847, -1, 1, -1, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
- 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
- -1, -1, 67, -1, -1, 70, -1, 920, -1, 922,
- -1, -1, -1, 78, 79, 80, 31, -1, -1, -1,
- 933, 86, 87, 88, -1, -1, -1, -1, 93, 1438,
- 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 110, -1, -1, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
- 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1505, 1506, 1507, 28,
- -1, 30, 31, -1, -1, 1018, -1, 36, -1, -1,
- -1, -1, -1, -1, -1, -1, 45, 1526, -1, -1,
- -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
- -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
+ 60, 61, -1, -1, -1, -1, 1045, 67, -1, -1,
+ 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
+ 80, -1, 1494, 1495, 1496, -1, 86, 87, 88, -1,
+ -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1519, -1, 109,
+ 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1101, 1102, 1, 1104, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, -1, 13, 14, 15, -1,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
+ -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ 57, 58, -1, 60, 61, 1164, -1, -1, -1, -1,
+ 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
+ -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
+ 87, 88, -1, -1, -1, -1, 93, -1, 95, -1,
+ -1, -1, 1201, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 110, -1, -1, -1, 1216, 1, 1218,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
+ -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
+ 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
+ 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
+ -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
+ -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
+ -1, -1, -1, 86, 87, 88, -1, 90, -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, 1334, -1, -1, -1, 28,
+ 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
+ 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
+ 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
+ -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
+ -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
+ -1, 90, -1, -1, 93, 94, 1, -1, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1072,
- -1, 1074, -1, 28, 29, 30, 31, 32, -1, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
- -1, -1, 67, -1, -1, 70, -1, -1, -1, 1122,
- 1123, -1, 1125, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 110, 1, -1, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1185, 28, 29, 30, 31, 32, -1, 34,
+ -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, 58, -1, 60, 61, -1, -1, 1222,
+ -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
-1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
-1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, -1, -1, -1, -1, 93, 1,
- -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, 110, -1, -1, -1, -1,
+ -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
+ 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
+ 14, -1, -1, 108, -1, 110, -1, -1, -1, -1,
+ -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
+ 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
+ -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
+ -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
+ -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
+ 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
+ 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
+ -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
+ -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
+ 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
+ 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
+ -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
+ -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
+ -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
+ 93, 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, -1, 38,
+ 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
+ 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
+ -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
+ -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
+ -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
+ 109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
+ 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
+ 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
+ -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
+ 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
+ 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
+ -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
+ -1, 109, 110, -1, -1, -1, -1, -1, -1, -1,
+ -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
+ -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
+ -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
+ 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
+ -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
+ 87, 88, -1, -1, -1, -1, 93, -1, 1, -1,
+ 3, 4, 5, 6, 101, 8, 9, 10, 11, -1,
+ 13, 14, -1, 110, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
+ -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
+ 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
+ 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
+ -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
+ -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
+ -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
+ 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
+ -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
-1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
@@ -3266,61 +3295,13 @@ static const short yycheck[] = { 4,
-1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
-1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
-1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
- -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1359, 109, 110, 1,
- -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
- 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
- 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
- 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
- -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
- -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
- -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
-1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
-1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
- 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
- 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
- -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
- -1, -1, 93, 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,
- -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
- 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
- -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
- -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
- 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
- -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
- -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
- 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
- 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
- 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
- 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
+ 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
+ 61, 62, -1, -1, -1, -1, 67, -1, -1, 70,
-1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
-1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
-1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
@@ -3328,8 +3309,8 @@ static const short yycheck[] = { 4,
-1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
- -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
+ 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
+ 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
-1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
@@ -3338,36 +3319,11 @@ static const short yycheck[] = { 4,
29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
- -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
- -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
- 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
- -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
- -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
- 1, -1, 70, 4, 5, -1, -1, 8, 9, -1,
- 78, 79, 80, 14, -1, -1, -1, -1, 86, 87,
- 88, -1, -1, -1, -1, 93, -1, 28, -1, 30,
- -1, -1, -1, -1, -1, 36, -1, 38, 39, -1,
- 108, -1, 110, -1, 45, -1, 47, -1, -1, -1,
- -1, -1, -1, 54, -1, 56, 57, -1, 59, -1,
- -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, -1, -1, 86, 87, 88, -1, -1,
- 91, -1, 1, 94, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
-1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
-1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
-1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -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, -1,
38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
@@ -3384,111 +3340,226 @@ static const short yycheck[] = { 4,
57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
-1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
- -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
- 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
- 61, -1, -1, -1, -1, -1, 67, -1, 1, 70,
- 3, 4, 5, 6, 7, 8, 9, 78, 79, 80,
- -1, 14, -1, -1, -1, 86, 87, 88, -1, -1,
- -1, -1, 93, -1, -1, 28, -1, 30, 31, 32,
- -1, -1, -1, 36, 37, -1, -1, -1, 41, 110,
- 111, -1, 45, 46, -1, 48, -1, -1, -1, -1,
- -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
- -1, -1, -1, -1, -1, -1, -1, 70, 1, -1,
- 3, 4, 5, 6, 7, 8, 9, 80, -1, -1,
- -1, 14, -1, -1, -1, 88, -1, -1, -1, -1,
- 93, -1, -1, -1, -1, 28, -1, 30, 31, 32,
- -1, -1, -1, 36, 37, -1, 109, -1, 41, -1,
- -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
- -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
- -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
- -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
- 93, -1, -1, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, -1, 13, 14, 15, 109, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
+ 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
+ -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
+ -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
+ 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
+ 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
+ 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
+ -1, 61, -1, -1, -1, -1, -1, 67, -1, 1,
+ 70, 3, 4, 5, 6, 7, 8, 9, 78, 79,
+ 80, -1, 14, -1, -1, -1, 86, 87, 88, -1,
+ -1, -1, -1, 93, -1, -1, 28, -1, 30, 31,
+ 32, -1, -1, -1, 36, 37, -1, -1, -1, 41,
+ 110, 111, -1, 45, 46, -1, 48, -1, -1, -1,
+ -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
+ 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
+ -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
+ -1, 93, -1, -1, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, -1, 13, 14, 15, 109, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, -1, -1,
+ 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
+ -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
+ -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
+ -1, -1, -1, -1, 93, -1, 95, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 109, 110, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
+ 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
+ 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
+ -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
+ -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
+ -1, -1, 93, -1, 95, -1, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, -1, 13, 14, 15, 110,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
+ -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ 57, 58, -1, 60, 61, -1, -1, -1, -1, -1,
+ 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
+ -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
+ 87, 88, -1, -1, -1, -1, 93, -1, 95, -1,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
+ 13, 14, 15, 110, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
+ 53, 54, -1, 56, 57, -1, -1, 60, 61, -1,
+ -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
+ -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
+ -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
+ 93, -1, 95, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, -1, -1, 110, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
- 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
+ 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
+ 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
+ -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
- -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
- 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
- 52, 53, 54, -1, 56, 57, 58, -1, 60, 61,
- -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
- -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
- -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
- -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 90, -1, -1, 93, 94, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
+ 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
-1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
+ -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
-1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
- 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
- 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
+ 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
+ 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
+ -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 86, 87, 88, -1, 90, -1, -1, 93, 94, 3,
+ 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
+ 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
- 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
+ -1, 45, -1, 47, -1, 49, 50, 51, 52, 53,
+ 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
-1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
- -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
+ -1, -1, 86, 87, 88, -1, 90, -1, -1, 93,
+ 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
+ -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
+ 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
+ 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
+ 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
+ -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
+ 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
+ -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, -1, -1, 60, 61, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 86, 87, 88, -1, -1, -1, -1, 93, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
+ -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
+ 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
+ -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
+ -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
+ -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
+ 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
+ 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
+ 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
+ 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
+ -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
+ -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
+ 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
+ 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
+ -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
+ 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
+ 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
+ -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
+ -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
+ -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
+ 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
+ -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
+ -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
+ -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
+ 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
+ -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
+ 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
+ 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
+ -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
+ 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
-1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
- -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
+ -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
+ 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
+ -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
+ 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
+ -1, 56, 57, 58, -1, -1, -1, -1, -1, -1,
+ -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
+ -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
+ -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
+ 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
+ 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
+ 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
- -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
-1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
- -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
+ -1, -1, -1, -1, 93, 94, 3, 4, 5, 6,
-1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
-1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
-1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
- 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
-1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
+ 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
+ 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
+ -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
+ 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
+ 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
+ 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
+ -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
+ -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
+ 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
-1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
-1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
-1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
- 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
+ -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
+ 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
+ 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
+ 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
+ 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
+ -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
+ 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
+ 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
-1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
- 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
+ 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
-1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
-1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
@@ -3497,147 +3568,82 @@ static const short yycheck[] = { 4,
-1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
-1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
-1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, -1, -1, -1, -1, 93, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
- -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
- 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
- -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
- 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
- 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
- -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
- 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
- -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
- -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
- -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
- -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
- 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
- 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
- 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
- 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
- -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
- -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
- -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
- 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
- -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
- 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
- -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
- -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
- 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
- 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
- -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
- -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
- -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
- 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
- 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
- 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
- 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
- -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
- -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
- -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
- 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
- -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
- 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
- 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
- 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
- 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
- -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
- 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
- -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
- -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
- -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
- 88, -1, -1, 4, 5, 93, 7, 8, 9, -1,
- -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
- -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
- 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, 54, -1, 56, 57, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, -1, -1, -1, -1, 111, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, 107, 63, 64, 65, 66, 67, 68,
+ 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 67, -1, 1, 70, 3, 4, 5, 6, 7, 8,
+ 9, 78, 79, 80, -1, 14, -1, -1, -1, 86,
+ 87, 88, -1, -1, -1, -1, 93, -1, -1, 28,
+ -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
+ -1, -1, 41, 110, -1, -1, 45, -1, -1, 48,
+ -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
+ -1, 60, -1, 3, 4, 5, 6, 7, 8, 9,
+ -1, 70, 12, -1, 14, -1, -1, -1, -1, -1,
+ -1, 80, -1, -1, -1, -1, -1, -1, 28, 88,
+ 30, 31, -1, -1, 93, -1, 36, -1, -1, -1,
+ -1, 41, -1, -1, -1, 45, -1, -1, -1, -1,
+ -1, -1, -1, -1, 54, -1, 56, 57, 3, 4,
+ 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
+ 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 80, -1, -1, 28, -1, 30, 31, -1, 88, -1,
+ -1, 36, -1, 93, -1, -1, 41, -1, -1, -1,
+ 45, -1, -1, -1, -1, -1, -1, -1, -1, 54,
+ -1, 56, 57, -1, -1, -1, -1, 62, -1, -1,
+ -1, -1, -1, -1, -1, 70, 3, 4, 5, 6,
+ 7, 8, 9, -1, -1, 80, -1, 14, -1, -1,
+ -1, -1, -1, 88, -1, -1, -1, -1, 93, -1,
+ -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
+ -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
+ -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
+ 57, -1, -1, 60, -1, 3, 4, 5, 6, 7,
+ 8, 9, -1, 70, -1, -1, 14, -1, -1, -1,
+ -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
+ 28, 88, 30, 31, -1, -1, 93, -1, 36, -1,
+ -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
+ -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
+ 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
+ -1, 14, 70, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 80, -1, -1, 28, -1, 30, 31, -1,
+ 88, -1, -1, 36, -1, 93, -1, -1, 41, -1,
+ -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, -1, -1, 14, 70, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
+ -1, -1, -1, 31, -1, 88, -1, -1, 36, -1,
+ 93, -1, -1, 41, -1, -1, -1, 45, -1, 47,
+ -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
+ 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
+ 14, -1, 70, 4, 5, -1, 7, 8, 9, -1,
+ -1, 12, 80, 14, 28, -1, 30, 31, -1, -1,
+ 88, -1, 36, -1, -1, 93, -1, 28, -1, 30,
+ 31, 45, -1, -1, 48, 36, -1, -1, -1, -1,
+ 54, -1, 56, 57, 45, -1, -1, -1, -1, -1,
+ -1, -1, -1, 54, -1, 56, 57, 4, 5, -1,
+ 7, 8, 9, -1, -1, 12, -1, 14, -1, -1,
+ 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
+ 14, 28, -1, 30, 31, -1, -1, -1, -1, 36,
+ -1, -1, -1, -1, 28, -1, 30, 31, 45, -1,
+ -1, -1, 36, -1, -1, -1, -1, 54, -1, 56,
+ 57, 45, -1, -1, -1, -1, -1, -1, -1, -1,
+ 54, -1, 56, 57, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
+ -1, -1, 111, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
+ 107, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, -1, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 79, 80, 81, 82, 83, 84, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
- 82, 83, 84
+ 84
};
/* -*-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.
@@ -3830,7 +3836,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 *.
@@ -6100,7 +6106,11 @@ case 477:
cp_pedwarn ("using `typename' outside of template"); ;
break;}
case 478:
-#line 2143 "parse.y"
+#line 2142 "parse.y"
+{ yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
+ break;}
+case 479:
+#line 2144 "parse.y"
{
int semi;
@@ -6108,25 +6118,25 @@ case 478:
yychar = YYLEX;
semi = yychar == ';';
- yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[0].ttype, semi);
+ yyval.ttype = finish_class_definition (yyvsp[-5].ttype, yyvsp[0].ttype, semi);
;
break;}
-case 479:
-#line 2153 "parse.y"
+case 480:
+#line 2154 "parse.y"
{
begin_inline_definitions ();
;
break;}
-case 480:
-#line 2157 "parse.y"
+case 481:
+#line 2158 "parse.y"
{
finish_inline_definitions ();
yyval.ftype.t = yyvsp[-3].ttype;
yyval.ftype.new_type_flag = 1;
;
break;}
-case 481:
-#line 2163 "parse.y"
+case 482:
+#line 2164 "parse.y"
{
yyval.ftype.new_type_flag = 0;
if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
@@ -6145,104 +6155,104 @@ case 481:
}
;
break;}
-case 485:
-#line 2190 "parse.y"
+case 486:
+#line 2191 "parse.y"
{ if (pedantic && !in_system_header)
pedwarn ("comma at end of enumerator list"); ;
break;}
-case 487:
-#line 2197 "parse.y"
+case 488:
+#line 2198 "parse.y"
{ error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
-case 488:
-#line 2199 "parse.y"
+case 489:
+#line 2200 "parse.y"
{ error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
-case 489:
-#line 2201 "parse.y"
+case 490:
+#line 2202 "parse.y"
{ error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
-case 490:
-#line 2203 "parse.y"
+case 491:
+#line 2204 "parse.y"
{ error ("no body nor ';' separates two class, struct or union declarations"); ;
break;}
-case 491:
-#line 2205 "parse.y"
+case 492:
+#line 2206 "parse.y"
{ yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
-case 492:
-#line 2210 "parse.y"
+case 493:
+#line 2211 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
-case 493:
-#line 2218 "parse.y"
+case 494:
+#line 2219 "parse.y"
{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 494:
-#line 2220 "parse.y"
+case 495:
+#line 2221 "parse.y"
{ yyungetc ('{', 1); ;
break;}
-case 495:
-#line 2222 "parse.y"
+case 496:
+#line 2223 "parse.y"
{ yyungetc (':', 1); ;
break;}
-case 496:
-#line 2227 "parse.y"
+case 497:
+#line 2228 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
-case 497:
-#line 2232 "parse.y"
+case 498:
+#line 2233 "parse.y"
{
current_aggr = yyvsp[-3].ttype;
yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
-case 498:
-#line 2237 "parse.y"
+case 499:
+#line 2238 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
;
break;}
-case 499:
-#line 2242 "parse.y"
-{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
- break;}
case 500:
-#line 2244 "parse.y"
+#line 2243 "parse.y"
{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 501:
-#line 2249 "parse.y"
-{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
+#line 2245 "parse.y"
+{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 502:
-#line 2251 "parse.y"
-{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
+#line 2250 "parse.y"
+{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
break;}
case 503:
-#line 2255 "parse.y"
+#line 2252 "parse.y"
+{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
+ break;}
+case 504:
+#line 2256 "parse.y"
{
yyval.ttype = yyvsp[-1].ttype;
if (yyvsp[0].ttype)
xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
-case 504:
-#line 2261 "parse.y"
+case 505:
+#line 2262 "parse.y"
{
if (yyvsp[0].ttype != error_mark_node)
push_scope (CP_DECL_CONTEXT (yyvsp[0].ttype));
;
break;}
-case 505:
-#line 2266 "parse.y"
+case 506:
+#line 2267 "parse.y"
{
if (yyvsp[-2].ttype != error_mark_node)
{
@@ -6267,45 +6277,45 @@ case 505:
}
;
break;}
-case 506:
-#line 2293 "parse.y"
+case 507:
+#line 2294 "parse.y"
{ yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
yyungetc ('{', 1); ;
break;}
-case 509:
-#line 2304 "parse.y"
+case 510:
+#line 2305 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 510:
-#line 2306 "parse.y"
+case 511:
+#line 2307 "parse.y"
{ yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
break;}
-case 511:
-#line 2308 "parse.y"
+case 512:
+#line 2309 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 513:
-#line 2314 "parse.y"
+case 514:
+#line 2315 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 514:
-#line 2319 "parse.y"
+case 515:
+#line 2320 "parse.y"
{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
current_aggr
== signature_type_node); ;
break;}
-case 515:
-#line 2323 "parse.y"
+case 516:
+#line 2324 "parse.y"
{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
current_aggr
== signature_type_node); ;
break;}
-case 516:
-#line 2330 "parse.y"
+case 517:
+#line 2331 "parse.y"
{ if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
break;}
-case 518:
-#line 2333 "parse.y"
+case 519:
+#line 2334 "parse.y"
{
if (current_aggr == signature_type_node)
{
@@ -6327,8 +6337,8 @@ case 518:
}
;
break;}
-case 519:
-#line 2354 "parse.y"
+case 520:
+#line 2355 "parse.y"
{
if (current_aggr == signature_type_node)
{
@@ -6350,14 +6360,14 @@ case 519:
}
;
break;}
-case 521:
-#line 2379 "parse.y"
+case 522:
+#line 2380 "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 522:
-#line 2383 "parse.y"
+case 523:
+#line 2384 "parse.y"
{
if (yyvsp[-2].ttype != access_default_virtual_node)
error ("multiple access specifiers");
@@ -6369,8 +6379,8 @@ case 522:
yyval.ttype = access_private_virtual_node;
;
break;}
-case 523:
-#line 2394 "parse.y"
+case 524:
+#line 2395 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
cp_error ("`%D' access", yyvsp[-1].ttype);
else if (yyval.ttype == access_public_node)
@@ -6383,12 +6393,8 @@ case 523:
error ("multiple `virtual' specifiers");
;
break;}
-case 524:
-#line 2409 "parse.y"
-{ yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
- break;}
case 529:
-#line 2420 "parse.y"
+#line 2416 "parse.y"
{
if (current_aggr == signature_type_node)
{
@@ -6400,49 +6406,49 @@ case 529:
;
break;}
case 530:
-#line 2435 "parse.y"
+#line 2431 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
;
break;}
case 531:
-#line 2439 "parse.y"
+#line 2435 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
;
break;}
case 533:
-#line 2447 "parse.y"
+#line 2443 "parse.y"
{ error ("missing ';' before right brace");
yyungetc ('}', 0); ;
break;}
case 534:
-#line 2452 "parse.y"
+#line 2448 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 535:
-#line 2454 "parse.y"
+#line 2450 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 536:
-#line 2456 "parse.y"
+#line 2452 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 537:
-#line 2458 "parse.y"
+#line 2454 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 538:
-#line 2460 "parse.y"
+#line 2456 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 539:
-#line 2462 "parse.y"
+#line 2458 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
case 540:
-#line 2465 "parse.y"
+#line 2461 "parse.y"
{
if (yyvsp[0].ttype)
yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6454,14 +6460,14 @@ case 540:
;
break;}
case 541:
-#line 2475 "parse.y"
+#line 2471 "parse.y"
{
yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
finish_template_decl (yyvsp[-2].ttype);
;
break;}
case 542:
-#line 2486 "parse.y"
+#line 2482 "parse.y"
{
/* Most of the productions for component_decl only
allow the creation of one new member, so we call
@@ -6484,7 +6490,7 @@ case 542:
;
break;}
case 543:
-#line 2507 "parse.y"
+#line 2503 "parse.y"
{
if (!yyvsp[0].itype)
grok_x_components (yyvsp[-1].ttype);
@@ -6492,45 +6498,45 @@ case 543:
;
break;}
case 544:
-#line 2513 "parse.y"
+#line 2509 "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 545:
-#line 2516 "parse.y"
+#line 2512 "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 546:
-#line 2519 "parse.y"
+#line 2515 "parse.y"
{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
break;}
case 547:
-#line 2521 "parse.y"
+#line 2517 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 548:
-#line 2532 "parse.y"
+#line 2528 "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 549:
-#line 2537 "parse.y"
+#line 2533 "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 550:
-#line 2540 "parse.y"
+#line 2536 "parse.y"
{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
break;}
case 551:
-#line 2546 "parse.y"
+#line 2542 "parse.y"
{ yyval.itype = 0; ;
break;}
case 552:
-#line 2548 "parse.y"
+#line 2544 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6539,7 +6545,7 @@ case 552:
;
break;}
case 553:
-#line 2555 "parse.y"
+#line 2551 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6549,11 +6555,11 @@ case 553:
;
break;}
case 554:
-#line 2566 "parse.y"
+#line 2562 "parse.y"
{ yyval.itype = 0; ;
break;}
case 555:
-#line 2568 "parse.y"
+#line 2564 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6562,7 +6568,7 @@ case 555:
;
break;}
case 556:
-#line 2575 "parse.y"
+#line 2571 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6572,7 +6578,7 @@ case 556:
;
break;}
case 561:
-#line 2596 "parse.y"
+#line 2592 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
@@ -6580,7 +6586,7 @@ case 561:
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
case 562:
-#line 2602 "parse.y"
+#line 2598 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
@@ -6588,7 +6594,7 @@ case 562:
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 563:
-#line 2611 "parse.y"
+#line 2607 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
@@ -6596,7 +6602,7 @@ case 563:
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
case 564:
-#line 2617 "parse.y"
+#line 2613 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
@@ -6604,7 +6610,7 @@ case 564:
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
case 565:
-#line 2623 "parse.y"
+#line 2619 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
@@ -6612,7 +6618,7 @@ case 565:
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 566:
-#line 2629 "parse.y"
+#line 2625 "parse.y"
{ split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-3].ttype = current_declspecs;
@@ -6620,54 +6626,54 @@ case 566:
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 567:
-#line 2638 "parse.y"
+#line 2634 "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 2641 "parse.y"
+#line 2637 "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 2647 "parse.y"
+#line 2643 "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 570:
-#line 2650 "parse.y"
+#line 2646 "parse.y"
{ yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 571:
-#line 2653 "parse.y"
+#line 2649 "parse.y"
{ yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 573:
-#line 2664 "parse.y"
+#line 2660 "parse.y"
{ TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 574:
-#line 2669 "parse.y"
+#line 2665 "parse.y"
{ yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
break;}
case 575:
-#line 2671 "parse.y"
+#line 2667 "parse.y"
{ yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
break;}
case 576:
-#line 2677 "parse.y"
+#line 2673 "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 2680 "parse.y"
+#line 2676 "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 2687 "parse.y"
+#line 2683 "parse.y"
{
if (pedantic)
pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
@@ -6677,90 +6683,83 @@ case 578:
;
break;}
case 579:
-#line 2698 "parse.y"
+#line 2694 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 580:
-#line 2700 "parse.y"
+#line 2696 "parse.y"
{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 581:
-#line 2705 "parse.y"
+#line 2701 "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 2708 "parse.y"
+#line 2704 "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 2717 "parse.y"
+#line 2713 "parse.y"
{ yyval.itype = suspend_momentary (); ;
break;}
case 584:
-#line 2722 "parse.y"
+#line 2718 "parse.y"
{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
break;}
case 585:
-#line 2728 "parse.y"
+#line 2724 "parse.y"
{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 586:
-#line 2730 "parse.y"
+#line 2726 "parse.y"
{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 587:
-#line 2732 "parse.y"
+#line 2728 "parse.y"
{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
break;}
case 588:
-#line 2734 "parse.y"
+#line 2730 "parse.y"
{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
break;}
case 589:
-#line 2741 "parse.y"
+#line 2737 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 590:
-#line 2743 "parse.y"
+#line 2739 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 591:
-#line 2745 "parse.y"
+#line 2741 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 592:
-#line 2747 "parse.y"
+#line 2743 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 593:
-#line 2749 "parse.y"
+#line 2745 "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 595:
-#line 2757 "parse.y"
+#line 2753 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
{
yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
- if (current_class_type
- && TYPE_BEING_DEFINED (current_class_type)
- && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
- {
- /* Remember that this name has been used in the class
- definition, as per [class.scope0] */
- pushdecl_class_level (yyval.ttype);
- }
+ maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype);
}
else
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 596:
-#line 2774 "parse.y"
+#line 2763 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -6770,37 +6769,37 @@ case 596:
;
break;}
case 599:
-#line 2787 "parse.y"
+#line 2776 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 600:
-#line 2792 "parse.y"
+#line 2781 "parse.y"
{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
break;}
case 601:
-#line 2797 "parse.y"
+#line 2786 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 602:
-#line 2799 "parse.y"
+#line 2788 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 603:
-#line 2801 "parse.y"
+#line 2790 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
case 604:
-#line 2803 "parse.y"
+#line 2792 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 605:
-#line 2805 "parse.y"
+#line 2794 "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 608:
-#line 2817 "parse.y"
+#line 2806 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
@@ -6808,138 +6807,133 @@ case 608:
;
break;}
case 609:
-#line 2826 "parse.y"
+#line 2815 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 610:
-#line 2828 "parse.y"
+#line 2817 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 611:
-#line 2830 "parse.y"
+#line 2819 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 612:
-#line 2832 "parse.y"
+#line 2821 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 613:
-#line 2834 "parse.y"
+#line 2823 "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 615:
-#line 2842 "parse.y"
+#line 2831 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 616:
-#line 2844 "parse.y"
+#line 2833 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 617:
-#line 2846 "parse.y"
+#line 2835 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 618:
-#line 2848 "parse.y"
+#line 2837 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 619:
-#line 2850 "parse.y"
+#line 2839 "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 621:
-#line 2858 "parse.y"
+#line 2847 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 622:
-#line 2860 "parse.y"
+#line 2849 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 623:
-#line 2862 "parse.y"
+#line 2851 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 624:
-#line 2864 "parse.y"
+#line 2853 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
case 625:
-#line 2866 "parse.y"
+#line 2855 "parse.y"
{ enter_scope_of (yyvsp[0].ttype); ;
break;}
case 626:
-#line 2868 "parse.y"
+#line 2857 "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 627:
-#line 2876 "parse.y"
+#line 2865 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 628:
-#line 2879 "parse.y"
+#line 2868 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 629:
-#line 2885 "parse.y"
+#line 2874 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 630:
-#line 2888 "parse.y"
+#line 2877 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 632:
-#line 2895 "parse.y"
+#line 2884 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 633:
-#line 2900 "parse.y"
+#line 2889 "parse.y"
{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
case 634:
-#line 2902 "parse.y"
+#line 2891 "parse.y"
{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
case 635:
-#line 2904 "parse.y"
+#line 2893 "parse.y"
{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 640:
-#line 2915 "parse.y"
+#line 2904 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 641:
-#line 2917 "parse.y"
+#line 2906 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 642:
-#line 2924 "parse.y"
+#line 2913 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
{
yyval.ttype = lastiddecl;
- /* Remember that this name has been used in the class
- definition, as per [class.scope0] */
- if (current_class_type
- && TYPE_BEING_DEFINED (current_class_type)
- && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
- pushdecl_class_level (yyval.ttype);
+ maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype);
}
got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
;
break;}
case 643:
-#line 2938 "parse.y"
+#line 2922 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
@@ -6947,7 +6941,7 @@ case 643:
;
break;}
case 644:
-#line 2944 "parse.y"
+#line 2928 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
@@ -6955,15 +6949,15 @@ case 644:
;
break;}
case 645:
-#line 2950 "parse.y"
+#line 2934 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
break;}
case 647:
-#line 2966 "parse.y"
+#line 2950 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 648:
-#line 2971 "parse.y"
+#line 2955 "parse.y"
{
if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -6978,26 +6972,26 @@ case 648:
;
break;}
case 649:
-#line 2984 "parse.y"
+#line 2968 "parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
break;}
case 650:
-#line 2986 "parse.y"
+#line 2970 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 651:
-#line 2988 "parse.y"
+#line 2972 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 652:
-#line 2993 "parse.y"
+#line 2977 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
;
break;}
case 653:
-#line 2998 "parse.y"
+#line 2982 "parse.y"
{
if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -7012,15 +7006,15 @@ case 653:
;
break;}
case 654:
-#line 3011 "parse.y"
+#line 2995 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 655:
-#line 3013 "parse.y"
+#line 2997 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 656:
-#line 3018 "parse.y"
+#line 3002 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
yyvsp[-1].ttype = lastiddecl;
@@ -7034,7 +7028,7 @@ case 656:
;
break;}
case 657:
-#line 3030 "parse.y"
+#line 3014 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
@@ -7042,11 +7036,11 @@ case 657:
;
break;}
case 658:
-#line 3036 "parse.y"
+#line 3020 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
break;}
case 661:
-#line 3040 "parse.y"
+#line 3024 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
@@ -7054,11 +7048,11 @@ case 661:
;
break;}
case 662:
-#line 3049 "parse.y"
+#line 3033 "parse.y"
{ yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 663:
-#line 3054 "parse.y"
+#line 3038 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -7068,148 +7062,148 @@ case 663:
;
break;}
case 665:
-#line 3063 "parse.y"
+#line 3047 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 666:
-#line 3068 "parse.y"
+#line 3052 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
case 667:
-#line 3070 "parse.y"
+#line 3054 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
break;}
case 668:
-#line 3077 "parse.y"
+#line 3061 "parse.y"
{ got_scope = void_type_node; ;
break;}
case 669:
-#line 3083 "parse.y"
+#line 3067 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 670:
-#line 3085 "parse.y"
+#line 3069 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 671:
-#line 3087 "parse.y"
+#line 3071 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 672:
-#line 3089 "parse.y"
+#line 3073 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 673:
-#line 3091 "parse.y"
+#line 3075 "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 674:
-#line 3095 "parse.y"
+#line 3079 "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 676:
-#line 3104 "parse.y"
+#line 3088 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 677:
-#line 3106 "parse.y"
+#line 3090 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 678:
-#line 3112 "parse.y"
+#line 3096 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 679:
-#line 3114 "parse.y"
+#line 3098 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 680:
-#line 3116 "parse.y"
+#line 3100 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
case 681:
-#line 3118 "parse.y"
+#line 3102 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
break;}
case 682:
-#line 3120 "parse.y"
+#line 3104 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 683:
-#line 3122 "parse.y"
+#line 3106 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 684:
-#line 3124 "parse.y"
+#line 3108 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
case 685:
-#line 3126 "parse.y"
+#line 3110 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
break;}
case 686:
-#line 3128 "parse.y"
+#line 3112 "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 687:
-#line 3132 "parse.y"
+#line 3116 "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 689:
-#line 3141 "parse.y"
+#line 3125 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 691:
-#line 3145 "parse.y"
+#line 3129 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 692:
-#line 3147 "parse.y"
+#line 3131 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 693:
-#line 3149 "parse.y"
+#line 3133 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 694:
-#line 3151 "parse.y"
+#line 3135 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
case 695:
-#line 3153 "parse.y"
+#line 3137 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 696:
-#line 3155 "parse.y"
+#line 3139 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 697:
-#line 3157 "parse.y"
+#line 3141 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 698:
-#line 3159 "parse.y"
+#line 3143 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 699:
-#line 3161 "parse.y"
+#line 3145 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
case 706:
-#line 3184 "parse.y"
+#line 3168 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids label declarations"); ;
break;}
case 709:
-#line 3195 "parse.y"
+#line 3179 "parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
@@ -7220,181 +7214,181 @@ case 709:
;
break;}
case 710:
-#line 3209 "parse.y"
+#line 3193 "parse.y"
{;
break;}
case 712:
-#line 3215 "parse.y"
+#line 3199 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
case 713:
-#line 3217 "parse.y"
+#line 3201 "parse.y"
{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
case 714:
-#line 3222 "parse.y"
+#line 3206 "parse.y"
{
yyval.ttype = begin_if_stmt ();
cond_stmt_keyword = "if";
;
break;}
case 715:
-#line 3227 "parse.y"
+#line 3211 "parse.y"
{ finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 716:
-#line 3229 "parse.y"
+#line 3213 "parse.y"
{ yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
break;}
case 718:
-#line 3234 "parse.y"
+#line 3218 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
case 719:
-#line 3236 "parse.y"
+#line 3220 "parse.y"
{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
case 720:
-#line 3241 "parse.y"
+#line 3225 "parse.y"
{;
break;}
case 722:
-#line 3247 "parse.y"
+#line 3231 "parse.y"
{ finish_stmt (); ;
break;}
case 723:
-#line 3249 "parse.y"
+#line 3233 "parse.y"
{ finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
case 724:
-#line 3251 "parse.y"
+#line 3235 "parse.y"
{ begin_else_clause (); ;
break;}
case 725:
-#line 3253 "parse.y"
+#line 3237 "parse.y"
{
finish_else_clause (yyvsp[-3].ttype);
finish_if_stmt ();
;
break;}
case 726:
-#line 3258 "parse.y"
+#line 3242 "parse.y"
{ finish_if_stmt (); ;
break;}
case 727:
-#line 3260 "parse.y"
+#line 3244 "parse.y"
{
yyval.ttype = begin_while_stmt ();
cond_stmt_keyword = "while";
;
break;}
case 728:
-#line 3265 "parse.y"
+#line 3249 "parse.y"
{ finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 729:
-#line 3267 "parse.y"
+#line 3251 "parse.y"
{ finish_while_stmt (yyvsp[-3].ttype); ;
break;}
case 730:
-#line 3269 "parse.y"
+#line 3253 "parse.y"
{ yyval.ttype = begin_do_stmt (); ;
break;}
case 731:
-#line 3271 "parse.y"
+#line 3255 "parse.y"
{
finish_do_body (yyvsp[-2].ttype);
cond_stmt_keyword = "do";
;
break;}
case 732:
-#line 3276 "parse.y"
+#line 3260 "parse.y"
{ finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
case 733:
-#line 3278 "parse.y"
+#line 3262 "parse.y"
{ yyval.ttype = begin_for_stmt (); ;
break;}
case 734:
-#line 3280 "parse.y"
+#line 3264 "parse.y"
{ finish_for_init_stmt (yyvsp[-2].ttype); ;
break;}
case 735:
-#line 3282 "parse.y"
+#line 3266 "parse.y"
{ finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
case 736:
-#line 3284 "parse.y"
+#line 3268 "parse.y"
{ finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
break;}
case 737:
-#line 3286 "parse.y"
+#line 3270 "parse.y"
{ finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
break;}
case 738:
-#line 3288 "parse.y"
+#line 3272 "parse.y"
{ begin_switch_stmt (); ;
break;}
case 739:
-#line 3290 "parse.y"
+#line 3274 "parse.y"
{ yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
break;}
case 740:
-#line 3292 "parse.y"
+#line 3276 "parse.y"
{ finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 741:
-#line 3294 "parse.y"
+#line 3278 "parse.y"
{ finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
break;}
case 743:
-#line 3297 "parse.y"
+#line 3281 "parse.y"
{ finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 745:
-#line 3300 "parse.y"
+#line 3284 "parse.y"
{ finish_case_label (NULL_TREE, NULL_TREE); ;
break;}
case 747:
-#line 3303 "parse.y"
+#line 3287 "parse.y"
{ finish_break_stmt (); ;
break;}
case 748:
-#line 3305 "parse.y"
+#line 3289 "parse.y"
{ finish_continue_stmt (); ;
break;}
case 749:
-#line 3307 "parse.y"
+#line 3291 "parse.y"
{ finish_return_stmt (NULL_TREE); ;
break;}
case 750:
-#line 3309 "parse.y"
+#line 3293 "parse.y"
{ finish_return_stmt (yyvsp[-1].ttype); ;
break;}
case 751:
-#line 3311 "parse.y"
+#line 3295 "parse.y"
{
finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
NULL_TREE);
;
break;}
case 752:
-#line 3317 "parse.y"
+#line 3301 "parse.y"
{
finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
NULL_TREE);
;
break;}
case 753:
-#line 3323 "parse.y"
+#line 3307 "parse.y"
{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 754:
-#line 3327 "parse.y"
+#line 3311 "parse.y"
{ finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
case 755:
-#line 3329 "parse.y"
+#line 3313 "parse.y"
{
if (pedantic)
pedwarn ("ANSI C++ forbids computed gotos");
@@ -7402,29 +7396,29 @@ case 755:
;
break;}
case 756:
-#line 3335 "parse.y"
+#line 3319 "parse.y"
{ finish_goto_stmt (yyvsp[-1].ttype); ;
break;}
case 757:
-#line 3337 "parse.y"
+#line 3321 "parse.y"
{ finish_stmt (); ;
break;}
case 758:
-#line 3339 "parse.y"
+#line 3323 "parse.y"
{ error ("label must be followed by statement");
yyungetc ('}', 0);
finish_stmt (); ;
break;}
case 759:
-#line 3343 "parse.y"
+#line 3327 "parse.y"
{ finish_stmt (); ;
break;}
case 762:
-#line 3347 "parse.y"
+#line 3331 "parse.y"
{ do_local_using_decl (yyvsp[0].ttype); ;
break;}
case 764:
-#line 3353 "parse.y"
+#line 3337 "parse.y"
{
if (! current_function_parms_stored)
store_parm_decls ();
@@ -7432,54 +7426,54 @@ case 764:
;
break;}
case 765:
-#line 3359 "parse.y"
+#line 3343 "parse.y"
{
expand_start_all_catch ();
;
break;}
case 766:
-#line 3363 "parse.y"
+#line 3347 "parse.y"
{
expand_end_all_catch ();
yyval.itype = yyvsp[-3].itype;
;
break;}
case 767:
-#line 3371 "parse.y"
+#line 3355 "parse.y"
{ yyval.ttype = begin_try_block (); ;
break;}
case 768:
-#line 3373 "parse.y"
+#line 3357 "parse.y"
{ finish_try_block (yyvsp[-1].ttype); ;
break;}
case 769:
-#line 3375 "parse.y"
+#line 3359 "parse.y"
{ finish_handler_sequence (yyvsp[-3].ttype); ;
break;}
case 772:
-#line 3385 "parse.y"
+#line 3369 "parse.y"
{ yyval.ttype = begin_handler(); ;
break;}
case 773:
-#line 3387 "parse.y"
+#line 3371 "parse.y"
{ finish_handler_parms (yyvsp[-1].ttype); ;
break;}
case 774:
-#line 3389 "parse.y"
+#line 3373 "parse.y"
{ finish_handler (yyvsp[-3].ttype); ;
break;}
case 777:
-#line 3399 "parse.y"
+#line 3383 "parse.y"
{ expand_start_catch_block (NULL_TREE, NULL_TREE); ;
break;}
case 778:
-#line 3415 "parse.y"
+#line 3399 "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 779:
-#line 3422 "parse.y"
+#line 3406 "parse.y"
{ tree label;
do_label:
label = define_label (input_filename, lineno, yyvsp[-1].ttype);
@@ -7488,98 +7482,98 @@ case 779:
;
break;}
case 780:
-#line 3429 "parse.y"
+#line 3413 "parse.y"
{ goto do_label; ;
break;}
case 781:
-#line 3431 "parse.y"
+#line 3415 "parse.y"
{ goto do_label; ;
break;}
case 782:
-#line 3433 "parse.y"
+#line 3417 "parse.y"
{ goto do_label; ;
break;}
case 783:
-#line 3438 "parse.y"
+#line 3422 "parse.y"
{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
break;}
case 785:
-#line 3441 "parse.y"
+#line 3425 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids compound statements inside for initializations");
;
break;}
case 786:
-#line 3450 "parse.y"
+#line 3434 "parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
case 787:
-#line 3453 "parse.y"
+#line 3437 "parse.y"
{ emit_line_note (input_filename, lineno); ;
break;}
case 788:
-#line 3458 "parse.y"
+#line 3442 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 790:
-#line 3461 "parse.y"
+#line 3445 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 791:
-#line 3468 "parse.y"
+#line 3452 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 794:
-#line 3475 "parse.y"
+#line 3459 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 795:
-#line 3480 "parse.y"
+#line 3464 "parse.y"
{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 796:
-#line 3485 "parse.y"
+#line 3469 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
break;}
case 797:
-#line 3487 "parse.y"
+#line 3471 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 798:
-#line 3498 "parse.y"
+#line 3482 "parse.y"
{
yyval.ttype = empty_parms();
;
break;}
case 800:
-#line 3503 "parse.y"
+#line 3487 "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 801:
-#line 3511 "parse.y"
+#line 3495 "parse.y"
{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
break;}
case 802:
-#line 3513 "parse.y"
+#line 3497 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
case 803:
-#line 3516 "parse.y"
+#line 3500 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
case 804:
-#line 3518 "parse.y"
+#line 3502 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
yyvsp[-1].ftype.t), 1); ;
break;}
case 805:
-#line 3521 "parse.y"
+#line 3505 "parse.y"
{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
break;}
case 806:
-#line 3523 "parse.y"
+#line 3507 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7591,7 +7585,7 @@ case 806:
;
break;}
case 807:
-#line 3533 "parse.y"
+#line 3517 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7604,99 +7598,99 @@ case 807:
;
break;}
case 808:
-#line 3548 "parse.y"
+#line 3532 "parse.y"
{ maybe_snarf_defarg (); ;
break;}
case 809:
-#line 3550 "parse.y"
+#line 3534 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 812:
-#line 3561 "parse.y"
+#line 3545 "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 813:
-#line 3564 "parse.y"
+#line 3548 "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 814:
-#line 3567 "parse.y"
+#line 3551 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
break;}
case 815:
-#line 3570 "parse.y"
+#line 3554 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 816:
-#line 3572 "parse.y"
+#line 3556 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
break;}
case 818:
-#line 3578 "parse.y"
+#line 3562 "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 819:
-#line 3588 "parse.y"
+#line 3572 "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 820:
-#line 3592 "parse.y"
+#line 3576 "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 821:
-#line 3595 "parse.y"
+#line 3579 "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 822:
-#line 3599 "parse.y"
+#line 3583 "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 823:
-#line 3603 "parse.y"
+#line 3587 "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 824:
-#line 3607 "parse.y"
+#line 3591 "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 825:
-#line 3614 "parse.y"
+#line 3598 "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 826:
-#line 3617 "parse.y"
+#line 3601 "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 829:
-#line 3628 "parse.y"
+#line 3612 "parse.y"
{ see_typename (); ;
break;}
case 830:
-#line 3633 "parse.y"
+#line 3617 "parse.y"
{
error ("type specifier omitted for parameter");
yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
;
break;}
case 831:
-#line 3638 "parse.y"
+#line 3622 "parse.y"
{
error ("type specifier omitted for parameter");
if (TREE_CODE (yyval.ttype) == SCOPE_REF
@@ -7707,193 +7701,193 @@ case 831:
;
break;}
case 832:
-#line 3650 "parse.y"
+#line 3634 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 833:
-#line 3652 "parse.y"
+#line 3636 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 834:
-#line 3654 "parse.y"
+#line 3638 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
break;}
case 835:
-#line 3659 "parse.y"
+#line 3643 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
break;}
case 837:
-#line 3665 "parse.y"
+#line 3649 "parse.y"
{
TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 838:
-#line 3673 "parse.y"
+#line 3657 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 839:
-#line 3675 "parse.y"
+#line 3659 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 840:
-#line 3677 "parse.y"
+#line 3661 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 841:
-#line 3679 "parse.y"
+#line 3663 "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 842:
-#line 3686 "parse.y"
+#line 3670 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
case 843:
-#line 3691 "parse.y"
+#line 3675 "parse.y"
{ yyval.ttype = ansi_opname[MULT_EXPR]; ;
break;}
case 844:
-#line 3693 "parse.y"
+#line 3677 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
break;}
case 845:
-#line 3695 "parse.y"
+#line 3679 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
break;}
case 846:
-#line 3697 "parse.y"
+#line 3681 "parse.y"
{ yyval.ttype = ansi_opname[PLUS_EXPR]; ;
break;}
case 847:
-#line 3699 "parse.y"
+#line 3683 "parse.y"
{ yyval.ttype = ansi_opname[MINUS_EXPR]; ;
break;}
case 848:
-#line 3701 "parse.y"
+#line 3685 "parse.y"
{ yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
break;}
case 849:
-#line 3703 "parse.y"
+#line 3687 "parse.y"
{ yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
break;}
case 850:
-#line 3705 "parse.y"
+#line 3689 "parse.y"
{ yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
break;}
case 851:
-#line 3707 "parse.y"
+#line 3691 "parse.y"
{ yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
break;}
case 852:
-#line 3709 "parse.y"
+#line 3693 "parse.y"
{ yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
break;}
case 853:
-#line 3711 "parse.y"
+#line 3695 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 854:
-#line 3713 "parse.y"
+#line 3697 "parse.y"
{ yyval.ttype = ansi_opname[LT_EXPR]; ;
break;}
case 855:
-#line 3715 "parse.y"
+#line 3699 "parse.y"
{ yyval.ttype = ansi_opname[GT_EXPR]; ;
break;}
case 856:
-#line 3717 "parse.y"
+#line 3701 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 857:
-#line 3719 "parse.y"
+#line 3703 "parse.y"
{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
break;}
case 858:
-#line 3721 "parse.y"
+#line 3705 "parse.y"
{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
break;}
case 859:
-#line 3723 "parse.y"
+#line 3707 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 860:
-#line 3725 "parse.y"
+#line 3709 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 861:
-#line 3727 "parse.y"
+#line 3711 "parse.y"
{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
break;}
case 862:
-#line 3729 "parse.y"
+#line 3713 "parse.y"
{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
break;}
case 863:
-#line 3731 "parse.y"
+#line 3715 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
break;}
case 864:
-#line 3733 "parse.y"
+#line 3717 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
break;}
case 865:
-#line 3735 "parse.y"
+#line 3719 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
break;}
case 866:
-#line 3737 "parse.y"
+#line 3721 "parse.y"
{ yyval.ttype = ansi_opname[COND_EXPR]; ;
break;}
case 867:
-#line 3739 "parse.y"
+#line 3723 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 868:
-#line 3741 "parse.y"
+#line 3725 "parse.y"
{ yyval.ttype = ansi_opname[COMPONENT_REF]; ;
break;}
case 869:
-#line 3743 "parse.y"
+#line 3727 "parse.y"
{ yyval.ttype = ansi_opname[MEMBER_REF]; ;
break;}
case 870:
-#line 3745 "parse.y"
+#line 3729 "parse.y"
{ yyval.ttype = ansi_opname[CALL_EXPR]; ;
break;}
case 871:
-#line 3747 "parse.y"
+#line 3731 "parse.y"
{ yyval.ttype = ansi_opname[ARRAY_REF]; ;
break;}
case 872:
-#line 3749 "parse.y"
+#line 3733 "parse.y"
{ yyval.ttype = ansi_opname[NEW_EXPR]; ;
break;}
case 873:
-#line 3751 "parse.y"
+#line 3735 "parse.y"
{ yyval.ttype = ansi_opname[DELETE_EXPR]; ;
break;}
case 874:
-#line 3753 "parse.y"
+#line 3737 "parse.y"
{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
break;}
case 875:
-#line 3755 "parse.y"
+#line 3739 "parse.y"
{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
break;}
case 876:
-#line 3758 "parse.y"
+#line 3742 "parse.y"
{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 877:
-#line 3760 "parse.y"
+#line 3744 "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;
@@ -8089,7 +8083,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 3763 "parse.y"
+#line 3747 "parse.y"
#ifdef SPEW_DEBUG
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index d5dee42..476fdcf 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -2138,7 +2138,8 @@ structsp:
if (!processing_template_decl)
cp_pedwarn ("using `typename' outside of template"); }
/* C++ extensions, merged with C to avoid shift/reduce conflicts */
- | class_head left_curly
+ | class_head '{'
+ { $<ttype>1 = begin_class_definition ($<ttype>1); }
opt.component_decl_list '}' maybe_attribute
{
int semi;
@@ -2147,7 +2148,7 @@ structsp:
yychar = YYLEX;
semi = yychar == ';';
- $<ttype>$ = finish_class_definition ($1, $5, semi);
+ $<ttype>$ = finish_class_definition ($1, $6, semi);
}
pending_defargs
{
@@ -2156,7 +2157,7 @@ structsp:
pending_inlines
{
finish_inline_definitions ();
- $$.t = $<ttype>6;
+ $$.t = $<ttype>7;
$$.new_type_flag = 1;
}
| class_head %prec EMPTY
@@ -2404,11 +2405,6 @@ base_class_access_list:
}
;
-left_curly:
- '{'
- { $<ttype>0 = begin_class_definition ($<ttype>0); }
- ;
-
opt.component_decl_list:
| component_decl_list
| opt.component_decl_list access_specifier component_decl_list
@@ -2758,14 +2754,7 @@ nonnested_type:
if (TREE_CODE ($1) == IDENTIFIER_NODE)
{
$$ = lookup_name ($1, 1);
- if (current_class_type
- && TYPE_BEING_DEFINED (current_class_type)
- && ! IDENTIFIER_CLASS_VALUE ($1))
- {
- /* Remember that this name has been used in the class
- definition, as per [class.scope0] */
- pushdecl_class_level ($$);
- }
+ maybe_note_name_used_in_class ($1, $$);
}
else
$$ = $1;
@@ -2925,12 +2914,7 @@ nested_name_specifier_1:
if (TREE_CODE ($1) == IDENTIFIER_NODE)
{
$$ = lastiddecl;
- /* Remember that this name has been used in the class
- definition, as per [class.scope0] */
- if (current_class_type
- && TYPE_BEING_DEFINED (current_class_type)
- && ! IDENTIFIER_CLASS_VALUE ($1))
- pushdecl_class_level ($$);
+ maybe_note_name_used_in_class ($1, $$);
}
got_scope = $$ = TYPE_MAIN_VARIANT (TREE_TYPE ($$));
}
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index a3c3a32..28161b1 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -1304,16 +1304,6 @@ check_explicit_specialization (declarator, decl, template_count, flags)
if (declarator == error_mark_node)
return error_mark_node;
- if (TREE_CODE (TREE_OPERAND (declarator, 0)) == LOOKUP_EXPR)
- {
- /* A friend declaration. We can't do much, because we don't
- know what this resolves to, yet. */
- my_friendly_assert (is_friend != 0, 0);
- my_friendly_assert (!explicit_instantiation, 0);
- SET_DECL_IMPLICIT_INSTANTIATION (decl);
- return decl;
- }
-
if (ctype != NULL_TREE && TYPE_BEING_DEFINED (ctype))
{
if (!explicit_instantiation)
@@ -1340,6 +1330,15 @@ check_explicit_specialization (declarator, decl, template_count, flags)
return decl;
}
+ else if (TREE_CODE (TREE_OPERAND (declarator, 0)) == LOOKUP_EXPR)
+ {
+ /* A friend declaration. We can't do much, because we don't
+ know what this resolves to, yet. */
+ my_friendly_assert (is_friend != 0, 0);
+ my_friendly_assert (!explicit_instantiation, 0);
+ SET_DECL_IMPLICIT_INSTANTIATION (decl);
+ return decl;
+ }
else if (ctype != NULL_TREE
&& (TREE_CODE (TREE_OPERAND (declarator, 0)) ==
IDENTIFIER_NODE))
@@ -1598,7 +1597,11 @@ void
check_template_shadow (decl)
tree decl;
{
- tree olddecl = IDENTIFIER_VALUE (DECL_NAME (decl));
+ tree olddecl;
+
+ if (TREE_CODE (decl) == OVERLOAD)
+ decl = OVL_CURRENT (decl);
+ olddecl = IDENTIFIER_VALUE (DECL_NAME (decl));
if (current_template_parms && olddecl)
{
@@ -1888,8 +1891,8 @@ build_template_decl (decl, parms)
if (DECL_LANG_SPECIFIC (decl))
{
DECL_CLASS_CONTEXT (tmpl) = DECL_CLASS_CONTEXT (decl);
- DECL_STATIC_FUNCTION_P (tmpl) =
- DECL_STATIC_FUNCTION_P (decl);
+ DECL_STATIC_FUNCTION_P (tmpl) = DECL_STATIC_FUNCTION_P (decl);
+ DECL_CONSTRUCTOR_P (tmpl) = DECL_CONSTRUCTOR_P (decl);
}
return tmpl;
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index c4c365b..5f4a76f 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -89,7 +89,6 @@ static int hides PROTO((tree, tree));
static tree virtual_context PROTO((tree, tree, tree));
static tree dfs_check_overlap PROTO((tree, void *));
static tree dfs_no_overlap_yet PROTO((tree, void *));
-static void envelope_add_decl PROTO((tree, tree, tree *));
static int get_base_distance_recursive
PROTO((tree, int, int, int, int *, tree *, tree,
int, int *, int, int));
@@ -111,8 +110,8 @@ static tree dfs_find_vbases PROTO((tree, void *));
static tree dfs_clear_vbase_slots PROTO((tree, void *));
static tree dfs_init_vbase_pointers PROTO((tree, void *));
static tree dfs_get_vbase_types PROTO((tree, void *));
-static tree dfs_pushdecls PROTO((tree, void *));
-static tree dfs_compress_decls PROTO((tree, void *));
+static tree dfs_push_type_decls PROTO((tree, void *));
+static tree dfs_push_decls PROTO((tree, void *));
static tree dfs_unuse_fields PROTO((tree, void *));
static tree add_conversions PROTO((tree, void *));
static tree get_virtuals_named_this PROTO((tree, tree));
@@ -150,6 +149,8 @@ static tree dfs_assert_unmarked_p PROTO ((tree, void *));
static void assert_canonical_unmarked PROTO ((tree));
static int protected_accessible_p PROTO ((tree, tree, tree, tree));
static int friend_accessible_p PROTO ((tree, tree, tree, tree));
+static void setup_class_bindings PROTO ((tree, int));
+static int template_self_reference_p PROTO ((tree, tree));
/* Allocate a level of searching. */
@@ -1175,6 +1176,25 @@ lookup_field_queue_p (binfo, data)
return binfo;
}
+/* Within the scope of a template class, you can refer to the
+ particular to the current specialization with the name of the
+ template itself. For example:
+
+ template <typename T> struct S { S* sp; }
+
+ Returns non-zero if DECL is such a declaration in a class TYPE. */
+
+static int
+template_self_reference_p (type, decl)
+ tree type;
+ tree decl;
+{
+ return (CLASSTYPE_USE_TEMPLATE (type)
+ && TREE_CODE (decl) == TYPE_DECL
+ && DECL_ARTIFICIAL (decl)
+ && DECL_NAME (decl) == constructor_name (type));
+}
+
/* DATA is really a struct lookup_field_info. Look for a field with
the name indicated there in BINFO. If this function returns a
non-NULL value it is the result of the lookup. Called from
@@ -1206,6 +1226,11 @@ lookup_field_r (binfo, data)
if (!nval)
return NULL_TREE;
+ /* You must name a template base class with a template-id. */
+ if (!same_type_p (type, lfi->type)
+ && template_self_reference_p (type, nval))
+ return NULL_TREE;
+
from_dep_base_p = dependent_base_p (binfo);
if (lfi->from_dep_base_p && !from_dep_base_p)
{
@@ -1266,7 +1291,12 @@ lookup_field_r (binfo, data)
{
nval = purpose_member (lfi->name, CLASSTYPE_TAGS (type));
if (nval)
- nval = TYPE_MAIN_DECL (TREE_VALUE (nval));
+ {
+ nval = TYPE_MAIN_DECL (TREE_VALUE (nval));
+ if (!same_type_p (type, lfi->type)
+ && template_self_reference_p (type, nval))
+ nval = NULL_TREE;
+ }
}
if (nval)
@@ -1300,13 +1330,15 @@ lookup_field_r (binfo, data)
}
/* Look for a memer named NAME in an inheritance lattice dominated by
- XBASETYPE. PROTECT is zero if we can avoid computing access
- information, otherwise it is 1. WANT_TYPE is 1 when we should only
- return TYPE_DECLs, if no TYPE_DECL can be found return NULL_TREE.
+ XBASETYPE. PROTECT is 0 or two, we do not check access. If it is
+ 1, we enforce accessibility. If PROTECT is zero, then, for an
+ ambiguous lookup, we return NULL. If PROTECT is 1, we issue an
+ error message. If PROTECT is two 2, we return a TREE_LIST whose
+ TREE_PURPOSE is error_mark_node and whose TREE_VALUE is the list of
+ ambiguous candidates.
- It was not clear what should happen if WANT_TYPE is set, and an
- ambiguity is found. At least one use (lookup_name) to not see
- the error. */
+ WANT_TYPE is 1 when we should only return TYPE_DECLs, if no
+ TYPE_DECL can be found return NULL_TREE. */
tree
lookup_member (xbasetype, name, protect, want_type)
@@ -1324,13 +1356,6 @@ lookup_member (xbasetype, name, protect, want_type)
checks. Whereas rval is only set if a proper (not hidden)
non-function member is found. */
- /* rval_binfo_h and binfo_h are binfo values used when we perform the
- hiding checks, as virtual base classes may not be shared. The strategy
- is we always go into the binfo hierarchy owned by TYPE_BINFO of
- virtual base classes, as we cross virtual base class lines. This way
- we know that binfo of a virtual base class will always == itself when
- found along any line. (mrs) */
-
const char *errstr = 0;
if (xbasetype == current_class_type && TYPE_BEING_DEFINED (xbasetype)
@@ -1379,6 +1404,21 @@ lookup_member (xbasetype, name, protect, want_type)
if (!protect && lfi.ambiguous)
return NULL_TREE;
+ if (protect == 2)
+ {
+ if (lfi.ambiguous)
+ {
+ /* This flag tells hack_identifier that the lookup is
+ ambiguous. */
+ TREE_NONLOCAL_FLAG (lfi.ambiguous) = 1;
+ return scratch_tree_cons (error_mark_node,
+ lfi.ambiguous,
+ NULL_TREE);
+ }
+ else
+ protect = 0;
+ }
+
/* [class.access]
In the case of overloaded function names, access control is
@@ -2814,107 +2854,6 @@ note_debug_info_needed (type)
/* Subroutines of push_class_decls (). */
-/* Add in a decl to the envelope. */
-static void
-envelope_add_decl (type, decl, values)
- tree type, decl, *values;
-{
- tree context, *tmp;
- tree name = DECL_NAME (decl);
- int dont_add = 0;
-
- /* Yet Another Implicit Typename Kludge: Since we don't tsubst
- the members for partial instantiations, DECL_CONTEXT (decl) is wrong.
- But pretend it's right for this function. */
- if (processing_template_decl)
- type = DECL_REAL_CONTEXT (decl);
-
- /* virtual base names are always unique. */
- if (VBASE_NAME_P (name))
- *values = NULL_TREE;
-
- /* Possible ambiguity. If its defining type(s)
- is (are all) derived from us, no problem. */
- else if (*values && TREE_CODE (*values) != TREE_LIST)
- {
- tree value = *values;
- /* Only complain if we shadow something we can access. */
- if (warn_shadow && TREE_CODE (decl) == FUNCTION_DECL
- && ((DECL_LANG_SPECIFIC (*values)
- && DECL_CLASS_CONTEXT (value) == current_class_type)
- || ! TREE_PRIVATE (value)))
- /* Should figure out access control more accurately. */
- {
- cp_warning_at ("member `%#D' is shadowed", value);
- cp_warning_at ("by member function `%#D'", decl);
- warning ("in this context");
- }
-
- context = DECL_REAL_CONTEXT (value);
-
- if (context == type)
- {
- if (TREE_CODE (value) == TYPE_DECL
- && DECL_ARTIFICIAL (value))
- *values = NULL_TREE;
- else
- dont_add = 1;
- }
- else if (type == current_class_type
- || DERIVED_FROM_P (context, type))
- {
- /* Don't add in *values to list */
- *values = NULL_TREE;
- }
- else
- *values = build_tree_list (NULL_TREE, value);
- }
- else
- for (tmp = values; *tmp;)
- {
- tree value = TREE_VALUE (*tmp);
- my_friendly_assert (TREE_CODE (value) != TREE_LIST, 999);
- context = (TREE_CODE (value) == FUNCTION_DECL
- && DECL_VIRTUAL_P (value))
- ? DECL_CLASS_CONTEXT (value)
- : DECL_CONTEXT (value);
-
- if (type == current_class_type
- || DERIVED_FROM_P (context, type))
- {
- /* remove *tmp from list */
- *tmp = TREE_CHAIN (*tmp);
- }
- else
- tmp = &TREE_CHAIN (*tmp);
- }
-
- if (! dont_add)
- {
- /* Put the new contents in our envelope. */
- if (TREE_CODE (decl) == FUNCTION_DECL)
- {
- *values = tree_cons (name, decl, *values);
- TREE_NONLOCAL_FLAG (*values) = 1;
- TREE_TYPE (*values) = unknown_type_node;
- }
- else
- {
- if (*values)
- {
- *values = tree_cons (NULL_TREE, decl, *values);
- /* Mark this as a potentially ambiguous member. */
- /* Leaving TREE_TYPE blank is intentional.
- We cannot use `error_mark_node' (lookup_name)
- or `unknown_type_node' (all member functions use this). */
- TREE_NONLOCAL_FLAG (*values) = 1;
- }
- else
- *values = decl;
- }
- }
-}
-
/* Returns 1 iff BINFO is a base we shouldn't really be able to see into,
because it (or one of the intermediate bases) depends on template parms. */
@@ -2932,182 +2871,133 @@ dependent_base_p (binfo)
return 0;
}
-/* Add the instance variables which this class contributed to the
- current class binding contour. When a redefinition occurs, if the
- redefinition is strictly within a single inheritance path, we just
- overwrite the old declaration with the new. If the fields are not
- within a single inheritance path, we must cons them.
-
- In order to know what decls are new (stemming from the current
- invocation of push_class_decls) we enclose them in an "envelope",
- which is a TREE_LIST node where the TREE_PURPOSE slot contains the
- new decl (or possibly a list of competing ones), the TREE_VALUE slot
- points to the old value and the TREE_CHAIN slot chains together all
- envelopes which needs to be "opened" in push_class_decls. Opening an
- envelope means: push the old value onto the class_shadowed list,
- install the new one and if it's a TYPE_DECL do the same to the
- IDENTIFIER_TYPE_VALUE. Such an envelope is recognized by seeing that
- the TREE_PURPOSE slot is non-null, and that it is not an identifier.
- Because if it is, it could be a set of overloaded methods from an
- outer scope. */
-
-static tree
-dfs_pushdecls (binfo, data)
- tree binfo;
- void *data;
+static void
+setup_class_bindings (name, type_binding_p)
+ tree name;
+ int type_binding_p;
{
- tree *closed_envelopes = (tree *) data;
- tree type = BINFO_TYPE (binfo);
- tree fields;
- tree method_vec;
- int dummy = 0;
+ tree type_binding = NULL_TREE;
+ tree value_binding;
- /* Only record types if we're a template base. */
- if (processing_template_decl && type != current_class_type
- && dependent_base_p (binfo))
- dummy = 1;
+ /* If we've already done the lookup for this declaration, we're
+ done. */
+ if (IDENTIFIER_CLASS_VALUE (name))
+ return;
- for (fields = TYPE_FIELDS (type); fields; fields = TREE_CHAIN (fields))
+ /* First, deal with the type binding. */
+ if (type_binding_p)
{
- if (dummy && TREE_CODE (fields) != TYPE_DECL)
- continue;
-
- /* Unmark so that if we are in a constructor, and then find that
- this field was initialized by a base initializer,
- we can emit an error message. */
- if (TREE_CODE (fields) == FIELD_DECL)
- TREE_USED (fields) = 0;
-
- /* Recurse into anonymous unions. */
- if (DECL_NAME (fields) == NULL_TREE
- && TREE_CODE (TREE_TYPE (fields)) == UNION_TYPE)
- {
- dfs_pushdecls (TYPE_BINFO (TREE_TYPE (fields)), data);
- continue;
- }
-
- if (DECL_NAME (fields))
- {
- tree name = DECL_NAME (fields);
- tree class_value = IDENTIFIER_CLASS_VALUE (name);
-
- /* If the class value is not an envelope of the kind described in
- the comment above, we create a new envelope. */
- maybe_push_cache_obstack ();
- if (class_value == NULL_TREE || TREE_CODE (class_value) != TREE_LIST
- || TREE_PURPOSE (class_value) == NULL_TREE
- || TREE_CODE (TREE_PURPOSE (class_value)) == IDENTIFIER_NODE)
- {
- /* See comment above for a description of envelopes. */
- *closed_envelopes = tree_cons (NULL_TREE, class_value,
- *closed_envelopes);
- IDENTIFIER_CLASS_VALUE (name) = *closed_envelopes;
- class_value = IDENTIFIER_CLASS_VALUE (name);
- }
-
- envelope_add_decl (type, fields, &TREE_PURPOSE (class_value));
- pop_obstacks ();
- }
+ type_binding = lookup_member (current_class_type, name,
+ /*protect=*/2,
+ /*want_type=*/1);
+ if (TREE_CODE (type_binding) == TREE_LIST
+ && TREE_PURPOSE (type_binding) == error_mark_node)
+ /* NAME is ambiguous. */
+ push_class_level_binding (name, TREE_VALUE (type_binding));
+ else
+ pushdecl_class_level (type_binding);
}
- method_vec = CLASS_TYPE_P (type) ? CLASSTYPE_METHOD_VEC (type) : NULL_TREE;
- if (method_vec && ! dummy)
+ /* Now, do the value binding. */
+ value_binding = lookup_member (current_class_type, name,
+ /*protect=*/2,
+ /*want_type=*/0);
+
+ if (type_binding_p
+ && (TREE_CODE (value_binding) == TYPE_DECL
+ || (TREE_CODE (value_binding) == TREE_LIST
+ && TREE_PURPOSE (value_binding) == error_mark_node
+ && (TREE_CODE (TREE_VALUE (TREE_VALUE (value_binding)))
+ == TYPE_DECL))))
+ /* We found a type-binding, even when looking for a non-type
+ binding. This means that we already processed this binding
+ above. */
+ my_friendly_assert (type_binding_p, 19990401);
+ else
{
- tree *methods;
- tree *end;
-
- /* Farm out constructors and destructors. */
- end = TREE_VEC_END (method_vec);
-
- for (methods = &TREE_VEC_ELT (method_vec, 2);
- *methods && methods != end;
- methods++)
+ if (TREE_CODE (value_binding) == TREE_LIST
+ && TREE_PURPOSE (value_binding) == error_mark_node)
+ /* NAME is ambiguous. */
+ push_class_level_binding (name, TREE_VALUE (value_binding));
+ else
{
- /* This will cause lookup_name to return a pointer
- to the tree_list of possible methods of this name. */
- tree name;
- tree class_value;
-
-
- name = DECL_NAME (OVL_CURRENT (*methods));
- class_value = IDENTIFIER_CLASS_VALUE (name);
+ if (TREE_CODE (value_binding) == TREE_LIST)
+ /* NAME is some overloaded functions. */
+ value_binding = TREE_VALUE (value_binding);
+ pushdecl_class_level (value_binding);
+ }
+ }
+}
- maybe_push_cache_obstack ();
+/* Push class-level declarations for any names appearing in BINFO that
+ are TYPE_DECLS. */
- /* If the class value is not an envelope of the kind described in
- the comment above, we create a new envelope. */
- if (class_value == NULL_TREE || TREE_CODE (class_value) != TREE_LIST
- || TREE_PURPOSE (class_value) == NULL_TREE
- || TREE_CODE (TREE_PURPOSE (class_value)) == IDENTIFIER_NODE)
- {
- /* See comment above for a description of envelopes. */
- *closed_envelopes = tree_cons (NULL_TREE, class_value,
- *closed_envelopes);
- IDENTIFIER_CLASS_VALUE (name) = *closed_envelopes;
- class_value = IDENTIFIER_CLASS_VALUE (name);
- }
+static tree
+dfs_push_type_decls (binfo, data)
+ tree binfo;
+ void *data ATTRIBUTE_UNUSED;
+{
+ tree type;
+ tree fields;
- /* Here we try to rule out possible ambiguities.
- If we can't do that, keep a TREE_LIST with possibly ambiguous
- decls in there. */
- /* Arbitrarily choose the first function in the list. This is OK
- because this is only used for initial lookup; anything that
- actually uses the function will look it up again. */
- envelope_add_decl (type, OVL_CURRENT (*methods),
- &TREE_PURPOSE (class_value));
- pop_obstacks ();
- }
- }
+ type = BINFO_TYPE (binfo);
+ for (fields = TYPE_FIELDS (type); fields; fields = TREE_CHAIN (fields))
+ if (DECL_NAME (fields) && TREE_CODE (fields) == TYPE_DECL
+ && !template_self_reference_p (type, fields))
+ setup_class_bindings (DECL_NAME (fields), /*type_binding_p=*/1);
/* We can't just use BINFO_MARKED because envelope_add_decl uses
DERIVED_FROM_P, which calls get_base_distance. */
SET_BINFO_PUSHDECLS_MARKED (binfo);
-
+
return NULL_TREE;
}
-/* Consolidate unique (by name) member functions. */
+/* Push class-level declarations for any names appearing in BINFO that
+ are not TYPE_DECLS. */
static tree
-dfs_compress_decls (binfo, data)
+dfs_push_decls (binfo, data)
tree binfo;
- void *data ATTRIBUTE_UNUSED;
+ void *data;
{
- tree type = BINFO_TYPE (binfo);
- tree method_vec
- = CLASS_TYPE_P (type) ? CLASSTYPE_METHOD_VEC (type) : NULL_TREE;
+ tree type;
+ tree method_vec;
+ int dep_base_p;
- if (processing_template_decl && type != current_class_type
- && dependent_base_p (binfo))
- /* We only record types if we're a template base. */;
- else if (method_vec != 0)
+ type = BINFO_TYPE (binfo);
+ dep_base_p = (processing_template_decl && type != current_class_type
+ && dependent_base_p (binfo));
+ if (!dep_base_p)
{
- /* Farm out constructors and destructors. */
- tree *methods;
- tree *end = TREE_VEC_END (method_vec);
-
- for (methods = &TREE_VEC_ELT (method_vec, 2);
- methods != end && *methods; methods++)
+ tree fields;
+ for (fields = TYPE_FIELDS (type); fields; fields = TREE_CHAIN (fields))
+ if (DECL_NAME (fields)
+ && TREE_CODE (fields) != TYPE_DECL
+ && TREE_CODE (fields) != USING_DECL)
+ setup_class_bindings (DECL_NAME (fields), /*type_binding_p=*/0);
+ else if (TREE_CODE (fields) == FIELD_DECL
+ && ANON_UNION_TYPE_P (TREE_TYPE (fields)))
+ dfs_push_decls (TYPE_BINFO (TREE_TYPE (fields)), data);
+
+ method_vec = (CLASS_TYPE_P (type)
+ ? CLASSTYPE_METHOD_VEC (type) : NULL_TREE);
+ if (method_vec)
{
- /* This is known to be an envelope of the kind described before
- dfs_pushdecls. */
- tree class_value =
- IDENTIFIER_CLASS_VALUE (DECL_NAME (OVL_CURRENT (*methods)));
- tree tmp = TREE_PURPOSE (class_value);
-
- /* This was replaced in scope by somebody else. Just leave it
- alone. */
- if (TREE_CODE (tmp) != TREE_LIST)
- continue;
-
- if (TREE_CHAIN (tmp) == NULL_TREE
- && TREE_VALUE (tmp)
- && OVL_NEXT (TREE_VALUE (tmp)) == NULL_TREE)
- {
- TREE_PURPOSE (class_value) = TREE_VALUE (tmp);
- }
+ tree *methods;
+ tree *end;
+
+ /* Farm out constructors and destructors. */
+ end = TREE_VEC_END (method_vec);
+
+ for (methods = &TREE_VEC_ELT (method_vec, 2);
+ *methods && methods != end;
+ methods++)
+ setup_class_bindings (DECL_NAME (OVL_CURRENT (*methods)),
+ /*type_binding_p=*/0);
}
}
+
CLEAR_BINFO_PUSHDECLS_MARKED (binfo);
return NULL_TREE;
@@ -3125,7 +3015,6 @@ push_class_decls (type)
tree type;
{
struct obstack *ambient_obstack = current_obstack;
- tree closed_envelopes = NULL_TREE;
search_stack = push_search_level (search_stack, &search_obstack);
/* Build up all the relevant bindings and such on the cache
@@ -3134,75 +3023,12 @@ push_class_decls (type)
maybe_push_cache_obstack ();
/* Push class fields into CLASS_VALUE scope, and mark. */
- dfs_walk (TYPE_BINFO (type), dfs_pushdecls, unmarked_pushdecls_p,
- &closed_envelopes);
+ dfs_walk (TYPE_BINFO (type), dfs_push_type_decls, unmarked_pushdecls_p, 0);
/* Compress fields which have only a single entry
by a given name, and unmark. */
- dfs_walk (TYPE_BINFO (type), dfs_compress_decls, marked_pushdecls_p,
- 0);
+ dfs_walk (TYPE_BINFO (type), dfs_push_decls, marked_pushdecls_p, 0);
- /* Open up all the closed envelopes and push the contained decls into
- class scope. */
- while (closed_envelopes)
- {
- tree new = TREE_PURPOSE (closed_envelopes);
- tree id;
-
- /* This is messy because the class value may be a *_DECL, or a
- TREE_LIST of overloaded *_DECLs or even a TREE_LIST of ambiguous
- *_DECLs. The name is stored at different places in these three
- cases. */
- if (TREE_CODE (new) == TREE_LIST)
- {
- if (TREE_PURPOSE (new) != NULL_TREE)
- id = TREE_PURPOSE (new);
- else
- {
- tree node = TREE_VALUE (new);
-
- if (TREE_CODE (node) == TYPE_DECL
- && DECL_ARTIFICIAL (node)
- && IS_AGGR_TYPE (TREE_TYPE (node))
- && CLASSTYPE_TEMPLATE_INFO (TREE_TYPE (node)))
- {
- tree t = CLASSTYPE_TI_TEMPLATE (TREE_TYPE (node));
- tree n = new;
-
- for (; n; n = TREE_CHAIN (n))
- {
- tree d = TREE_VALUE (n);
- if (TREE_CODE (d) == TYPE_DECL
- && DECL_ARTIFICIAL (node)
- && IS_AGGR_TYPE (TREE_TYPE (d))
- && CLASSTYPE_TEMPLATE_INFO (TREE_TYPE (d))
- && CLASSTYPE_TI_TEMPLATE (TREE_TYPE (d)) == t)
- /* OK */;
- else
- break;
- }
-
- if (n == NULL_TREE)
- new = t;
- }
- else while (TREE_CODE (node) == TREE_LIST)
- node = TREE_VALUE (node);
- id = DECL_NAME (node);
- }
- }
- else
- id = DECL_NAME (new);
-
- /* Install the original class value in order to make
- pushdecl_class_level work correctly. */
- IDENTIFIER_CLASS_VALUE (id) = TREE_VALUE (closed_envelopes);
- if (TREE_CODE (new) == TREE_LIST)
- push_class_level_binding (id, new);
- else
- pushdecl_class_level (new);
- closed_envelopes = TREE_CHAIN (closed_envelopes);
- }
-
/* Undo the call to maybe_push_cache_obstack above. */
pop_obstacks ();
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 0bbb119..c0716d6 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -1295,7 +1295,7 @@ begin_class_definition (t)
&& TYPE_CONTEXT (t) && TYPE_P (TYPE_CONTEXT (t))
&& ! current_class_type)
push_template_decl (TYPE_STUB_DECL (t));
- pushclass (t, 0);
+ pushclass (t, 1);
TYPE_BEING_DEFINED (t) = 1;
/* Reset the interface data, at the earliest possible
moment, as it might have been set via a class foo;
@@ -1419,6 +1419,10 @@ finish_member_declaration (decl)
TREE_CHAIN (decl) = TYPE_FIELDS (current_class_type);
TYPE_FIELDS (current_class_type) = decl;
}
+
+ /* Enter the DECL into the scope of the class. */
+ if (TREE_CODE (decl) != USING_DECL)
+ pushdecl_class_level (decl);
}
}
diff --git a/gcc/cp/tinfo.h b/gcc/cp/tinfo.h
index 2601ce2..e0b9eec 100644
--- a/gcc/cp/tinfo.h
+++ b/gcc/cp/tinfo.h
@@ -40,7 +40,7 @@ struct __class_type_info : public __user_type_info {
const __user_type_info *base;
USItype offset: 29;
bool is_virtual: 1;
- access access: 2;
+ enum access access: 2;
};
const base_info *base_list;
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 77cdf05..6016d91 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -2191,7 +2191,7 @@ build_component_ref (datum, component, basetype_path, protect)
}
ref = build (COMPONENT_REF, unknown_type_node,
- datum, fndecls);
+ datum, TREE_VALUE (fndecls));
return ref;
}
@@ -2616,6 +2616,8 @@ build_x_function_call (function, params, decl)
&& current_class_type != NULL_TREE
&& (IDENTIFIER_CLASS_VALUE (TREE_PURPOSE (function))
== function))
+ || (TREE_CODE (function) == OVERLOAD
+ && DECL_FUNCTION_MEMBER_P (OVL_CURRENT (function)))
|| TREE_CODE (function) == IDENTIFIER_NODE
|| TREE_CODE (type) == METHOD_TYPE
|| TYPE_PTRMEMFUNC_P (type));
@@ -2629,6 +2631,9 @@ build_x_function_call (function, params, decl)
{
tree basetype = NULL_TREE;
+ if (TREE_CODE (function) == OVERLOAD)
+ function = OVL_CURRENT (function);
+
if (TREE_CODE (function) == FUNCTION_DECL
|| DECL_FUNCTION_TEMPLATE_P (function))
{
@@ -2700,7 +2705,14 @@ build_x_function_call (function, params, decl)
/* Undo what we did in build_component_ref. */
decl = TREE_OPERAND (function, 0);
function = TREE_OPERAND (function, 1);
- function = DECL_NAME (OVL_CURRENT (TREE_VALUE (function)));
+ function = DECL_NAME (OVL_CURRENT (function));
+
+ if (template_id)
+ {
+ TREE_OPERAND (template_id, 0) = function;
+ function = template_id;
+ }
+
return build_method_call (decl, function, params,
NULL_TREE, LOOKUP_NORMAL);
}