From: Matthias Kramm Date: Sat, 11 Apr 2009 16:05:01 +0000 (+0200) Subject: as3: improved inner function handling, factor static class code into class initializa... X-Git-Tag: release-0-9-0~9 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=8384058f169f17c67c30f29aa30a285ed1e36b1b as3: improved inner function handling, factor static class code into class initialization order --- diff --git a/lib/as3/err/innerfunctionassign.as b/lib/as3/err/innerfunctionassign.as new file mode 100644 index 0000000..acc59ad --- /dev/null +++ b/lib/as3/err/innerfunctionassign.as @@ -0,0 +1,22 @@ +package { + import flash.display.MovieClip + import flash.events.Event + + public class Main extends flash.display.MovieClip { + + /* this test is just to showcase a problem with slotted functions + in conjunction with inner function assignment. + What (I think) the compiler should do is just to prevent inner + functions from being assigned. */ + public function Main() { + function f0() { + trace("error"); + } + f0 = function(s:String) { + trace(s); + } + f0("ok 1/2"); + function() {f0("ok 2/2");}() + } + } +} diff --git a/lib/as3/initcode.c b/lib/as3/initcode.c index 9bb4ffc..ad2dbc0 100644 --- a/lib/as3/initcode.c +++ b/lib/as3/initcode.c @@ -1,78 +1,144 @@ +#include +#include "../q.h" #include "abc.h" #include "code.h" +#include "common.h" #include "registry.h" #include "initcode.h" -int compare_lists(const void *_v1, const void *_v2) +int compare_parsedclass(const void *_v1, const void *_v2) { - classinfo_t**v1 = *(classinfo_t***)_v1; - classinfo_t**v2 = *(classinfo_t***)_v2; - parsedclass_t*p1 = **(parsedclass_t***)_v1; - parsedclass_t*p2 = **(parsedclass_t***)_v2; + parsedclass_t*p1 = *(parsedclass_t**)_v1; + parsedclass_t*p2 = *(parsedclass_t**)_v2; if((p1->cls->flags^p2->cls->flags)&FLAG_INTERFACE) { return (int)(p2->cls->flags&FLAG_INTERFACE) - (int)(p1->cls->flags&FLAG_INTERFACE); } - do { - v1++;v2++; - if(*v1<*v2) return -1; - else if(*v1>*v2) return 1; - } while(*v1 && *v2); + classinfo_t*c2 = dict_lookup(&p1->parents, p2); + classinfo_t*c1 = dict_lookup(&p2->parents, p1); + assert(!c1 || !c2); // otherwise we would have a loop + assert(!c1 || c1==p1->cls); + assert(!c2 || c2==p2->cls); + if(c1) { + return -1; + } + if(c2) { + return 1; + } + + c2 = dict_lookup(&p1->usedclasses_deep, p2); + c1 = dict_lookup(&p2->usedclasses_deep, p1); + assert(!c1 || !c2); + assert(!c1 || c1==p1->cls); + assert(!c2 || c2==p2->cls); + if(c1) { + return -1; + } + if(c2) { + return 1; + } return 0; } +void add_parent(parsedclass_t*p, classinfo_t*c, dict_t*s2p, char soft) +{ + dict_t*parents = soft?(&p->usedclasses_deep):(&p->parents); + int t; + if(dict_contains(parents, p)) { + if(soft) { + as3_warning("circular reference: class %s references self (through static code)", p->cls->name); + return; + } else { + syntaxerror("circular reference: class %s references self", p->cls->name); + } + } + + if(c) { + parsedclass_t*n = dict_lookup(s2p, c); + if(n && !dict_contains(parents, n)) { + assert(n->cls == c); + dict_put(parents, n, c); + } + } else { + c = p->cls; + } + + if(soft && dict_contains(s2p, c)) { + parsedclass_t*pp = dict_lookup(s2p, c); + DICT_ITERATE_KEY(&pp->usedclasses, classinfo_t*, cc) { + add_parent(p, cc, s2p, soft); + } + } + if(c->superclass) { + add_parent(p, c->superclass, s2p, soft); + } + for(t=0;c->interfaces[t];t++) { + add_parent(p, c->interfaces[t], s2p, soft); + } +} + +parsedclass_t* parsedclass_new(classinfo_t*cls, abc_class_t*abc) +{ + NEW(parsedclass_t,p); + p->cls = cls; + p->abc = abc; + dict_init2(&p->parents, &ptr_type, 1); + dict_init2(&p->usedclasses, &ptr_type, 1); + dict_init2(&p->usedclasses_deep, &ptr_type, 1); + return p; +} + /* sort classes so that (a) interfaces appear before classes (b) base classes always appear before their subclasses - (c) neighboring elements have similar scope stacks - - Notice: we don't yet handle multiple inheritance (in interfaces) correctly. + (c) classes appear after the classes they use in static code */ parsedclass_t** initcode_sort_classlist(parsedclass_list_t*classes) { - /* count classes */ + dict_t* s2p = dict_new2(&ptr_type); + + /* create hash tables */ int count = 0; parsedclass_list_t*l; for(l=classes;l;l=l->next) { + dict_put(s2p, l->parsedclass->cls, l->parsedclass); count++; } - void***list = malloc(sizeof(void**)*count); + for(l=classes;l;l=l->next) { + add_parent(l->parsedclass, 0, s2p, 0); + DICT_ITERATE_KEY(&l->parsedclass->usedclasses, classinfo_t*, c) { + add_parent(l->parsedclass, c, s2p, 1); + } + } + + parsedclass_t**list = malloc(sizeof(parsedclass_t*)*count); /* build an array for each class */ int i = 0; for(l=classes;l;l=l->next) { - classinfo_t*cls = l->parsedclass->cls; - int len=0; - classinfo_t*c=cls; - while(c) { - len ++; - c = c->flags&FLAG_INTERFACE?c->interfaces[0]:c->superclass; - } - void**a = (void**)malloc(sizeof(void*)*(len+2)); - a[0] = l->parsedclass; - a[len+1] = 0; - int t=len; - c = cls; - while(c) { - len ++; - a[t--] = c; - c = c->flags&FLAG_INTERFACE?c->interfaces[0]:c->superclass; - } - list[i++] = a; + list[i++] = l->parsedclass; } /* sort and flatten */ - qsort(list, count, sizeof(void**), compare_lists); + qsort(list, count, sizeof(void**), compare_parsedclass); parsedclass_t**list2 = malloc(sizeof(parsedclass_t*)*(count+1)); for(i=0;iusedclasses, c)) { + dict_put(&p->usedclasses, c, c); + } +} + void initcode_add_classlist(abc_script_t*init, parsedclass_list_t*_classes) { code_t*c = 0; @@ -94,6 +160,10 @@ void initcode_add_classlist(abc_script_t*init, parsedclass_list_t*_classes) MULTINAME(classname2,cls); trait_t*trait = abc_initscript_addClassTrait(init, &classname2, abc); + c = abc_findpropstrict(c, "trace"); + c = abc_pushstring(c, allocprintf("initialize class %s", cls->name)); + c = abc_callpropvoid(c, "trace", 1); + c = abc_getglobalscope(c); classinfo_t*s = cls->superclass; diff --git a/lib/as3/initcode.h b/lib/as3/initcode.h index 8a81699..9c8aec2 100644 --- a/lib/as3/initcode.h +++ b/lib/as3/initcode.h @@ -8,9 +8,14 @@ DECLARE(parsedclass); DECLARE_LIST(parsedclass); struct _parsedclass { classinfo_t*cls; + dict_t parents; + dict_t usedclasses_deep; + dict_t usedclasses; abc_class_t*abc; }; void initcode_add_classlist(abc_script_t*init, parsedclass_list_t*classes); +parsedclass_t* parsedclass_new(classinfo_t*c, abc_class_t*abc); +void parsedclass_add_dependency(parsedclass_t*p, classinfo_t*c); #endif diff --git a/lib/as3/ok/arguments.as b/lib/as3/ok/arguments.as index 824a629..217e5c0 100644 --- a/lib/as3/ok/arguments.as +++ b/lib/as3/ok/arguments.as @@ -56,6 +56,7 @@ package { test_innerfunction(); test_innerslotfunction(); test_slottedfunction("ok 7/8", "ok 8/8"); + trace("[exit]"); } } } diff --git a/lib/as3/ok/classorder.as b/lib/as3/ok/classorder.as index 0507146..6f5cd37 100644 --- a/lib/as3/ok/classorder.as +++ b/lib/as3/ok/classorder.as @@ -27,6 +27,8 @@ package { public class Main extends MovieClip { function Main() { var c:C9 = new C9; + trace("ok"); + trace("[exit]"); } } } diff --git a/lib/as3/ok/classorder2.as b/lib/as3/ok/classorder2.as new file mode 100644 index 0000000..e781e01 --- /dev/null +++ b/lib/as3/ok/classorder2.as @@ -0,0 +1,35 @@ +package { + + public class E { + } + + public class A extends E { + static var x = D.d(); + trace("ok 4/4"); + } + public class B { + static var x = C.c(); + trace("ok 2/4"); + static function b() { + } + } + public class C extends E { + trace("ok 1/4"); + static function c() { + } + } + public class D { + static var x = C.c(); + trace("ok 3/4"); + if(B.b) {} + static function d() { + } + } + + import flash.display.MovieClip; + public class Main extends MovieClip { + function Main() { + trace("[exit]"); + } + } +} diff --git a/lib/as3/ok/innerfunction.as b/lib/as3/ok/innerfunction.as index c56ccbd..848a0e2 100644 --- a/lib/as3/ok/innerfunction.as +++ b/lib/as3/ok/innerfunction.as @@ -4,9 +4,8 @@ package { public class Main extends flash.display.MovieClip { - public function test1() + public function test1(y:int, ...rest) { - var y:int = 0; var a:Array = [null]; a[0] = function() { y = y + 1; @@ -16,9 +15,8 @@ package { if(y!=2) trace("error") else trace("ok 1/2"); } - public function test2() + public function test2(y:uint) { - var y:uint = 0; var inc_y = function() { y = y + 1; } @@ -31,8 +29,8 @@ package { } public function Main() { - this.test1() - this.test2() + this.test1(0,5) + this.test2(0) trace("[exit]"); } } diff --git a/lib/as3/ok/innerfunctionnest.as b/lib/as3/ok/innerfunctionnest.as new file mode 100644 index 0000000..2750c32 --- /dev/null +++ b/lib/as3/ok/innerfunctionnest.as @@ -0,0 +1,35 @@ +package { + import flash.display.MovieClip + import flash.events.Event + + public class Main extends flash.display.MovieClip { + public function Main() { + var x:int=0; + var f1ok:Boolean = false; + var f2ok:Boolean = false; + var f3ok:Boolean = false; + f1(1); + function f1(level:int) { + var y:int = 0; + f2(level+1); + x = y; + f1ok = true; + function f2(level:int) { + var z:int = 0; + f3(level+1); + y = z; + f2ok = true; + function f3(level:int) { + if(level==3) + trace("ok"); + z = 4; + f3ok = true; + } + } + } + if(x!=4 || !f1ok || !f2ok || !f3ok) + trace("error"); + trace("[exit]"); + } + } +} diff --git a/lib/as3/ok/nested_functions.as b/lib/as3/ok/nested_functions.as index 041d123..d7796dc 100644 --- a/lib/as3/ok/nested_functions.as +++ b/lib/as3/ok/nested_functions.as @@ -5,10 +5,11 @@ package { public class Main extends flash.display.MovieClip { static public var ok:String = "ok"; - public function Main() { + function test(x,y) + { trace("ok 1/5") - var x = msg(2, 5) - var y = msg(3, 5) + x = msg(2, 5) + y = msg(3, 5) trace(x); trace(y); @@ -30,5 +31,9 @@ package { trace("[exit]"); } + + public function Main() { + test(3,4); + } } } diff --git a/lib/as3/ok/resolve.as b/lib/as3/ok/resolve.as index be8b2a9..409878c 100644 --- a/lib/as3/ok/resolve.as +++ b/lib/as3/ok/resolve.as @@ -23,6 +23,7 @@ package { public class Main extends flash.display.MovieClip { function Main() { trace((new B()).f()); + trace("[exit]"); } } diff --git a/lib/as3/parser.tab.c b/lib/as3/parser.tab.c index b67e11b..3afe47d 100644 --- a/lib/as3/parser.tab.c +++ b/lib/as3/parser.tab.c @@ -185,53 +185,54 @@ extern int a3_lex(); KW_NUMBER = 315, KW_STRING = 316, KW_DEFAULT = 317, - KW_DELETE = 318, - KW_IF = 319, - KW_ELSE = 320, - KW_BREAK = 321, - KW_IS = 322, - KW_IN = 323, - KW_AS = 324, - T_DICTSTART = 325, - T_EQEQ = 326, - T_EQEQEQ = 327, - T_NE = 328, - T_NEE = 329, - T_LE = 330, - T_GE = 331, - T_ORBY = 332, - T_DIVBY = 333, - T_MODBY = 334, - T_MULBY = 335, - T_ANDBY = 336, - T_PLUSBY = 337, - T_MINUSBY = 338, - T_XORBY = 339, - T_SHRBY = 340, - T_SHLBY = 341, - T_USHRBY = 342, - T_OROR = 343, - T_ANDAND = 344, - T_COLONCOLON = 345, - T_MINUSMINUS = 346, - T_PLUSPLUS = 347, - T_DOTDOT = 348, - T_DOTDOTDOT = 349, - T_SHL = 350, - T_USHR = 351, - T_SHR = 352, - prec_none = 353, - below_semicolon = 354, - below_assignment = 355, - below_lt = 356, - below_minus = 357, - minusminus_prefix = 358, - plusplus_prefix = 359, - below_curly = 360, - new2 = 361, - above_identifier = 362, - below_else = 363, - above_function = 364 + KW_DEFAULT_XML = 318, + KW_DELETE = 319, + KW_IF = 320, + KW_ELSE = 321, + KW_BREAK = 322, + KW_IS = 323, + KW_IN = 324, + KW_AS = 325, + T_DICTSTART = 326, + T_EQEQ = 327, + T_EQEQEQ = 328, + T_NE = 329, + T_NEE = 330, + T_LE = 331, + T_GE = 332, + T_ORBY = 333, + T_DIVBY = 334, + T_MODBY = 335, + T_MULBY = 336, + T_ANDBY = 337, + T_PLUSBY = 338, + T_MINUSBY = 339, + T_XORBY = 340, + T_SHRBY = 341, + T_SHLBY = 342, + T_USHRBY = 343, + T_OROR = 344, + T_ANDAND = 345, + T_COLONCOLON = 346, + T_MINUSMINUS = 347, + T_PLUSPLUS = 348, + T_DOTDOT = 349, + T_DOTDOTDOT = 350, + T_SHL = 351, + T_USHR = 352, + T_SHR = 353, + prec_none = 354, + below_semicolon = 355, + below_assignment = 356, + below_lt = 357, + below_minus = 358, + minusminus_prefix = 359, + plusplus_prefix = 360, + below_curly = 361, + new2 = 362, + above_identifier = 363, + below_else = 364, + above_function = 365 }; #endif @@ -280,7 +281,7 @@ tokenunion /* Line 223 of skeleton.m4 */ -#line 284 "parser.tab.c" +#line 285 "parser.tab.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -291,7 +292,7 @@ tokenunion /* Copy the second part of user declarations. */ /* Line 273 of skeleton.m4 */ -#line 274 "parser.y" +#line 275 "parser.y" static int a3_error(char*s) @@ -348,6 +349,7 @@ typedef struct _classstate { methodstate_t*static_init; //code_t*init; //code_t*static_init; + parsedclass_t*dependencies; char has_constructor; } classstate_t; @@ -704,8 +706,10 @@ static variable_t* new_variable2(const char*name, classinfo_t*type, char init, c { if(maybeslot) { variable_t*v = find_slot(state, name); - if(v) + if(v) { + alloc_local(); return v; + } } NEW(variable_t, v); @@ -745,16 +749,13 @@ static code_t* var_block(code_t*body) int t; int num=0; for(t=0;tvars->hashsize;t++) { - dictentry_t*e = state->vars->slots[t]; - while(e) { - variable_t*v = (variable_t*)e->data; + DICT_ITERATE_DATA(state->vars, variable_t*, v) { if(v->type && v->init) { c = defaultvalue(c, v->type); c = abc_setlocal(c, v->index); k = abc_kill(k, v->index); num++; } - e = e->next; } } @@ -937,6 +938,21 @@ static memberinfo_t* findmember_nsset(classinfo_t*cls, const char*name, char rec return registry_findmember_nsset(cls, state->active_namespace_urls, name, recurse); } +static void innerfunctions2vars(methodstate_t*m) +{ + methodstate_list_t*l = m->innerfunctions; + while(l) { + methodstate_t*m = l->methodstate; + + variable_t* v = new_variable2(m->info->name, TYPE_FUNCTION(m->info), 0, 0); + m->var_index = v->index; + if(m->is_a_slot) + m->slot_index = m->is_a_slot; + v->is_inner_method = m; + l = l->next; + } +} + static void function_initvars(methodstate_t*m, char has_params, params_t*params, int flags, char var0) { if(var0) { @@ -956,46 +972,29 @@ static void function_initvars(methodstate_t*m, char has_params, params_t*params, variable_t*v = new_variable2(p->param->name, p->param->type, 0, 1); v->is_parameter = 1; } - variable_t*v = new_variable2("arguments", TYPE_ARRAY, 0, 0); if(as3_pass==2 && m->need_arguments) { + /* arguments can never be used by an innerfunction (the inner functions + have their own arguments var), so it's ok to not initialize this until + pass 2. (We don't know whether we need it before, anyway) */ + variable_t*v = new_variable2("arguments", TYPE_ARRAY, 0, 0); m->need_arguments = v->index; } } - if(m->uses_slots) { - /* as variables and slots share the same number, make sure - that those variable indices are reserved. It's up to the - optimizer to later shuffle the variables down to lower - indices */ - m->variable_count = m->uses_slots; - } - - - methodstate_list_t*l = m->innerfunctions; - while(l) { - methodstate_t*m = l->methodstate; - - variable_t* v = new_variable2(m->info->name, TYPE_FUNCTION(m->info), 0, 1); - m->var_index = v->index; - m->slot_index = v->index; - v->is_inner_method = m; - - l = l->next; - } + innerfunctions2vars(m); if(as3_pass==2) { m->scope_code = add_scope_code(m->scope_code, m, 0); - } - - if(as3_pass==2 && m->slots) { - /* exchange unresolved identifiers with the actual objects */ - DICT_ITERATE_ITEMS(m->slots, char*, name, variable_t*, v) { - if(v->type && v->type->kind == INFOTYPE_UNRESOLVED) { - classinfo_t*type = (classinfo_t*)registry_resolve((slotinfo_t*)v->type); - if(!type || type->kind != INFOTYPE_CLASS) { - syntaxerror("Couldn't find class %s::%s (%s)", v->type->package, v->type->name, name); + if(m->slots) { + /* exchange unresolved identifiers with the actual objects */ + DICT_ITERATE_ITEMS(m->slots, char*, name, variable_t*, v) { + if(v->type && v->type->kind == INFOTYPE_UNRESOLVED) { + classinfo_t*type = (classinfo_t*)registry_resolve((slotinfo_t*)v->type); + if(!type || type->kind != INFOTYPE_CLASS) { + syntaxerror("Couldn't find class %s::%s (%s)", v->type->package, v->type->name, name); + } + v->type = type; } - v->type = type; } } } @@ -1019,7 +1018,7 @@ static void startclass(modifiers_t* mod, char*classname, classinfo_t*extends, cl if((mod->flags&(FLAG_PUBLIC|FLAG_PACKAGEINTERNAL)) == (FLAG_PUBLIC|FLAG_PACKAGEINTERNAL)) syntaxerror("public and internal not supported at the same time."); - if((mod->flags&(FLAG_PROTECTED)) == (FLAG_STATIC)) + if((mod->flags&(FLAG_PROTECTED|FLAG_STATIC)) == (FLAG_PROTECTED|FLAG_STATIC)) syntaxerror("protected and static not supported at the same time."); //if(!(mod->flags&FLAG_INTERFACE) && !extends) { @@ -1115,10 +1114,8 @@ static void startclass(modifiers_t* mod, char*classname, classinfo_t*extends, cl abc_class_add_interface(state->cls->abc, &m); } - NEW(parsedclass_t,p); - p->cls = state->cls->info; - p->abc = state->cls->abc; - list_append(global->classes, p); + state->cls->dependencies = parsedclass_new(state->cls->info, state->cls->abc); + list_append(global->classes, state->cls->dependencies); /* flash.display.MovieClip handling */ if(!as3_globalclass && (mod->flags&FLAG_PUBLIC) && slotinfo_equals((slotinfo_t*)registry_getMovieClip(),(slotinfo_t*)extends)) { @@ -1334,6 +1331,7 @@ static void innerfunction(char*name, params_t*params, classinfo_t*return_type) if(as3_pass == 1) { state->method = rfx_calloc(sizeof(methodstate_t)); state->method->inner = 1; + state->method->is_static = parent_method->is_static; state->method->variable_count = 0; state->method->abc = rfx_calloc(sizeof(abc_method_t)); @@ -1414,8 +1412,7 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* params_t*params, classinfo_t*return_type, code_t*body) { if(as3_pass==1) { - // store inner methods in variables - function_initvars(state->method, 0, 0, 0, 0); + innerfunctions2vars(state->method); methodstate_list_t*ml = state->method->innerfunctions; @@ -1427,23 +1424,16 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* if(m->unresolved_variables) { dict_t*d = m->unresolved_variables; int t; - for(t=0;thashsize;t++) { - dictentry_t*l = d->slots[t]; - while(l) { - /* check parent method's variables */ - variable_t*v; - if((v=find_variable(state, l->key))) { - m->uses_parent_function = 1; - state->method->uses_slots = 1; - dict_put(xvars, l->key, 0); - } - l = l->next; + DICT_ITERATE_KEY(d, char*, id) { + /* check parent method's variables */ + variable_t*v; + if((v=find_variable(state, id))) { + m->uses_parent_function = 1; + state->method->uses_slots = 1; + dict_put(xvars, id, 0); } - if(l) break; } - - dict_destroy(m->unresolved_variables); - m->unresolved_variables = 0; + dict_destroy(m->unresolved_variables);m->unresolved_variables = 0; } ml = ml->next; } @@ -1455,11 +1445,11 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* if(!name) syntaxerror("internal error"); if(v->index && dict_contains(xvars, name)) { v->init = 0; - v->index = i++; + v->index = i; if(v->is_inner_method) { - v->is_inner_method->is_a_slot = 1; + v->is_inner_method->is_a_slot = i; } - //v->type = 0; + i++; dict_put(state->method->slots, name, v); } } @@ -1523,7 +1513,7 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* check_constant_against_type(p->param->type, p->param->value); opt=1;list_append(f->optional_parameters, p->param->value); } else if(opt) { - syntaxerror("non-optional parameter not allowed after optional parameters"); + syntaxerror("function %s: non-optional parameter not allowed after optional parameters", name); } } if(state->method->slots) { @@ -1738,6 +1728,7 @@ typedcode_t push_class(slotinfo_t*a) infotypename(a), a->name, a->package, state->package); } + if(a->kind != INFOTYPE_CLASS) { MULTINAME(m, a); x.c = abc_findpropstrict2(x.c, &m); @@ -1749,7 +1740,13 @@ typedcode_t push_class(slotinfo_t*a) varinfo_t*v = (varinfo_t*)a; x.t = v->type; } + return x; } else { + if(state->cls && state->method == state->cls->static_init) { + /* we're in the static initializer. + record the fact that we're using this class here */ + parsedclass_add_dependency(state->cls->dependencies, (classinfo_t*)a); + } classinfo_t*c = (classinfo_t*)a; //if(c->slot) { if(0) { //Error #1026: Slot 1 exceeds slotCount=0 of global @@ -1905,11 +1902,11 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 273 of skeleton.m4 */ -#line 1909 "parser.tab.c" +#line 1906 "parser.tab.c" /* Unqualified %code blocks. */ /* Line 274 of skeleton.m4 */ -#line 1985 "parser.y" +#line 1983 "parser.y" char is_subtype_of(classinfo_t*type, classinfo_t*supertype) { @@ -1918,7 +1915,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2434 "parser.y" +#line 2433 "parser.y" static void state_has_imports() { @@ -1941,7 +1938,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2567 "parser.y" +#line 2566 "parser.y" static int slotstate_varconst = 0; static modifiers_t*slotstate_flags = 0; @@ -1998,13 +1995,13 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2747 "parser.y" +#line 2746 "parser.y" static int xml_level = 0; /* Line 274 of skeleton.m4 */ -#line 3519 "parser.y" +#line 3525 "parser.y" node_t* resolve_identifier(char*name) { @@ -2121,7 +2118,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 3661 "parser.y" +#line 3667 "parser.y" void add_active_url(const char*url) { @@ -2133,7 +2130,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2137 "parser.tab.c" +#line 2134 "parser.tab.c" #ifdef short # undef short @@ -2346,22 +2343,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 157 +#define YYFINAL 161 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3397 +#define YYLAST 3421 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 135 +#define YYNTOKENS 136 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 134 +#define YYNNTS 135 /* YYNRULES -- Number of rules. */ -#define YYNRULES 347 +#define YYNRULES 351 /* YYNRULES -- Number of states. */ -#define YYNSTATES 591 +#define YYNSTATES 598 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 364 +#define YYMAXUTOK 365 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -2372,16 +2369,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 119, 2, 2, 2, 117, 108, 2, - 123, 134, 116, 114, 101, 113, 128, 115, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 105, 100, - 110, 103, 111, 104, 129, 2, 2, 2, 2, 2, + 2, 2, 2, 120, 2, 2, 2, 118, 109, 2, + 124, 135, 117, 115, 102, 114, 129, 116, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 106, 101, + 111, 104, 112, 105, 130, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 125, 2, 126, 107, 2, 2, 2, 2, 2, + 2, 126, 2, 127, 108, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 127, 106, 133, 118, 2, 2, 2, + 2, 2, 2, 128, 107, 134, 119, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -2404,8 +2401,8 @@ static const yytype_uint8 yytranslate[] = 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 102, 109, 112, 120, 121, - 122, 124, 130, 131, 132 + 95, 96, 97, 98, 99, 100, 103, 110, 113, 121, + 122, 123, 125, 131, 132, 133 }; #if YYDEBUG @@ -2417,188 +2414,191 @@ static const yytype_uint16 yyprhs[] = 19, 21, 23, 25, 30, 32, 33, 35, 37, 40, 42, 44, 46, 48, 50, 55, 57, 59, 60, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, - 85, 87, 89, 93, 96, 98, 100, 102, 104, 106, - 108, 110, 115, 118, 120, 122, 126, 129, 130, 133, - 136, 138, 142, 146, 147, 150, 151, 159, 160, 162, - 164, 168, 170, 173, 177, 186, 193, 194, 201, 202, - 210, 212, 215, 217, 220, 221, 223, 225, 228, 230, - 233, 238, 242, 243, 252, 253, 263, 264, 270, 272, - 275, 277, 280, 282, 283, 290, 293, 295, 300, 303, - 305, 307, 309, 313, 315, 316, 323, 324, 330, 333, - 338, 339, 341, 343, 346, 348, 350, 352, 354, 356, - 358, 360, 362, 364, 366, 367, 370, 371, 374, 375, - 378, 379, 389, 390, 399, 400, 402, 404, 407, 409, - 414, 416, 418, 420, 421, 423, 425, 428, 430, 433, - 442, 444, 446, 447, 452, 454, 458, 462, 463, 466, - 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, - 488, 490, 491, 492, 497, 498, 503, 504, 507, 510, - 513, 516, 520, 522, 524, 535, 542, 554, 555, 557, - 559, 562, 564, 568, 572, 576, 580, 581, 583, 586, - 591, 595, 597, 602, 605, 607, 609, 610, 611, 624, - 626, 627, 628, 639, 641, 645, 647, 649, 651, 655, - 657, 659, 661, 664, 665, 666, 670, 671, 673, 675, - 677, 680, 683, 684, 689, 694, 699, 702, 704, 707, - 709, 711, 713, 717, 719, 723, 724, 726, 728, 730, - 732, 734, 736, 740, 746, 748, 750, 752, 754, 756, - 758, 760, 762, 764, 766, 770, 774, 778, 782, 786, - 790, 794, 798, 802, 806, 810, 814, 817, 820, 824, - 828, 832, 836, 840, 844, 848, 852, 856, 860, 864, - 868, 872, 876, 880, 885, 888, 890, 894, 897, 902, - 906, 910, 914, 918, 922, 926, 930, 934, 938, 942, - 946, 950, 956, 959, 962, 965, 968, 972, 975, 976, - 983, 985, 987, 989, 991, 997, 1001, 1007, 1012, 1017, - 1024, 1031, 1035, 1037, 1040, 1045, 1050, 1053 + 85, 87, 89, 91, 95, 98, 100, 102, 104, 106, + 108, 110, 112, 117, 120, 122, 124, 128, 131, 132, + 135, 138, 140, 144, 148, 149, 152, 153, 161, 162, + 164, 166, 170, 172, 175, 179, 188, 195, 196, 203, + 204, 212, 214, 217, 219, 222, 223, 225, 227, 230, + 232, 235, 240, 244, 245, 254, 255, 265, 266, 272, + 274, 277, 279, 282, 284, 285, 292, 295, 297, 302, + 305, 307, 309, 311, 313, 317, 319, 320, 327, 328, + 334, 337, 342, 343, 345, 347, 350, 352, 354, 356, + 358, 360, 362, 364, 366, 368, 370, 371, 374, 375, + 378, 379, 382, 383, 393, 394, 403, 404, 406, 408, + 411, 413, 418, 420, 422, 424, 425, 427, 429, 432, + 434, 437, 446, 448, 450, 451, 456, 458, 462, 466, + 467, 470, 472, 474, 476, 478, 480, 482, 484, 486, + 488, 490, 492, 494, 495, 496, 501, 502, 507, 508, + 511, 514, 517, 520, 524, 526, 528, 539, 546, 558, + 559, 561, 563, 566, 568, 572, 576, 580, 584, 585, + 587, 590, 595, 599, 601, 606, 609, 611, 613, 614, + 615, 628, 630, 631, 632, 643, 645, 649, 651, 653, + 655, 659, 661, 663, 665, 668, 669, 670, 674, 675, + 677, 679, 681, 684, 687, 688, 693, 698, 703, 706, + 708, 711, 713, 715, 717, 721, 723, 727, 728, 730, + 732, 734, 736, 738, 740, 744, 750, 752, 754, 756, + 758, 760, 762, 764, 766, 768, 770, 774, 778, 782, + 786, 790, 794, 798, 802, 806, 810, 814, 818, 821, + 824, 828, 832, 836, 840, 844, 848, 852, 856, 860, + 864, 868, 872, 876, 880, 884, 889, 892, 894, 898, + 901, 906, 910, 914, 918, 922, 926, 930, 934, 938, + 942, 946, 950, 954, 960, 963, 966, 969, 972, 976, + 979, 980, 987, 989, 991, 993, 995, 997, 1003, 1007, + 1013, 1018, 1023, 1030, 1037, 1041, 1043, 1046, 1051, 1056, + 1059, 1064 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 136, 0, -1, 137, -1, -1, 138, -1, 139, -1, - 138, 139, -1, 187, -1, 199, -1, 197, -1, 233, - -1, 208, -1, 148, -1, 149, 127, 137, 133, -1, - 100, -1, -1, 141, -1, 142, -1, 141, 142, -1, - 199, -1, 197, -1, 233, -1, 208, -1, 148, -1, - 149, 127, 140, 133, -1, 100, -1, 144, -1, -1, - 144, 146, -1, 146, -1, 190, -1, 160, -1, 161, - -1, 162, -1, 164, -1, 172, -1, 155, -1, 184, - -1, 180, -1, 256, -1, 268, -1, 267, -1, 127, - 144, 133, -1, 127, 133, -1, 100, -1, 145, -1, - 151, -1, 166, -1, 167, -1, 252, -1, 182, -1, - 149, 127, 144, 133, -1, 146, 100, -1, 146, -1, - 145, -1, 3, 90, 3, -1, 103, 260, -1, -1, - 46, 152, -1, 32, 152, -1, 153, -1, 152, 101, - 153, -1, 3, 243, 150, -1, -1, 65, 147, -1, - -1, 64, 123, 156, 254, 134, 147, 154, -1, -1, - 151, -1, 256, -1, 46, 3, 243, -1, 3, -1, - 11, 123, -1, 11, 50, 123, -1, 159, 157, 100, - 254, 100, 256, 134, 147, -1, 159, 158, 68, 254, - 134, 147, -1, -1, 12, 123, 163, 254, 134, 147, - -1, -1, 13, 165, 147, 12, 123, 254, 134, -1, - 66, -1, 66, 3, -1, 30, -1, 30, 3, -1, - -1, 169, -1, 171, -1, 169, 171, -1, 170, -1, - 169, 170, -1, 34, 260, 105, 143, -1, 62, 105, - 143, -1, -1, 14, 123, 173, 260, 134, 127, 168, - 133, -1, -1, 33, 123, 3, 243, 134, 175, 127, - 143, 133, -1, -1, 27, 127, 177, 143, 133, -1, - 174, -1, 178, 174, -1, 178, -1, 178, 176, -1, - 176, -1, -1, 52, 127, 181, 143, 133, 179, -1, - 37, 254, -1, 37, -1, 39, 123, 254, 134, -1, - 183, 147, -1, 3, -1, 17, -1, 4, -1, 186, - 128, 185, -1, 185, -1, -1, 17, 186, 127, 188, - 140, 133, -1, -1, 17, 127, 189, 140, 133, -1, - 41, 239, -1, 41, 186, 128, 116, -1, -1, 192, - -1, 193, -1, 192, 193, -1, 20, -1, 21, -1, - 18, -1, 38, -1, 47, -1, 49, -1, 48, -1, - 25, -1, 23, -1, 4, -1, -1, 54, 240, -1, - -1, 54, 241, -1, -1, 15, 241, -1, -1, 191, - 31, 3, 194, 196, 127, 198, 201, 133, -1, -1, - 191, 44, 3, 195, 127, 200, 204, 133, -1, -1, - 202, -1, 203, -1, 202, 203, -1, 100, -1, 149, - 127, 201, 133, -1, 208, -1, 233, -1, 145, -1, - -1, 205, -1, 206, -1, 205, 206, -1, 100, -1, - 46, 3, -1, 191, 26, 232, 3, 123, 229, 134, - 243, -1, 46, -1, 32, -1, -1, 191, 207, 209, - 210, -1, 211, -1, 210, 101, 211, -1, 3, 243, - 150, -1, -1, 103, 260, -1, 8, -1, 9, -1, - 10, -1, 5, -1, 56, -1, 55, -1, 45, -1, - 28, -1, 29, -1, 225, -1, 110, -1, 111, -1, - -1, -1, 127, 260, 219, 133, -1, -1, 127, 260, - 221, 133, -1, -1, 222, 218, -1, 222, 5, -1, - 222, 111, -1, 225, 222, -1, 223, 225, 222, -1, - 3, -1, 220, -1, 215, 224, 226, 216, 222, 110, - 115, 224, 217, 111, -1, 215, 224, 226, 115, 217, - 111, -1, 215, 224, 226, 216, 222, 223, 110, 115, - 224, 217, 111, -1, -1, 227, -1, 228, -1, 227, - 228, -1, 220, -1, 220, 103, 5, -1, 220, 103, - 220, -1, 3, 103, 220, -1, 3, 103, 5, -1, - -1, 230, -1, 94, 231, -1, 230, 101, 94, 231, - -1, 230, 101, 231, -1, 231, -1, 3, 105, 242, - 212, -1, 3, 212, -1, 51, -1, 35, -1, -1, - -1, 191, 26, 232, 3, 123, 229, 134, 243, 127, - 234, 143, 133, -1, 3, -1, -1, -1, 26, 235, - 123, 229, 134, 243, 127, 237, 143, 133, -1, 185, - -1, 186, 128, 185, -1, 239, -1, 238, -1, 240, - -1, 241, 101, 240, -1, 240, -1, 116, -1, 36, - -1, 105, 242, -1, -1, -1, 123, 245, 134, -1, - -1, 246, -1, 247, -1, 253, -1, 246, 101, -1, - 247, 253, -1, -1, 24, 260, 248, 244, -1, 260, - 123, 245, 134, -1, 53, 123, 245, 134, -1, 63, - 260, -1, 42, -1, 42, 254, -1, 260, -1, 255, - -1, 260, -1, 255, 101, 260, -1, 260, -1, 256, - 101, 260, -1, -1, 259, -1, 3, -1, 5, -1, - 8, -1, 9, -1, 10, -1, 258, 105, 253, -1, - 259, 101, 258, 105, 253, -1, 236, -1, 264, -1, - 249, -1, 251, -1, 250, -1, 265, -1, 213, -1, - 214, -1, 6, -1, 19, -1, 125, 245, 126, -1, - 70, 257, 133, -1, 260, 110, 260, -1, 260, 111, - 260, -1, 260, 75, 260, -1, 260, 76, 260, -1, - 260, 71, 260, -1, 260, 72, 260, -1, 260, 74, - 260, -1, 260, 73, 260, -1, 260, 88, 260, -1, - 260, 89, 260, -1, 119, 260, -1, 118, 260, -1, - 260, 108, 260, -1, 260, 107, 260, -1, 260, 106, - 260, -1, 260, 97, 260, -1, 260, 96, 260, -1, - 260, 95, 260, -1, 260, 115, 260, -1, 260, 117, - 260, -1, 260, 114, 260, -1, 260, 113, 260, -1, - 260, 116, 260, -1, 260, 68, 260, -1, 260, 69, - 260, -1, 260, 40, 260, -1, 260, 67, 260, -1, - 43, 123, 260, 134, -1, 36, 260, -1, 36, -1, - 123, 255, 134, -1, 113, 260, -1, 260, 125, 260, - 126, -1, 260, 80, 260, -1, 260, 79, 260, -1, - 260, 86, 260, -1, 260, 85, 260, -1, 260, 87, - 260, -1, 260, 78, 260, -1, 260, 77, 260, -1, - 260, 84, 260, -1, 260, 81, 260, -1, 260, 82, - 260, -1, 260, 83, 260, -1, 260, 103, 260, -1, - 260, 104, 260, 105, 260, -1, 260, 92, -1, 260, - 91, -1, 92, 260, -1, 91, 260, -1, 53, 128, - 3, -1, 129, 3, -1, -1, 260, 128, 123, 261, - 260, 134, -1, 3, -1, 4, -1, 3, -1, 116, - -1, 260, 128, 262, 90, 263, -1, 260, 93, 263, - -1, 260, 128, 125, 260, 126, -1, 260, 128, 129, - 263, -1, 260, 93, 129, 263, -1, 260, 128, 129, - 125, 260, 126, -1, 260, 93, 129, 125, 260, 126, - -1, 260, 128, 263, -1, 3, -1, 16, 3, -1, - 16, 3, 103, 3, -1, 16, 3, 103, 5, -1, - 191, 266, -1, 22, 16, 240, -1 + 137, 0, -1, 138, -1, -1, 139, -1, 140, -1, + 139, 140, -1, 188, -1, 200, -1, 198, -1, 234, + -1, 209, -1, 149, -1, 150, 128, 138, 134, -1, + 101, -1, -1, 142, -1, 143, -1, 142, 143, -1, + 200, -1, 198, -1, 234, -1, 209, -1, 149, -1, + 150, 128, 141, 134, -1, 101, -1, 145, -1, -1, + 145, 147, -1, 147, -1, 269, -1, 191, -1, 161, + -1, 162, -1, 163, -1, 165, -1, 173, -1, 156, + -1, 185, -1, 181, -1, 257, -1, 270, -1, 268, + -1, 128, 145, 134, -1, 128, 134, -1, 101, -1, + 146, -1, 152, -1, 167, -1, 168, -1, 253, -1, + 183, -1, 150, 128, 145, 134, -1, 147, 101, -1, + 147, -1, 146, -1, 3, 91, 3, -1, 104, 261, + -1, -1, 46, 153, -1, 32, 153, -1, 154, -1, + 153, 102, 154, -1, 3, 244, 151, -1, -1, 66, + 148, -1, -1, 65, 124, 157, 255, 135, 148, 155, + -1, -1, 152, -1, 257, -1, 46, 3, 244, -1, + 3, -1, 11, 124, -1, 11, 50, 124, -1, 160, + 158, 101, 255, 101, 257, 135, 148, -1, 160, 159, + 69, 255, 135, 148, -1, -1, 12, 124, 164, 255, + 135, 148, -1, -1, 13, 166, 148, 12, 124, 255, + 135, -1, 67, -1, 67, 3, -1, 30, -1, 30, + 3, -1, -1, 170, -1, 172, -1, 170, 172, -1, + 171, -1, 170, 171, -1, 34, 261, 106, 144, -1, + 62, 106, 144, -1, -1, 14, 124, 174, 261, 135, + 128, 169, 134, -1, -1, 33, 124, 3, 244, 135, + 176, 128, 144, 134, -1, -1, 27, 128, 178, 144, + 134, -1, 175, -1, 179, 175, -1, 179, -1, 179, + 177, -1, 177, -1, -1, 52, 128, 182, 144, 134, + 180, -1, 37, 255, -1, 37, -1, 39, 124, 255, + 135, -1, 184, 148, -1, 3, -1, 17, -1, 16, + -1, 4, -1, 187, 129, 186, -1, 186, -1, -1, + 17, 187, 128, 189, 141, 134, -1, -1, 17, 128, + 190, 141, 134, -1, 41, 240, -1, 41, 187, 129, + 117, -1, -1, 193, -1, 194, -1, 193, 194, -1, + 20, -1, 21, -1, 18, -1, 38, -1, 47, -1, + 49, -1, 48, -1, 25, -1, 23, -1, 4, -1, + -1, 54, 241, -1, -1, 54, 242, -1, -1, 15, + 242, -1, -1, 192, 31, 3, 195, 197, 128, 199, + 202, 134, -1, -1, 192, 44, 3, 196, 128, 201, + 205, 134, -1, -1, 203, -1, 204, -1, 203, 204, + -1, 101, -1, 150, 128, 202, 134, -1, 209, -1, + 234, -1, 146, -1, -1, 206, -1, 207, -1, 206, + 207, -1, 101, -1, 46, 3, -1, 192, 26, 233, + 3, 124, 230, 135, 244, -1, 46, -1, 32, -1, + -1, 192, 208, 210, 211, -1, 212, -1, 211, 102, + 212, -1, 3, 244, 151, -1, -1, 104, 261, -1, + 8, -1, 9, -1, 10, -1, 5, -1, 56, -1, + 55, -1, 45, -1, 28, -1, 29, -1, 226, -1, + 111, -1, 112, -1, -1, -1, 128, 261, 220, 134, + -1, -1, 128, 261, 222, 134, -1, -1, 223, 219, + -1, 223, 5, -1, 223, 112, -1, 226, 223, -1, + 224, 226, 223, -1, 3, -1, 221, -1, 216, 225, + 227, 217, 223, 111, 116, 225, 218, 112, -1, 216, + 225, 227, 116, 218, 112, -1, 216, 225, 227, 217, + 223, 224, 111, 116, 225, 218, 112, -1, -1, 228, + -1, 229, -1, 228, 229, -1, 221, -1, 221, 104, + 5, -1, 221, 104, 221, -1, 3, 104, 221, -1, + 3, 104, 5, -1, -1, 231, -1, 95, 232, -1, + 231, 102, 95, 232, -1, 231, 102, 232, -1, 232, + -1, 3, 106, 243, 213, -1, 3, 213, -1, 51, + -1, 35, -1, -1, -1, 192, 26, 233, 3, 124, + 230, 135, 244, 128, 235, 144, 134, -1, 3, -1, + -1, -1, 26, 236, 124, 230, 135, 244, 128, 238, + 144, 134, -1, 186, -1, 187, 129, 186, -1, 240, + -1, 239, -1, 241, -1, 242, 102, 241, -1, 241, + -1, 117, -1, 36, -1, 106, 243, -1, -1, -1, + 124, 246, 135, -1, -1, 247, -1, 248, -1, 254, + -1, 247, 102, -1, 248, 254, -1, -1, 24, 261, + 249, 245, -1, 261, 124, 246, 135, -1, 53, 124, + 246, 135, -1, 64, 261, -1, 42, -1, 42, 255, + -1, 261, -1, 256, -1, 261, -1, 256, 102, 261, + -1, 261, -1, 257, 102, 261, -1, -1, 260, -1, + 3, -1, 5, -1, 8, -1, 9, -1, 10, -1, + 259, 106, 254, -1, 260, 102, 259, 106, 254, -1, + 237, -1, 265, -1, 250, -1, 252, -1, 251, -1, + 266, -1, 214, -1, 215, -1, 6, -1, 19, -1, + 126, 246, 127, -1, 71, 258, 134, -1, 261, 111, + 261, -1, 261, 112, 261, -1, 261, 76, 261, -1, + 261, 77, 261, -1, 261, 72, 261, -1, 261, 73, + 261, -1, 261, 75, 261, -1, 261, 74, 261, -1, + 261, 89, 261, -1, 261, 90, 261, -1, 120, 261, + -1, 119, 261, -1, 261, 109, 261, -1, 261, 108, + 261, -1, 261, 107, 261, -1, 261, 98, 261, -1, + 261, 97, 261, -1, 261, 96, 261, -1, 261, 116, + 261, -1, 261, 118, 261, -1, 261, 115, 261, -1, + 261, 114, 261, -1, 261, 117, 261, -1, 261, 69, + 261, -1, 261, 70, 261, -1, 261, 40, 261, -1, + 261, 68, 261, -1, 43, 124, 261, 135, -1, 36, + 261, -1, 36, -1, 124, 256, 135, -1, 114, 261, + -1, 261, 126, 261, 127, -1, 261, 81, 261, -1, + 261, 80, 261, -1, 261, 87, 261, -1, 261, 86, + 261, -1, 261, 88, 261, -1, 261, 79, 261, -1, + 261, 78, 261, -1, 261, 85, 261, -1, 261, 82, + 261, -1, 261, 83, 261, -1, 261, 84, 261, -1, + 261, 104, 261, -1, 261, 105, 261, 106, 261, -1, + 261, 93, -1, 261, 92, -1, 93, 261, -1, 92, + 261, -1, 53, 129, 3, -1, 130, 3, -1, -1, + 261, 129, 124, 262, 261, 135, -1, 3, -1, 117, + -1, 4, -1, 186, -1, 117, -1, 261, 129, 263, + 91, 264, -1, 261, 94, 264, -1, 261, 129, 126, + 261, 127, -1, 261, 129, 130, 264, -1, 261, 94, + 130, 264, -1, 261, 129, 130, 126, 261, 127, -1, + 261, 94, 130, 126, 261, 127, -1, 261, 129, 264, + -1, 3, -1, 16, 3, -1, 16, 3, 104, 3, + -1, 16, 3, 104, 5, -1, 192, 267, -1, 63, + 16, 104, 261, -1, 22, 16, 241, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1890, 1890, 1892, 1892, 1893, 1894, 1896, 1897, 1898, - 1899, 1900, 1901, 1902, 1903, 1905, 1905, 1906, 1907, 1909, - 1910, 1911, 1912, 1913, 1914, 1915, 1917, 1918, 1920, 1923, - 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, - 1936, 1937, 1938, 1939, 1942, 1943, 1944, 1945, 1946, 1947, - 1948, 1949, 1961, 1962, 1966, 1973, 1992, 1993, 1995, 1996, - 1998, 1999, 2001, 2061, 2062, 2065, 2065, 2084, 2085, 2086, - 2091, 2095, 2100, 2101, 2103, 2123, 2171, 2171, 2190, 2190, - 2205, 2208, 2211, 2214, 2218, 2219, 2220, 2221, 2222, 2223, - 2225, 2236, 2239, 2239, 2270, 2270, 2295, 2295, 2311, 2312, - 2313, 2314, 2322, 2331, 2331, 2380, 2384, 2395, 2405, 2422, - 2423, 2424, 2426, 2427, 2429, 2429, 2431, 2431, 2454, 2468, - 2484, 2485, 2486, 2487, 2494, 2495, 2496, 2497, 2498, 2499, - 2500, 2501, 2502, 2503, 2507, 2508, 2510, 2511, 2513, 2514, - 2518, 2516, 2524, 2522, 2531, 2532, 2533, 2534, 2535, 2536, - 2537, 2538, 2540, 2546, 2547, 2548, 2549, 2550, 2551, 2554, - 2622, 2622, 2624, 2624, 2626, 2627, 2629, 2713, 2714, 2723, - 2724, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2751, 2753, - 2754, 2755, 2757, 2757, 2761, 2761, 2765, 2766, 2769, 2770, - 2772, 2773, 2775, 2776, 2778, 2782, 2785, 2790, 2791, 2792, - 2793, 2795, 2798, 2802, 2805, 2808, 2818, 2822, 2828, 2834, - 2842, 2847, 2853, 2861, 2869, 2870, 2871, 2874, 2873, 2890, - 2891, 2893, 2892, 2916, 2935, 2949, 2950, 2952, 2953, 2955, - 2956, 2957, 2966, 2967, 2971, 2972, 2974, 2975, 2976, 2978, - 2982, 2983, 2988, 2989, 3033, 3083, 3104, 3126, 3129, 3136, - 3139, 3142, 3145, 3148, 3151, 3156, 3157, 3159, 3160, 3161, - 3162, 3163, 3165, 3171, 3180, 3181, 3182, 3183, 3184, 3185, - 3187, 3191, 3203, 3221, 3232, 3242, 3251, 3252, 3253, 3254, - 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, - 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, - 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, - 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, - 3295, 3296, 3298, 3299, 3300, 3301, 3303, 3318, 3326, 3326, - 3380, 3381, 3382, 3383, 3385, 3403, 3410, 3421, 3428, 3435, - 3445, 3456, 3634, 3670, 3677, 3684, 3691, 3713 + 0, 1887, 1887, 1889, 1889, 1890, 1891, 1893, 1894, 1895, + 1896, 1897, 1898, 1899, 1900, 1902, 1902, 1903, 1904, 1906, + 1907, 1908, 1909, 1910, 1911, 1912, 1914, 1915, 1917, 1920, + 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, + 1933, 1934, 1935, 1936, 1937, 1940, 1941, 1942, 1943, 1944, + 1945, 1946, 1947, 1959, 1960, 1964, 1971, 1990, 1991, 1993, + 1994, 1996, 1997, 1999, 2059, 2060, 2063, 2063, 2082, 2083, + 2084, 2089, 2093, 2098, 2099, 2101, 2121, 2169, 2169, 2188, + 2188, 2203, 2206, 2209, 2212, 2216, 2217, 2218, 2219, 2220, + 2221, 2223, 2234, 2237, 2237, 2268, 2268, 2293, 2293, 2309, + 2310, 2311, 2312, 2320, 2329, 2329, 2378, 2382, 2393, 2403, + 2420, 2421, 2422, 2423, 2425, 2426, 2428, 2428, 2430, 2430, + 2453, 2467, 2483, 2484, 2485, 2486, 2493, 2494, 2495, 2496, + 2497, 2498, 2499, 2500, 2501, 2502, 2506, 2507, 2509, 2510, + 2512, 2513, 2517, 2515, 2523, 2521, 2530, 2531, 2532, 2533, + 2534, 2535, 2536, 2537, 2539, 2545, 2546, 2547, 2548, 2549, + 2550, 2553, 2621, 2621, 2623, 2623, 2625, 2626, 2628, 2712, + 2713, 2722, 2723, 2726, 2727, 2728, 2729, 2730, 2731, 2732, + 2750, 2752, 2753, 2754, 2756, 2756, 2760, 2760, 2764, 2765, + 2768, 2769, 2771, 2772, 2774, 2775, 2777, 2781, 2784, 2789, + 2790, 2791, 2792, 2794, 2797, 2801, 2804, 2807, 2817, 2821, + 2827, 2833, 2841, 2846, 2852, 2860, 2868, 2869, 2870, 2873, + 2872, 2889, 2890, 2892, 2891, 2915, 2934, 2948, 2949, 2951, + 2952, 2954, 2955, 2956, 2965, 2966, 2970, 2971, 2973, 2974, + 2975, 2977, 2981, 2982, 2987, 2988, 3032, 3082, 3103, 3125, + 3128, 3135, 3138, 3141, 3144, 3147, 3150, 3155, 3156, 3158, + 3159, 3160, 3161, 3162, 3164, 3170, 3179, 3180, 3181, 3182, + 3183, 3184, 3186, 3190, 3202, 3220, 3231, 3241, 3250, 3251, + 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, + 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, + 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, + 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, + 3292, 3293, 3294, 3295, 3297, 3298, 3299, 3300, 3302, 3317, + 3325, 3325, 3379, 3380, 3381, 3382, 3383, 3391, 3409, 3416, + 3427, 3434, 3441, 3451, 3462, 3640, 3676, 3683, 3690, 3697, + 3719, 3724 }; #endif @@ -2619,13 +2619,13 @@ static const char *const yytname[] = "\"interface\"", "\"null\"", "\"var\"", "\"dynamic\"", "\"override\"", "\"final\"", "\"each\"", "\"get\"", "\"try\"", "\"super\"", "\"extends\"", "\"false\"", "\"true\"", "\"Boolean\"", "\"uint\"", - "\"int\"", "\"Number\"", "\"String\"", "\"default\"", "\"delete\"", - "\"if\"", "\"else\"", "\"break\"", "\"is\"", "\"in\"", "\"as\"", - "\"{ (dictionary)\"", "\"==\"", "\"===\"", "\"!=\"", "\"!==\"", "\"<=\"", - "\">=\"", "\"|=\"", "\"/=\"", "\"%=\"", "\"*=\"", "\"&=\"", "\"+=\"", - "\"-=\"", "\"^=\"", "\">>=\"", "\"<<=\"", "\">>>=\"", "\"||\"", "\"&&\"", - "\"::\"", "\"--\"", "\"++\"", "\"..\"", "\"...\"", "\"<<\"", "\">>>\"", - "\">>\"", "prec_none", "below_semicolon", "';'", "','", + "\"int\"", "\"Number\"", "\"String\"", "\"default\"", "\"default xml\"", + "\"delete\"", "\"if\"", "\"else\"", "\"break\"", "\"is\"", "\"in\"", + "\"as\"", "\"{ (dictionary)\"", "\"==\"", "\"===\"", "\"!=\"", "\"!==\"", + "\"<=\"", "\">=\"", "\"|=\"", "\"/=\"", "\"%=\"", "\"*=\"", "\"&=\"", + "\"+=\"", "\"-=\"", "\"^=\"", "\">>=\"", "\"<<=\"", "\">>>=\"", "\"||\"", + "\"&&\"", "\"::\"", "\"--\"", "\"++\"", "\"..\"", "\"...\"", "\"<<\"", + "\">>>\"", "\">>\"", "prec_none", "below_semicolon", "';'", "','", "below_assignment", "'='", "'?'", "':'", "'|'", "'^'", "'&'", "below_lt", "'<'", "'>'", "below_minus", "'-'", "'+'", "'/'", "'*'", "'%'", "'~'", "'!'", "minusminus_prefix", "plusplus_prefix", "below_curly", "'('", @@ -2659,7 +2659,7 @@ static const char *const yytname[] = "COMMA_EXPRESSION", "VOIDEXPRESSION", "MAYBE_DICT_EXPRPAIR_LIST", "DICTLH", "DICT_EXPRPAIR_LIST", "E", "$@17", "ID_OR_NS", "SUBNODE", "MEMBER", "VAR_READ", "NAMESPACE_ID", "NAMESPACE_DECLARATION", - "USE_NAMESPACE", 0 + "DEFAULT_NAMESPACE", "USE_NAMESPACE", 0 }; #endif @@ -2678,51 +2678,52 @@ static const yytype_uint16 yytoknum[] = 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 59, 44, 355, 61, 63, 58, 124, 94, 38, 356, - 60, 62, 357, 45, 43, 47, 42, 37, 126, 33, - 358, 359, 360, 40, 361, 91, 93, 123, 46, 64, - 362, 363, 364, 125, 41 + 355, 59, 44, 356, 61, 63, 58, 124, 94, 38, + 357, 60, 62, 358, 45, 43, 47, 42, 37, 126, + 33, 359, 360, 361, 40, 362, 91, 93, 123, 46, + 64, 363, 364, 365, 125, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 135, 136, 137, 137, 138, 138, 139, 139, 139, - 139, 139, 139, 139, 139, 140, 140, 141, 141, 142, - 142, 142, 142, 142, 142, 142, 143, 143, 144, 144, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 146, 146, 146, 146, 146, 146, - 146, 146, 147, 147, 148, 149, 150, 150, 151, 151, - 152, 152, 153, 154, 154, 156, 155, 157, 157, 157, - 158, 158, 159, 159, 160, 161, 163, 162, 165, 164, - 166, 166, 167, 167, 168, 168, 168, 168, 169, 169, - 170, 171, 173, 172, 175, 174, 177, 176, 178, 178, - 179, 179, 179, 181, 180, 182, 182, 183, 184, 185, - 185, 185, 186, 186, 188, 187, 189, 187, 190, 190, - 191, 191, 192, 192, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 194, 194, 195, 195, 196, 196, - 198, 197, 200, 199, 201, 201, 202, 202, 203, 203, - 203, 203, 203, 204, 204, 205, 205, 206, 206, 206, - 207, 207, 209, 208, 210, 210, 211, 212, 212, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 214, 215, - 216, 217, 219, 218, 221, 220, 222, 222, 222, 222, - 223, 223, 224, 224, 225, 225, 225, 226, 226, 227, - 227, 228, 228, 228, 228, 228, 229, 229, 229, 229, - 230, 230, 231, 231, 232, 232, 232, 234, 233, 235, - 235, 237, 236, 238, 239, 240, 240, 241, 241, 242, - 242, 242, 243, 243, 244, 244, 245, 245, 245, 246, - 247, 246, 248, 249, 250, 250, 251, 252, 252, 253, - 254, 255, 255, 256, 256, 257, 257, 258, 258, 258, - 258, 258, 259, 259, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 261, 260, - 262, 262, 263, 263, 260, 260, 260, 260, 260, 260, - 260, 264, 265, 266, 266, 266, 267, 268 + 0, 136, 137, 138, 138, 139, 139, 140, 140, 140, + 140, 140, 140, 140, 140, 141, 141, 142, 142, 143, + 143, 143, 143, 143, 143, 143, 144, 144, 145, 145, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 147, 147, 147, 147, 147, + 147, 147, 147, 148, 148, 149, 150, 151, 151, 152, + 152, 153, 153, 154, 155, 155, 157, 156, 158, 158, + 158, 159, 159, 160, 160, 161, 162, 164, 163, 166, + 165, 167, 167, 168, 168, 169, 169, 169, 169, 170, + 170, 171, 172, 174, 173, 176, 175, 178, 177, 179, + 179, 180, 180, 180, 182, 181, 183, 183, 184, 185, + 186, 186, 186, 186, 187, 187, 189, 188, 190, 188, + 191, 191, 192, 192, 193, 193, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 195, 195, 196, 196, + 197, 197, 199, 198, 201, 200, 202, 202, 203, 203, + 204, 204, 204, 204, 204, 205, 205, 206, 206, 207, + 207, 207, 208, 208, 210, 209, 211, 211, 212, 213, + 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 215, 216, 217, 218, 220, 219, 222, 221, 223, 223, + 223, 223, 224, 224, 225, 225, 226, 226, 226, 227, + 227, 228, 228, 229, 229, 229, 229, 229, 230, 230, + 230, 230, 231, 231, 232, 232, 233, 233, 233, 235, + 234, 236, 236, 238, 237, 239, 240, 241, 241, 242, + 242, 243, 243, 243, 244, 244, 245, 245, 246, 246, + 246, 247, 248, 247, 249, 250, 251, 251, 252, 253, + 253, 254, 255, 256, 256, 257, 257, 258, 258, 259, + 259, 259, 259, 259, 260, 260, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 262, 261, 263, 263, 263, 264, 264, 261, 261, 261, + 261, 261, 261, 261, 265, 266, 267, 267, 267, 268, + 269, 270 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -2732,37 +2733,38 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 4, 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 4, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 4, 2, 1, 1, 3, 2, 0, 2, 2, - 1, 3, 3, 0, 2, 0, 7, 0, 1, 1, - 3, 1, 2, 3, 8, 6, 0, 6, 0, 7, - 1, 2, 1, 2, 0, 1, 1, 2, 1, 2, - 4, 3, 0, 8, 0, 9, 0, 5, 1, 2, - 1, 2, 1, 0, 6, 2, 1, 4, 2, 1, - 1, 1, 3, 1, 0, 6, 0, 5, 2, 4, - 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 2, 0, 2, 0, 2, - 0, 9, 0, 8, 0, 1, 1, 2, 1, 4, - 1, 1, 1, 0, 1, 1, 2, 1, 2, 8, - 1, 1, 0, 4, 1, 3, 3, 0, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 4, 0, 4, 0, 2, 2, 2, - 2, 3, 1, 1, 10, 6, 11, 0, 1, 1, - 2, 1, 3, 3, 3, 3, 0, 1, 2, 4, - 3, 1, 4, 2, 1, 1, 0, 0, 12, 1, - 0, 0, 10, 1, 3, 1, 1, 1, 3, 1, - 1, 1, 2, 0, 0, 3, 0, 1, 1, 1, - 2, 2, 0, 4, 4, 4, 2, 1, 2, 1, - 1, 1, 3, 1, 3, 0, 1, 1, 1, 1, - 1, 1, 3, 5, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, + 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 4, 2, 1, 1, 3, 2, 0, 2, + 2, 1, 3, 3, 0, 2, 0, 7, 0, 1, + 1, 3, 1, 2, 3, 8, 6, 0, 6, 0, + 7, 1, 2, 1, 2, 0, 1, 1, 2, 1, + 2, 4, 3, 0, 8, 0, 9, 0, 5, 1, + 2, 1, 2, 1, 0, 6, 2, 1, 4, 2, + 1, 1, 1, 1, 3, 1, 0, 6, 0, 5, + 2, 4, 0, 1, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 2, 0, 2, + 0, 2, 0, 9, 0, 8, 0, 1, 1, 2, + 1, 4, 1, 1, 1, 0, 1, 1, 2, 1, + 2, 8, 1, 1, 0, 4, 1, 3, 3, 0, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 4, 0, 4, 0, 2, + 2, 2, 2, 3, 1, 1, 10, 6, 11, 0, + 1, 1, 2, 1, 3, 3, 3, 3, 0, 1, + 2, 4, 3, 1, 4, 2, 1, 1, 0, 0, + 12, 1, 0, 0, 10, 1, 3, 1, 1, 1, + 3, 1, 1, 1, 2, 0, 0, 3, 0, 1, + 1, 1, 2, 2, 0, 4, 4, 4, 2, 1, + 2, 1, 1, 1, 3, 1, 3, 0, 1, 1, + 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 4, 2, 1, 3, 2, 4, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 2, 2, 2, 2, 3, 2, 0, 6, - 1, 1, 1, 1, 5, 3, 5, 4, 4, 6, - 6, 3, 1, 2, 4, 4, 2, 3 + 3, 3, 3, 3, 3, 4, 2, 1, 3, 2, + 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 5, 2, 2, 2, 2, 3, 2, + 0, 6, 1, 1, 1, 1, 1, 5, 3, 5, + 4, 4, 6, 6, 3, 1, 2, 4, 4, 2, + 4, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -2770,864 +2772,870 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 120, 342, 133, 172, 272, 169, 170, 171, 0, 0, - 78, 0, 0, 126, 273, 124, 125, 0, 132, 0, - 131, 220, 176, 177, 305, 127, 0, 0, 0, 175, - 128, 130, 129, 0, 0, 174, 173, 0, 0, 255, - 0, 0, 14, 179, 0, 0, 0, 0, 236, 120, - 0, 0, 2, 120, 5, 54, 12, 0, 36, 67, - 31, 32, 33, 34, 35, 38, 120, 37, 7, 30, - 0, 121, 122, 9, 8, 11, 270, 271, 0, 178, - 10, 264, 266, 268, 267, 39, 253, 265, 269, 41, - 40, 0, 0, 72, 76, 120, 92, 109, 111, 110, - 116, 113, 0, 0, 342, 242, 219, 0, 304, 0, - 0, 118, 0, 103, 236, 0, 246, 65, 257, 258, - 259, 260, 261, 0, 0, 256, 325, 324, 307, 287, - 286, 0, 251, 0, 237, 238, 239, 249, 82, 0, - 106, 247, 0, 80, 44, 43, 120, 45, 29, 0, - 46, 47, 48, 50, 0, 49, 327, 1, 6, 120, - 342, 0, 68, 0, 0, 69, 53, 108, 0, 216, - 0, 161, 0, 160, 162, 346, 123, 192, 0, 193, - 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 323, 322, 0, 0, 0, + 122, 345, 135, 174, 274, 171, 172, 173, 0, 0, + 79, 0, 0, 128, 275, 126, 127, 0, 134, 0, + 133, 222, 178, 179, 307, 129, 0, 0, 0, 177, + 130, 132, 131, 0, 0, 176, 175, 0, 0, 0, + 257, 0, 0, 14, 181, 0, 0, 0, 0, 238, + 122, 0, 0, 2, 122, 5, 55, 12, 0, 37, + 68, 32, 33, 34, 35, 36, 39, 122, 38, 7, + 31, 0, 123, 124, 9, 8, 11, 272, 273, 0, + 180, 10, 266, 268, 270, 269, 40, 255, 267, 271, + 42, 30, 41, 0, 0, 73, 77, 122, 93, 110, + 113, 112, 111, 118, 115, 0, 0, 345, 244, 221, + 0, 306, 0, 0, 120, 0, 104, 238, 0, 0, + 248, 66, 259, 260, 261, 262, 263, 0, 0, 258, + 327, 326, 309, 289, 288, 0, 253, 0, 239, 240, + 241, 251, 83, 0, 107, 249, 0, 81, 45, 44, + 122, 46, 29, 0, 47, 48, 49, 51, 0, 50, + 329, 1, 6, 122, 345, 0, 69, 0, 0, 70, + 54, 109, 0, 218, 0, 163, 0, 162, 164, 349, + 125, 194, 0, 195, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 236, 0, 0, 55, 73, 0, 0, - 0, 120, 114, 0, 223, 0, 226, 225, 347, 234, - 206, 0, 250, 0, 0, 27, 0, 326, 0, 275, - 0, 0, 0, 306, 274, 240, 241, 83, 233, 59, - 60, 105, 248, 58, 81, 42, 28, 120, 0, 233, - 0, 0, 52, 343, 215, 214, 0, 134, 136, 0, - 184, 0, 201, 0, 198, 199, 254, 301, 302, 299, - 300, 280, 281, 283, 282, 278, 279, 315, 314, 310, - 309, 317, 318, 319, 316, 312, 311, 313, 284, 285, - 332, 333, 0, 335, 293, 292, 291, 320, 0, 290, - 289, 288, 276, 277, 297, 296, 294, 298, 295, 0, - 0, 332, 331, 328, 0, 0, 0, 341, 0, 0, - 0, 25, 0, 120, 17, 23, 0, 20, 19, 22, - 21, 120, 112, 0, 236, 243, 167, 0, 0, 207, - 211, 107, 119, 224, 303, 0, 26, 245, 0, 262, - 0, 252, 0, 57, 0, 120, 13, 57, 0, 0, - 0, 0, 0, 138, 0, 0, 233, 163, 164, 0, - 0, 0, 180, 181, 186, 200, 0, 338, 0, 244, - 308, 0, 0, 0, 337, 0, 120, 0, 0, 117, - 18, 120, 0, 0, 0, 0, 213, 208, 233, 0, - 0, 120, 0, 231, 230, 229, 232, 0, 62, 61, - 51, 0, 120, 344, 345, 206, 135, 0, 0, 227, - 137, 142, 57, 0, 185, 205, 204, 202, 203, 0, - 0, 0, 321, 0, 336, 0, 334, 77, 0, 84, - 0, 115, 235, 168, 167, 0, 0, 210, 0, 0, - 98, 102, 100, 104, 63, 263, 56, 0, 75, 0, - 139, 140, 0, 120, 166, 165, 195, 188, 179, 189, - 0, 187, 0, 186, 340, 329, 339, 79, 0, 0, - 0, 85, 88, 86, 24, 212, 221, 209, 96, 0, - 99, 101, 120, 66, 120, 233, 120, 228, 0, 157, - 0, 0, 120, 155, 0, 182, 179, 186, 190, 0, - 27, 93, 89, 87, 27, 27, 233, 64, 74, 0, - 148, 152, 0, 0, 0, 120, 146, 150, 151, 158, - 216, 143, 156, 181, 0, 0, 191, 27, 91, 0, - 0, 0, 217, 120, 141, 147, 0, 0, 183, 181, - 90, 222, 97, 94, 27, 0, 0, 194, 0, 0, - 0, 149, 206, 196, 27, 218, 0, 0, 233, 95, - 159 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, + 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, + 56, 74, 0, 0, 0, 122, 116, 0, 225, 0, + 228, 227, 351, 236, 208, 0, 252, 0, 0, 27, + 0, 328, 0, 0, 277, 0, 0, 0, 308, 276, + 242, 243, 84, 235, 60, 61, 106, 250, 59, 82, + 43, 28, 122, 0, 235, 0, 0, 53, 346, 217, + 216, 0, 136, 138, 0, 186, 0, 203, 0, 200, + 201, 256, 303, 304, 301, 302, 282, 283, 285, 284, + 280, 281, 317, 316, 312, 311, 319, 320, 321, 318, + 314, 313, 315, 286, 287, 336, 0, 335, 338, 295, + 294, 293, 322, 0, 292, 291, 290, 278, 279, 299, + 298, 296, 300, 297, 0, 0, 110, 113, 336, 330, + 0, 0, 0, 344, 0, 0, 0, 25, 0, 122, + 17, 23, 0, 20, 19, 22, 21, 122, 114, 0, + 238, 245, 169, 0, 0, 209, 213, 108, 121, 226, + 305, 0, 26, 247, 350, 0, 264, 0, 254, 0, + 58, 0, 122, 13, 58, 0, 0, 0, 0, 0, + 140, 0, 0, 235, 165, 166, 0, 0, 0, 182, + 183, 188, 202, 0, 341, 0, 246, 310, 0, 0, + 0, 340, 0, 122, 0, 0, 119, 18, 122, 0, + 0, 0, 0, 215, 210, 235, 0, 0, 122, 0, + 233, 232, 231, 234, 0, 63, 62, 52, 0, 122, + 347, 348, 208, 137, 0, 0, 229, 139, 144, 58, + 0, 187, 207, 206, 204, 205, 0, 0, 0, 323, + 0, 339, 0, 337, 78, 0, 85, 0, 117, 237, + 170, 169, 0, 0, 212, 0, 0, 99, 103, 101, + 105, 64, 265, 57, 0, 76, 0, 141, 142, 0, + 122, 168, 167, 197, 190, 181, 191, 0, 189, 0, + 188, 343, 331, 342, 80, 0, 0, 0, 86, 89, + 87, 24, 214, 223, 211, 97, 0, 100, 102, 122, + 67, 122, 235, 122, 230, 0, 159, 0, 0, 122, + 157, 0, 184, 181, 188, 192, 0, 27, 94, 90, + 88, 27, 27, 235, 65, 75, 0, 150, 154, 0, + 0, 0, 122, 148, 152, 153, 160, 218, 145, 158, + 183, 0, 0, 193, 27, 92, 0, 0, 0, 219, + 122, 143, 149, 0, 0, 185, 183, 91, 224, 98, + 95, 27, 0, 0, 196, 0, 0, 0, 151, 208, + 198, 27, 220, 0, 0, 235, 96, 161 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 51, 52, 53, 54, 342, 343, 344, 365, 366, - 147, 148, 167, 345, 149, 428, 150, 263, 260, 513, - 58, 248, 163, 164, 59, 60, 61, 62, 228, 63, - 95, 151, 152, 500, 501, 502, 503, 64, 230, 470, - 579, 471, 535, 472, 473, 65, 245, 153, 66, 67, - 234, 235, 68, 351, 231, 69, 154, 71, 72, 383, - 385, 438, 347, 516, 348, 483, 544, 545, 546, 521, - 522, 523, 174, 349, 279, 387, 388, 416, 76, 77, - 78, 394, 449, 491, 554, 179, 389, 450, 492, 180, - 79, 283, 284, 285, 358, 359, 360, 276, 350, 574, - 107, 81, 534, 236, 237, 425, 440, 426, 373, 355, - 133, 134, 135, 239, 82, 83, 84, 155, 136, 241, - 242, 85, 123, 124, 125, 86, 401, 336, 313, 87, - 88, 175, 89, 90 + -1, 52, 53, 54, 55, 348, 349, 350, 371, 372, + 151, 152, 171, 351, 153, 435, 154, 268, 265, 520, + 59, 253, 167, 168, 60, 61, 62, 63, 232, 64, + 97, 155, 156, 507, 508, 509, 510, 65, 234, 477, + 586, 478, 542, 479, 480, 66, 249, 157, 67, 68, + 238, 239, 69, 357, 235, 70, 158, 72, 73, 390, + 392, 445, 353, 523, 354, 490, 551, 552, 553, 528, + 529, 530, 178, 355, 284, 394, 395, 423, 77, 78, + 79, 401, 456, 498, 561, 183, 396, 457, 499, 184, + 80, 288, 289, 290, 364, 365, 366, 281, 356, 581, + 110, 82, 541, 240, 241, 432, 447, 433, 380, 361, + 137, 138, 139, 243, 83, 84, 85, 159, 140, 245, + 246, 86, 127, 128, 129, 87, 408, 342, 318, 88, + 89, 179, 90, 91, 92 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -474 +#define YYPACT_NINF -494 static const yytype_int16 yypact[] = { - 1747, -27, -474, -474, -474, -474, -474, -474, -10, -46, - -474, -25, 26, -474, -474, -474, -474, 90, -474, 2197, - -474, 106, -474, -474, 412, -474, 11, 133, 23, -474, - -474, -474, -474, 13, -53, -474, -474, 2197, 32, 257, - 2197, 2197, -474, -474, 2197, 2197, 2197, 2197, 2197, 699, - 154, 224, -474, 568, -474, -474, -474, 99, -474, 2126, - -474, -474, -474, -474, -474, -474, 2001, -474, -474, -474, - 361, 70, -474, -474, -474, -474, -474, -474, 65, -474, - -474, -474, -474, -474, -474, 141, 2897, -474, -474, -474, - -474, 242, 125, -474, -474, 2001, -474, -474, -474, -474, - -474, -474, 143, 133, -474, -52, -474, 127, -44, 2197, - 124, -474, 2197, -474, 2197, 256, -44, -474, -474, -474, - -474, -474, -474, 135, 176, 182, -44, -44, 202, -44, - -44, -37, 2835, 159, 186, 2197, -474, 2835, 286, 288, - 2197, 2197, 288, 289, -474, -474, 830, -474, -474, 169, - -474, -474, -474, -474, 287, -474, -474, -474, -474, 1092, - 236, 302, -474, 206, 241, 141, 211, -474, 311, 43, - 312, -474, 320, -474, -474, -474, -474, -474, 2197, -474, - 66, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, - 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, - 2197, 2197, 2197, 2197, 2197, -474, -474, 15, 2197, 2197, - 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, - 2197, 2197, 2197, 2197, 2197, 22, -474, -474, 2197, 317, - 2197, 1223, -474, 133, 196, 203, -474, -474, -474, 209, - 35, 199, 235, 107, 2256, 1874, 204, -474, 2197, -474, - 2197, 257, 2197, -474, -474, -474, -474, -474, 232, 239, - -474, -474, -474, 239, -474, -474, -474, 2001, 215, 232, - 2197, 2197, -474, 246, -474, -474, 347, 300, 303, 353, - 2835, 255, 258, 37, 66, -474, 2835, 383, 560, 560, - 560, 3269, 3269, 3269, 3269, 383, 383, 2835, 2835, 2835, - 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2959, 3021, - -474, -474, 42, -474, 185, 185, 185, 2835, 2463, 3083, - 3145, 3207, 383, 383, 202, 202, -44, -44, -44, 230, - 2525, 270, -474, -474, 2197, 100, 275, -474, 233, 243, - 2325, -474, 237, 1354, -474, -474, 248, -474, -474, -474, - -474, 1223, -474, 133, 2197, -474, 36, 375, 245, 280, - -474, -474, -474, 254, -474, 253, 1874, -474, 261, -474, - 291, 2835, 252, 299, 288, 961, -474, -18, 304, 269, - 151, 268, 133, 391, 133, 281, 232, 309, -474, 283, - 67, 87, -474, -474, -474, -474, 2197, -474, 2197, -474, - -474, 2197, 2587, 2197, -474, 17, 2001, 2197, 292, -474, - -474, 1223, 294, 290, 2197, 252, -474, -474, 232, 41, - 33, 2001, 2197, -474, -474, -474, -474, 2197, -474, -474, - -474, 2197, 2001, -474, -474, 35, -474, 133, 298, -474, - 328, -474, 299, 353, -474, -474, -474, -474, -474, 319, - 102, 2649, 2835, 2394, -474, 2711, -474, -474, 301, 24, - 306, -474, -474, 2835, 329, 307, 375, -474, 310, 321, - -474, -474, 33, -474, 368, -474, 2835, -30, -474, 308, - 328, -474, 133, 226, -474, -474, -474, -474, 330, -474, - 2197, -474, 333, -474, -474, -474, -474, -474, 2197, 341, - 314, 24, -474, -474, -474, -474, -474, -474, -474, 445, - -474, -474, 2001, -474, 2001, 232, 1485, -474, 446, -474, - 424, 323, 351, -474, 65, 2835, 337, -474, 111, 2773, - 1874, -474, -474, -474, 1874, 1874, 232, -474, -474, 327, - -474, -474, 334, 296, 331, 1616, -474, -474, -474, -474, - 43, -474, -474, -474, 336, 65, 111, 1874, -474, 338, - 339, 326, -474, 1485, -474, -474, 459, 352, -474, -474, - -474, -474, -474, -474, 1874, 340, 343, -474, 359, 354, - 355, -474, 35, -474, 1874, -474, 356, 358, 232, -474, - -474 + 1763, -21, -494, -494, -494, -494, -494, -494, -29, -45, + -494, -36, 68, -494, -494, -494, -494, 75, -494, 2217, + -494, 91, -494, -494, 438, -494, -15, 316, -5, -494, + -494, -494, -494, 7, -37, -494, -494, 107, 2217, 24, + 367, 2217, 2217, -494, -494, 2217, 2217, 2217, 2217, 2217, + 707, 127, 139, -494, 575, -494, -494, -494, 23, -494, + 2145, -494, -494, -494, -494, -494, -494, 2019, -494, -494, + -494, 488, 431, -494, -494, -494, -494, -494, -494, 17, + -494, -494, -494, -494, -494, -494, 57, 2920, -494, -494, + -494, -494, -494, 155, 36, -494, -494, 2019, -494, -494, + -494, -494, -494, -494, -494, 28, 316, -494, -48, -494, + 47, 213, 2217, 69, -494, 2217, -494, 2217, 194, 116, + 213, -494, -494, -494, -494, -494, -494, 92, 121, 132, + 213, 213, 379, 213, 213, -42, 2858, 114, 146, 2217, + -494, 2858, 246, 247, 2217, 2217, 247, 249, -494, -494, + 839, -494, -494, 125, -494, -494, -494, -494, 248, -494, + -494, -494, -494, 1103, 197, 264, -494, 168, 203, 57, + 173, -494, 274, 66, 276, -494, 278, -494, -494, -494, + -494, -494, 2217, -494, 21, 2217, 2217, 2217, 2217, 2217, + 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, + 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, -494, + -494, 138, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, + 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 130, + -494, -494, 2217, 273, 2217, 1235, -494, 316, 158, 160, + -494, -494, -494, 167, 15, 157, 192, 229, 2276, 1891, + 165, -494, 2217, 2217, -494, 2217, 367, 2217, -494, -494, + -494, -494, -494, 207, 212, -494, -494, -494, 212, -494, + -494, -494, 2019, 181, 207, 2217, 2217, -494, 217, -494, + -494, 314, 262, 269, 315, 2858, 220, 221, 6, 21, + -494, 2858, 1095, 567, 567, 567, 3292, 3292, 3292, 3292, + 1095, 1095, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, + 2858, 2858, 2858, 2982, 3044, -494, 214, -494, -494, 313, + 313, 313, 2858, 2486, 3106, 3168, 3230, 1095, 1095, 379, + 379, 213, 213, 213, 199, 2548, 238, 244, 245, -494, + 2217, 267, 254, -494, 226, 224, 2346, -494, 228, 1367, + -494, -494, 235, -494, -494, -494, -494, 1235, -494, 316, + 2217, -494, -55, 363, 232, 280, -494, -494, -494, 240, + -494, 237, 1891, -494, 2858, 243, -494, 277, 2858, 292, + 281, 247, 971, -494, -6, 279, 252, 135, 270, 316, + 376, 316, 268, 207, 296, -494, 265, 22, 34, -494, + -494, -494, -494, 2217, -494, 2217, -494, -494, 2217, 2610, + 2217, -494, 294, 2019, 2217, 272, -494, -494, 1235, 283, + 275, 2217, 292, -494, -494, 207, 19, 78, 2019, 2217, + -494, -494, -494, -494, 2217, -494, -494, -494, 2217, 2019, + -494, -494, 15, -494, 316, 284, -494, 300, -494, 281, + 315, -494, -494, -494, -494, -494, 291, 253, 2672, 2858, + 2416, -494, 2734, -494, -494, 287, 46, 289, -494, -494, + 2858, 309, 286, 363, -494, 297, 312, -494, -494, 78, + -494, 338, -494, 2858, -38, -494, 298, 300, -494, 316, + 27, -494, -494, -494, -494, 299, -494, 2217, -494, 327, + -494, -494, -494, -494, -494, 2217, 318, 306, 46, -494, + -494, -494, -494, -494, -494, -494, 442, -494, -494, 2019, + -494, 2019, 207, 1499, -494, 447, -494, 427, 321, 255, + -494, 17, 2858, 342, -494, 25, 2796, 1891, -494, -494, + -494, 1891, 1891, 207, -494, -494, 332, -494, -494, 335, + 328, 331, 1631, -494, -494, -494, -494, 66, -494, -494, + -494, 334, 17, 25, 1891, -494, 336, 340, 341, -494, + 1499, -494, -494, 472, 365, -494, -494, -494, -494, -494, + -494, 1891, 347, 358, -494, 373, 359, 352, -494, 15, + -494, 1891, -494, 353, 355, 207, -494, -494 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -474, -474, 342, -474, 433, -309, -474, 144, -294, -33, - 1, -59, -86, 59, 2, 47, 436, 363, 118, -474, - -474, -474, -474, -474, -474, -474, -474, -474, -474, -474, - -474, -474, -474, -474, -474, 6, 8, -474, -474, 38, - -474, 49, -474, -474, -474, -474, -474, -474, -474, -474, - 10, 40, -474, -474, -474, -474, 0, -474, 434, -474, - -474, -474, 61, -474, 62, -474, -50, -474, -31, -474, - -474, -7, -474, 3, -474, -474, 69, 60, -474, -474, - -474, -474, -464, -474, -474, -163, -474, -447, -474, -473, - -427, -474, -474, 244, -416, -474, -336, -24, 4, -474, - -474, -474, -474, -474, 496, -98, 88, 112, -254, -474, - -100, -474, -474, -474, -474, -474, -474, -474, -125, -128, - 482, -51, -474, 279, -474, -13, -474, -474, -186, -474, - -474, -474, -474, -474 + -494, -494, 337, -494, 444, -315, -494, 150, -475, -34, + 1, -60, -87, 53, 2, 52, 446, 364, 129, -494, + -494, -494, -494, -494, -494, -494, -494, -494, -494, -494, + -494, -494, -494, -494, -494, 5, 8, -494, -494, 32, + -494, 33, -494, -494, -494, -494, -494, -494, -494, -494, + 14, 56, -494, -494, -494, -494, 0, -494, 430, -494, + -494, -494, 59, -494, 61, -494, -53, -494, -31, -494, + -494, -14, -494, 3, -494, -494, 72, 62, -494, -494, + -494, -494, -464, -494, -494, -169, -494, -457, -494, -493, + -413, -494, -494, 239, -419, -494, -344, -39, 4, -494, + -494, -494, -494, -494, 508, -101, 93, 117, -257, -494, + -103, -494, -494, -494, -494, -494, -494, -494, -130, -132, + 490, -52, -494, 285, -494, -13, -494, -494, -189, -494, + -494, -494, -494, -494, -494 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -331 +#define YYTABLE_NINF -335 static const yytype_int16 yytable[] = { - 70, 55, 57, 75, 80, 238, 105, 166, 165, 229, - 256, 108, 261, 262, 246, 377, 146, 282, 310, 479, - 310, 417, 101, 493, 116, 331, 332, 126, 127, 97, - 98, 128, 129, 130, 132, 137, 166, 101, 356, 337, - 92, 207, 412, 99, 356, 310, 528, 205, 206, 207, - -70, 553, 102, 70, 55, 57, 75, 80, 498, 56, - 468, 73, 74, 91, 252, 527, 469, 110, 177, 281, - 114, 181, 445, 224, 2, 115, 225, 94, 274, 223, - 556, 224, 569, 467, 225, 427, 499, 266, 13, 567, - 15, 16, 447, 18, 275, 20, 132, 253, 96, 244, - 338, 137, 460, 310, 514, 578, 103, 487, 25, 106, - 97, 98, 56, 93, 73, 74, 487, 30, 31, 32, - 368, 282, 137, 329, 99, 369, 397, 132, 132, 357, - 507, 311, 442, 311, 109, 466, 97, 98, 311, 414, - 113, 415, 378, 379, 312, 333, 112, 334, 392, 404, - 99, 335, 393, 100, 433, 117, 434, 156, 311, 70, - 55, 57, 75, 80, 465, 280, 586, 396, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 178, 178, 178, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 137, 330, 488, 489, 178, 132, 311, 340, 56, 456, - 73, 74, 489, 362, 157, 403, 159, 446, 448, 490, - 2, 70, 55, 346, 375, 132, 558, 137, 490, 371, - 559, 560, 181, 352, 13, 226, 15, 16, 227, 18, - 240, 20, 243, 363, 413, 97, 98, 132, 132, 247, - 118, 539, 119, 570, 25, 120, 121, 122, 249, 99, - 232, 233, 518, 30, 31, 32, 205, 206, 207, 458, - 580, 250, 561, 251, 436, 254, 439, 255, 423, 257, - 587, 258, 264, 205, 206, 207, 267, 475, 218, 219, - 220, 221, 222, 168, -71, 269, 270, 266, 223, 271, - 224, 272, 168, 225, 273, 277, 266, 220, 221, 222, - 457, 402, 169, 278, -113, 223, 519, 224, 171, 339, - 225, 353, 354, 361, 590, 474, 252, 372, 367, 439, - 374, 137, 173, 70, 55, 346, 478, 166, 376, 380, - 381, 70, 55, 346, 382, 2, 386, 384, 390, -153, - -330, 391, 166, 363, 399, 405, 407, 406, 424, 13, - 409, 15, 16, 166, 18, 411, 20, 168, 356, 418, - 477, 419, -112, 451, 517, 452, 420, 169, 453, 25, - 455, 435, 170, 171, 132, 421, 422, 518, 30, 31, - 32, 463, 427, 432, 431, 172, 437, 173, 441, 137, - 443, 70, 55, 346, 476, 104, 444, 3, 4, 459, - 5, 6, 7, -331, 462, 481, 537, 461, 538, 482, - 486, 14, 414, 512, 506, 497, 19, 508, 21, 504, - 22, 23, 515, 526, 509, 524, 530, 531, 536, 549, - 550, 519, 555, 166, 562, 166, 551, 29, -331, -331, - 573, 563, 576, 577, 564, 34, 582, 35, 36, 568, - 583, 571, 572, 581, 205, 206, 207, 525, 208, 209, - 210, 584, 39, 520, -154, 529, 158, 410, 585, 484, - 588, 589, 429, -331, -331, 162, 218, 219, 220, 221, - 222, 268, 259, 40, 41, 176, 223, 532, 224, 533, - 510, 225, 485, 575, 565, 552, 543, 541, 542, 547, - 548, 511, 520, 111, 505, 480, 566, 464, 395, 131, - 370, 0, 0, 0, 0, 47, 0, 48, 0, 0, - 0, 50, 0, 0, 0, 543, 541, 542, 547, 548, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 543, 541, 542, 547, 548, -4, 0, - 0, 1, 2, 3, 4, 0, 5, 6, 7, 8, - 9, 10, 11, 0, 0, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 0, 0, 22, 23, 0, 0, - 182, 0, 0, 0, 24, 0, 25, 26, 0, 27, - 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, - 33, 34, 0, 35, 36, 0, 0, -331, -331, -331, - 0, 37, 38, 0, 0, 190, 191, 0, 39, 0, + 71, 56, 58, 76, 81, 242, 108, 170, 169, 261, + 233, 111, 266, 267, 250, 287, 150, 384, 362, 424, + 181, 94, 362, 486, 286, 120, 104, 452, 130, 131, + 494, 2, 132, 133, 134, 136, 141, 170, 560, 454, + 343, 104, 419, 535, 500, 13, 211, 15, 16, 421, + 18, 422, 20, 57, 71, 56, 58, 76, 81, 74, + 257, 75, 565, -71, 185, 25, 566, 567, 105, 576, + 93, 99, 100, 525, 30, 31, 32, 563, 228, 96, + 505, 229, 474, 113, 101, 102, 534, 117, 98, 577, + 271, 106, 118, 258, 109, 95, 574, 521, 434, 136, + 344, 279, 248, 467, 141, 475, 587, 57, 506, 112, + 363, 476, 585, 74, 473, 75, 594, 280, 399, 115, + 287, 375, 400, 119, 334, 376, 141, 404, 526, 514, + 160, 136, 136, 336, 337, 116, 449, 496, 440, 161, + 441, 99, 100, 385, 386, 182, 101, 102, 121, 182, + 182, 163, 411, 497, 101, 102, 236, 237, 230, 185, + 231, -155, 182, 71, 56, 58, 76, 81, 472, 285, + 593, 244, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 103, 251, 247, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 141, 335, 57, 99, 100, 136, + 252, 346, 74, 463, 75, 317, 254, 255, 453, 455, + 101, 102, 99, 100, 256, 71, 56, 352, 382, 374, + 136, 259, 141, 317, 378, 101, 102, 338, 260, 262, + 263, 358, 269, 272, 339, 315, 340, 420, 494, 2, + 341, 369, 136, 136, 172, 546, -72, 274, 316, 275, + 99, 100, 276, 13, 277, 15, 16, 278, 18, 282, + 20, 283, 465, 101, 102, 345, 568, -115, 443, 359, + 446, 360, 367, 25, 257, 99, 100, 99, 100, 482, + 373, 525, 30, 31, 32, 209, 210, 211, 101, 102, + 101, 102, 271, 379, 381, 383, 389, 388, 393, 99, + 100, 387, 271, 391, 397, 398, 464, 409, 430, -332, + 317, 315, 101, 102, 406, -334, -333, 227, 597, 228, + 403, 481, 229, 446, 172, 412, 368, 141, 414, 71, + 56, 352, 485, 170, 173, 317, 526, 71, 56, 352, + 175, 413, 416, 418, 495, 496, 362, 425, 170, -114, + 122, 427, 123, 369, 177, 124, 125, 126, 428, 170, + 438, 497, 426, 429, 315, 434, 484, 439, 524, -156, + 458, 444, 459, 410, 442, 460, 448, 462, 450, 451, + 466, 136, 489, 493, 519, 209, 210, 211, 470, 431, + 469, 315, 488, 421, 513, 531, 141, 468, 71, 56, + 352, 483, 504, 511, 537, 515, 317, 222, 223, 224, + 225, 226, 544, 522, 545, 2, 516, 227, 533, 228, + 538, 107, 229, 3, 4, 543, 5, 6, 7, 13, + 556, 15, 16, 557, 18, 558, 20, 14, 562, 170, + 569, 170, 19, 570, 21, 571, 22, 23, 575, 25, + 578, 209, 210, 211, 579, 583, 580, 584, 30, 31, + 32, 588, 589, 29, 532, 590, 592, 591, 595, 596, + 527, 34, 536, 35, 36, 224, 225, 226, 162, 417, + 273, 491, 180, 227, 172, 228, 166, 264, 229, 40, + 436, 517, 518, 539, 173, 559, 540, 582, 573, 174, + 175, 572, 492, 550, 548, 549, 554, 555, 402, 527, + 41, 42, 176, 512, 177, 114, 0, 487, 135, 471, + 0, 377, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 550, 548, 549, 554, 555, 0, 0, 0, + 0, 0, 48, 0, 49, 0, 0, 0, 51, 0, + 550, 548, 549, 554, 555, -4, 0, 0, 1, 2, + 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, + 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 0, 0, 22, 23, 0, 0, 186, 0, 0, + 0, 24, 0, 25, 26, 0, 27, 0, 28, 0, + 29, 0, 30, 31, 32, 0, 0, 33, 34, 0, + 35, 36, 0, 0, 0, -335, -335, -335, 37, 38, + 39, 0, 0, 194, 195, 0, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, + 210, 211, 0, 212, 213, 214, 0, 41, 42, 0, + 0, 0, 0, 0, 0, 0, 43, 0, 220, 221, + 0, 222, 223, 224, 225, 226, 44, 0, 0, 45, + 0, 227, 0, 228, 46, 47, 229, 0, 0, 48, + 0, 49, 0, 50, 0, 51, 0, 0, 0, -4, + 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, + 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 0, 22, 23, 142, 0, 143, + 0, 0, 0, 24, 144, 25, 26, 0, 27, 145, + 28, 0, 29, 146, 30, 31, 32, 0, 0, 33, + 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, + 37, 38, 39, 0, 147, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 206, 207, 0, 208, 209, 210, 0, 40, - 41, 0, 0, 0, 0, 0, 0, 0, 42, 0, - 216, 217, 0, 218, 219, 220, 221, 222, 43, 0, - 0, 44, 0, 223, 0, 224, 45, 46, 225, 0, - 0, 47, 0, 48, 0, 49, 0, 50, 0, 0, - 0, -4, 1, 2, 3, 4, 0, 5, 6, 7, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, + 42, 0, 0, 0, 0, 0, 0, 0, 148, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, + 0, 48, 0, 49, 0, 50, 0, 51, 0, 0, + 0, 149, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 22, 23, 138, - 0, 139, 0, 0, 0, 24, 140, 25, 26, 0, - 27, 141, 28, 0, 29, 142, 30, 31, 32, 0, + 16, 17, 18, 19, 20, 21, 0, 22, 23, 142, + 0, 143, 0, 0, 0, 24, 144, 25, 26, 0, + 27, 145, 28, 0, 29, 146, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, - 0, 0, 37, 38, 0, 143, 0, 0, 0, 39, + 0, 0, 37, 38, 39, 0, 147, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40, 41, 0, 0, 0, 0, 0, 0, 0, 144, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, - 0, 0, 44, 0, 0, 0, 0, 45, 46, 0, - 0, 0, 47, 0, 48, 0, 49, 0, 50, 0, - 0, 0, 145, 1, 2, 3, 4, 0, 5, 6, - 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 0, 22, 23, - 138, 0, 139, 0, 0, 0, 24, 140, 25, 26, - 0, 27, 141, 28, 0, 29, 142, 30, 31, 32, - 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, - 0, 0, 0, 37, 38, 0, 143, 0, 0, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 41, 0, 0, 0, 0, 0, 0, 0, - 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 0, 0, 44, 0, 0, 0, 0, 45, 46, - 0, 0, 0, 47, 0, 48, 0, 49, 0, 50, - 0, 0, 0, 265, 1, 2, 3, 4, 0, 5, + 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, + 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, + 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, + 0, 0, 0, 270, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 22, - 23, 138, 0, 139, 0, 0, 0, 24, 140, 25, - 26, 0, 27, 141, 28, 0, 29, 142, 30, 31, + 23, 142, 0, 143, 0, 0, 0, 24, 144, 25, + 26, 0, 27, 145, 28, 0, 29, 146, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, - 0, 0, 0, 0, 37, 38, 0, 143, 0, 0, - 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 37, 38, 39, 0, 147, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 40, 41, 0, 0, 0, 0, 0, 0, - 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 43, 0, 0, 44, 0, 0, 0, 0, 45, - 46, 0, 0, 0, 47, 0, 48, 0, 49, 0, - 50, 0, 0, 0, 430, 1, 2, 3, 4, 0, - 5, 6, 7, 8, 9, 10, 11, 0, 0, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 24, 0, - 25, 26, 0, 27, 0, 28, 0, 29, 0, 30, - 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, - 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, - 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 40, 41, 0, 0, 0, 0, 0, - 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 43, 0, 0, 44, 0, 0, 0, 0, - 45, 46, 0, 0, 0, 47, 0, 48, 0, 49, - 0, 50, 0, 0, 0, -3, 1, 2, 3, 4, + 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, + 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, + 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, + 0, 51, 0, 0, 0, 437, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, - 0, 13, 14, 15, 16, 17, 18, 19, 20, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, + 0, 22, 23, 0, 0, -335, 0, 0, 0, 24, 0, 25, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, - 0, 0, 0, 0, 0, 0, 37, 38, 0, 0, - 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 40, 41, 0, 0, 0, 0, - 0, 0, 0, 341, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 43, 0, 0, 44, 0, 0, 0, - 0, 45, 46, 0, 0, 0, 47, 0, 48, 0, - 49, 0, 50, 0, 0, 0, -15, 1, 2, 3, - 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, - 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, - 24, 0, 25, 26, 0, 27, 0, 28, 0, 29, - 0, 30, 31, 32, 0, 0, 33, 34, 0, 35, - 36, 0, 0, 0, 0, 0, 0, 37, 38, 0, - 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 40, 41, 0, 0, 0, - 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 43, 0, 0, 44, 0, 0, - 0, 0, 45, 46, 0, 0, 0, 47, 0, 48, - 0, 49, 0, 50, 0, 0, 0, -16, 1, 2, + 0, 0, 0, 0, 0, 0, 37, 38, 39, 0, + 0, -335, -335, 0, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 210, 211, + 0, 212, 213, 214, 0, 41, 42, 0, 0, 0, + 0, 0, 0, 0, 43, 0, -335, -335, 0, 222, + 223, 224, 225, 226, 44, 0, 0, 45, 0, 227, + 0, 228, 46, 47, 229, 0, 0, 48, 0, 49, + 0, 50, 0, 51, 0, 0, 0, -3, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, 0, 25, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, 38, - 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, + 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 40, 41, 0, 0, - 0, 0, 0, 0, 0, 540, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 43, 0, 0, 44, 0, - 0, 0, 0, 45, 46, 0, 0, 0, 47, 0, - 48, 0, 49, 0, 50, 0, 0, 0, -144, 1, - 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, - 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, - 19, 20, 0, 0, 22, 23, 0, 0, 0, 0, - 0, 0, 24, 0, 25, 26, 0, 27, 0, 28, - 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, - 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, - 38, 0, 0, 0, 0, 0, 39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 40, 41, 0, - 0, 0, 0, 0, 0, 0, 540, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 43, 0, 0, 44, - 0, 0, 0, 0, 45, 46, 0, 0, 0, 47, - 0, 48, 0, 49, 0, 50, 0, -3, 0, -145, + 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, + 0, 0, 0, 0, 0, 0, 347, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, + 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, + 0, 49, 0, 50, 0, 51, 0, 0, 0, -15, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, - 10, 11, 0, 0, 12, 13, 14, 15, 16, 17, + 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, 0, 25, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, - 37, 38, 0, 0, 0, 0, 0, 39, 0, 0, + 37, 38, 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, - 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, - 44, 0, 0, 0, 0, 45, 46, 0, 0, 0, - 47, 0, 48, 0, 49, 0, 50, 1, 2, 3, - 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, - -120, 0, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 0, 22, 23, 138, 0, 139, 0, 0, 0, - 24, 140, 25, 26, 0, 27, 141, 28, 0, 29, - 142, 30, 31, 32, 0, 0, 33, 34, 0, 35, - 36, 0, 0, 0, 0, 0, 0, 37, 38, 0, - 143, 0, 0, 0, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, + 42, 0, 0, 0, 0, 0, 0, 0, 347, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, + 0, 48, 0, 49, 0, 50, 0, 51, 0, 0, + 0, -16, 1, 2, 3, 4, 0, 5, 6, 7, + 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, + 16, 17, 18, 19, 20, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 24, 0, 25, 26, 0, + 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, + 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, + 0, 0, 37, 38, 39, 0, 0, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 40, 41, 0, 0, 0, - 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 43, 0, 0, 44, 0, 0, - 0, 0, 45, 46, 0, 0, 0, 47, 0, 48, - 0, 49, 0, 50, 1, 2, 3, 4, 0, 5, + 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, + 547, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, + 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, + 0, 0, 0, -146, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, + 14, 15, 16, 17, 18, 19, 20, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 24, 0, 25, + 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, + 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, + 0, 0, 0, 0, 37, 38, 39, 0, 0, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, + 0, 0, 547, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, + 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, + 0, 51, 0, -3, 0, -147, 1, 2, 3, 4, + 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, + 0, 25, 26, 0, 27, 0, 28, 0, 29, 0, + 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, + 0, 0, 0, 0, 0, 0, 37, 38, 39, 0, + 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, + 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, + 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, + 0, 50, 0, 51, 1, 2, 3, 4, 0, 5, + 6, 7, 8, 9, 10, 11, 0, -122, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 22, - 23, 138, 0, 139, 0, 0, 0, 24, 140, 25, - 26, 0, 27, 141, 28, 0, 29, 142, 30, 31, + 23, 142, 0, 143, 0, 0, 0, 24, 144, 25, + 26, 0, 27, 145, 28, 0, 29, 146, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, - 0, 0, 0, 0, 37, 38, 0, 143, 0, 0, - 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 37, 38, 39, 0, 147, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 40, 41, 0, 0, 0, 0, 0, 0, - 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 43, 0, 0, 44, 0, 0, 0, 0, 45, - 46, 0, 0, 0, 47, 0, 48, 0, 49, 160, - 50, 3, 4, 0, 5, 6, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, - 19, 0, 21, 0, 22, 23, 0, 0, 139, 0, - 0, 0, 24, 0, 0, 0, 0, 0, 0, 28, - 0, 29, 161, 0, 0, 0, 0, 0, 0, 34, - 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, - 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, - 104, 0, 3, 4, 0, 5, 6, 7, 0, 0, - 0, 0, 0, 0, 0, 0, 14, 40, 41, 0, + 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, + 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, + 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, + 0, 51, 1, 2, 3, 4, 0, 5, 6, 7, + 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 0, 22, 23, 142, + 0, 143, 0, 0, 0, 24, 144, 25, 26, 0, + 27, 145, 28, 0, 29, 146, 30, 31, 32, 0, + 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, + 0, 0, 37, 38, 39, 0, 147, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, + 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, + 0, 0, 0, 48, 0, 49, 0, 50, 164, 51, + 3, 4, 0, 5, 6, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 0, 19, + 0, 21, 0, 22, 23, 0, 0, 143, 0, 0, + 0, 24, 0, 0, 0, 0, 0, 0, 28, 0, + 29, 165, 0, 0, 0, 0, 0, 0, 34, 0, + 35, 36, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, + 107, 0, 3, 4, 0, 5, 6, 7, 0, 0, + 0, 0, 0, 0, 0, 0, 14, 41, 42, 0, 0, 19, 0, 21, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 24, 0, 0, 43, 0, 0, 44, - 28, 0, 29, 0, 45, 46, 0, 0, 0, 47, - 34, 48, 35, 36, 0, 50, 0, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 0, 39, 0, 0, + 0, 0, 0, 24, 0, 0, 44, 0, 0, 45, + 28, 0, 29, 0, 46, 47, 0, 0, 0, 48, + 34, 49, 35, 36, 0, 51, 0, 0, 0, 0, + 0, 38, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 41, - 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, - 44, 0, 0, 0, 0, 45, 46, 0, 0, 0, - 47, 0, 48, 183, 184, 185, 50, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 0, 205, 206, 207, - 0, 208, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 0, 213, 214, 215, 182, 216, 217, 0, 218, - 219, 220, 221, 222, 0, 0, 0, 0, 0, 223, - 0, 224, 0, 0, 225, 0, 0, 0, 0, 0, - 364, 0, 183, 184, 185, 0, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 0, 205, 206, 207, 0, - 208, 209, 210, 0, 0, 0, 0, 0, 211, 212, - 0, 213, 214, 215, 182, 216, 217, 0, 218, 219, - 220, 221, 222, 0, 0, 0, 0, 0, 223, 0, - 224, 0, 0, 225, 0, 0, 0, 0, 0, 408, - 0, 183, 184, 185, 0, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 0, 205, 206, 207, 0, 208, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 0, - 213, 214, 215, 182, 216, 217, 0, 218, 219, 220, - 221, 222, 0, 0, 0, 0, 0, 223, 0, 224, - 0, 0, 225, 0, 0, 0, 0, 0, 495, 0, - 183, 184, 185, 0, 186, 187, 188, 189, 190, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, + 42, 0, 0, 0, 0, 0, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, + 0, 48, 0, 49, 187, 188, 189, 51, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 0, 205, 206, 207, 0, 208, 209, - 210, 0, 0, 0, 0, 182, 211, 212, 398, 213, - 214, 215, 0, 216, 217, 0, 218, 219, 220, 221, - 222, 0, 0, 0, 0, 0, 223, 0, 224, 0, - 0, 225, 183, 184, 185, 0, 186, 187, 188, 189, + 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, + 211, 0, 212, 213, 214, 0, 0, 0, 0, 0, + 215, 216, 0, 217, 218, 219, 186, 220, 221, 0, + 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, + 227, 0, 228, 0, 0, 229, 0, 0, 0, 0, + 0, 370, 0, 0, 187, 188, 189, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, + 211, 0, 212, 213, 214, 0, 0, 0, 0, 0, + 215, 216, 0, 217, 218, 219, 186, 220, 221, 0, + 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, + 227, 0, 228, 0, 0, 229, 0, 0, 0, 0, + 0, 415, 0, 0, 187, 188, 189, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, + 211, 0, 212, 213, 214, 0, 0, 0, 0, 0, + 215, 216, 0, 217, 218, 219, 186, 220, 221, 0, + 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, + 227, 0, 228, 0, 0, 229, 0, 0, 0, 0, + 0, 502, 0, 0, 187, 188, 189, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, + 211, 0, 212, 213, 214, 0, 0, 0, 186, 0, + 215, 216, 405, 217, 218, 219, 0, 220, 221, 0, + 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, + 227, 0, 228, 0, 0, 229, 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 0, 205, 206, 207, 0, - 208, 209, 210, 0, 0, 0, 0, 182, 211, 212, - 0, 213, 214, 215, 0, 216, 217, 0, 218, 219, - 220, 221, 222, 0, 0, 0, 0, 0, 223, 0, - 224, 400, 0, 225, 183, 184, 185, 0, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 0, 205, 206, - 207, 0, 208, 209, 210, 0, 0, 0, 0, 182, - 211, 212, 0, 213, 214, 215, 0, 216, 217, 0, - 218, 219, 220, 221, 222, 0, 0, 0, 0, 0, - 223, 0, 224, 454, 0, 225, 183, 184, 185, 0, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 0, - 205, 206, 207, 0, 208, 209, 210, 0, 0, 0, - 0, 182, 211, 212, 0, 213, 214, 215, 0, 216, - 217, 0, 218, 219, 220, 221, 222, 0, 0, 0, - 0, 0, 223, 0, 224, 494, 0, 225, 183, 184, - 185, 0, 186, 187, 188, 189, 190, 191, 192, 193, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 0, + 209, 210, 211, 0, 212, 213, 214, 0, 0, 0, + 186, 0, 215, 216, 0, 217, 218, 219, 0, 220, + 221, 0, 222, 223, 224, 225, 226, 0, 0, 0, + 0, 0, 227, 0, 228, 407, 0, 229, 187, 188, + 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 0, 209, 210, 211, 0, 212, 213, 214, 0, + 0, 0, 186, 0, 215, 216, 0, 217, 218, 219, + 0, 220, 221, 0, 222, 223, 224, 225, 226, 0, + 0, 0, 0, 0, 227, 0, 228, 461, 0, 229, + 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 0, 209, 210, 211, 0, 212, 213, + 214, 0, 0, 0, 186, 0, 215, 216, 0, 217, + 218, 219, 0, 220, 221, 0, 222, 223, 224, 225, + 226, 0, 0, 0, 0, 0, 227, 0, 228, 501, + 0, 229, 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 0, 205, 206, 207, 0, 208, 209, 210, 0, - 0, 0, 0, 182, 211, 212, 0, 213, 214, 215, - 0, 216, 217, 0, 218, 219, 220, 221, 222, 0, - 0, 0, 0, 0, 223, 0, 224, 496, 0, 225, - 183, 184, 185, 0, 186, 187, 188, 189, 190, 191, + 204, 205, 206, 207, 208, 0, 209, 210, 211, 0, + 212, 213, 214, 0, 0, 0, 186, 0, 215, 216, + 0, 217, 218, 219, 0, 220, 221, 0, 222, 223, + 224, 225, 226, 0, 0, 0, 0, 0, 227, 0, + 228, 503, 0, 229, 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 0, 205, 206, 207, 0, 208, 209, - 210, 0, 0, 0, 0, 182, 211, 212, 557, 213, - 214, 215, 0, 216, 217, 0, 218, 219, 220, 221, - 222, 0, 0, 0, 0, 0, 223, 0, 224, 0, - 0, 225, 183, 184, 185, 0, 186, 187, 188, 189, + 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, + 211, 0, 212, 213, 214, 0, 0, 0, 186, 0, + 215, 216, 564, 217, 218, 219, 0, 220, 221, 0, + 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, + 227, 0, 228, 0, 0, 229, 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 0, 205, 206, 207, 0, - 208, 209, 210, 0, 0, 0, 0, 182, 211, 212, - 0, 213, 214, 215, 0, 216, 217, 0, 218, 219, - 220, 221, 222, 0, 0, 0, 0, 0, 223, 0, - 224, 0, 0, 225, 183, 184, 185, 0, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 0, 205, 206, - 207, 0, 208, 209, 210, 0, 0, 0, 0, 182, - 211, 212, 0, 213, 214, 215, 0, 0, 217, 0, - 218, 219, 220, 221, 222, 0, 0, 0, 0, 0, - 223, 0, 224, 0, 0, 225, 183, 184, 185, 0, - 186, 187, 188, 189, 190, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, - 205, 206, 207, 0, 208, 209, 210, 0, 0, 0, - 0, 182, 0, 0, 0, 213, 214, 215, 0, 216, - 217, 0, 218, 219, 220, 221, 222, 0, 0, 0, - 0, 0, 223, 0, 224, 0, 0, 225, 183, 184, - 185, 0, 186, 187, 188, 189, 190, 191, 0, 0, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 0, + 209, 210, 211, 0, 212, 213, 214, 0, 0, 0, + 186, 0, 215, 216, 0, 217, 218, 219, 0, 220, + 221, 0, 222, 223, 224, 225, 226, 0, 0, 0, + 0, 0, 227, 0, 228, 0, 0, 229, 187, 188, + 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 0, 209, 210, 211, 0, 212, 213, 214, 0, + 0, 0, 186, 0, 215, 216, 0, 217, 218, 219, + 0, 0, 221, 0, 222, 223, 224, 225, 226, 0, + 0, 0, 0, 0, 227, 0, 228, 0, 0, 229, + 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 208, 0, 209, 210, 211, 0, 212, 213, + 214, 0, 0, 0, 186, 0, 0, 0, 0, 217, + 218, 219, 0, 220, 221, 0, 222, 223, 224, 225, + 226, 0, 0, 0, 0, 0, 227, 0, 228, 0, + 0, 229, 187, 188, 189, 0, 190, 191, 192, 193, + 194, 195, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 209, 210, 211, 0, + 212, 213, 214, 0, 0, 0, 186, 0, 0, 0, + 0, 217, 218, 219, 0, 220, 221, 0, 222, 223, + 224, 225, 226, 0, 0, 0, 0, 0, 227, 0, + 228, 0, 0, 229, 187, 188, 189, 0, 190, 191, + 192, 193, 194, 195, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 210, + 211, 0, 212, 213, 214, 0, 0, 0, 186, 0, + 0, 0, 0, 0, 218, 219, 0, 220, 221, 0, + 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, + 227, 0, 228, 0, 0, 229, 187, 188, 189, 0, + 190, 191, 192, 193, 194, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 206, 207, 0, 208, 209, 210, 0, - 0, 0, 0, 182, 0, 0, 0, 213, 214, 215, - 0, 216, 217, 0, 218, 219, 220, 221, 222, 0, - 0, 0, 0, 0, 223, 0, 224, 0, 0, 225, - 183, 184, 185, 0, 186, 187, 188, 189, 190, 191, + 209, 210, 211, 0, 212, 213, 214, 0, 0, 0, + 186, 0, 0, 0, 0, 0, 0, 219, 0, 220, + 221, 0, 222, 223, 224, 225, 226, 0, 0, 0, + 0, 0, 227, 0, 228, 0, 0, 229, 187, 188, + 189, 0, 190, 191, 192, 193, 194, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 206, 207, 0, 208, 209, - 210, 0, 0, 0, 0, 182, 0, 0, 0, 0, - 214, 215, 0, 216, 217, 0, 218, 219, 220, 221, - 222, 0, 0, 0, 0, 0, 223, 0, 224, 0, - 0, 225, 183, 184, 185, 0, 186, 187, 188, 189, - 190, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 206, 207, 0, - 208, 209, 210, 0, 0, 0, 0, 182, 0, 0, - 0, 0, 0, 215, 0, 216, 217, 0, 218, 219, - 220, 221, 222, 0, 0, 0, 0, 0, 223, 0, - 224, 0, 0, 225, 183, 184, 185, 0, 186, 187, - 188, 189, 190, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 206, - 207, 0, 208, 209, 210, 0, 0, 0, 0, 182, - 0, 0, 0, 0, 0, -331, 0, 216, 217, 0, - 218, 219, 220, 221, 222, 0, 0, 0, 0, 0, - 223, 0, 224, 0, 0, 225, 183, 184, 185, 0, - -331, -331, -331, -331, 190, 191, 0, 0, 0, 0, + 0, 0, 209, 210, 211, 0, 212, 213, 214, 0, + 0, 0, 186, 0, 0, 0, 0, 0, 0, -335, + 0, 220, 221, 0, 222, 223, 224, 225, 226, 0, + 0, 0, 0, 0, 227, 0, 228, 0, 0, 229, + 187, 188, 189, 0, -335, -335, -335, -335, 194, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 206, 207, 0, 208, 209, 210, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, - 217, 0, 218, 219, 220, 221, 222, 0, 0, 0, - 0, 0, 223, 0, 224, 0, 0, 225 + 0, 0, 0, 0, 209, 210, 211, 0, 212, 213, + 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 220, 221, 0, 222, 223, 224, 225, + 226, 0, 0, 0, 0, 0, 227, 0, 228, 0, + 0, 229 }; static const yytype_int16 yycheck[] = { - 0, 0, 0, 0, 0, 103, 19, 66, 59, 95, - 135, 24, 140, 141, 114, 269, 49, 180, 3, 435, - 3, 357, 12, 450, 37, 3, 4, 40, 41, 3, - 4, 44, 45, 46, 47, 48, 95, 27, 3, 225, - 50, 93, 351, 17, 3, 3, 493, 91, 92, 93, - 68, 524, 12, 53, 53, 53, 53, 53, 34, 0, - 27, 0, 0, 90, 101, 492, 33, 27, 3, 3, - 123, 101, 5, 125, 4, 128, 128, 123, 35, 123, - 527, 125, 555, 419, 128, 103, 62, 146, 18, 553, - 20, 21, 5, 23, 51, 25, 109, 134, 123, 112, - 228, 114, 411, 3, 134, 569, 16, 5, 38, 3, - 3, 4, 53, 123, 53, 53, 5, 47, 48, 49, - 248, 284, 135, 223, 17, 250, 312, 140, 141, 94, - 466, 116, 386, 116, 123, 94, 3, 4, 116, 103, - 127, 105, 270, 271, 129, 123, 123, 125, 111, 335, - 17, 129, 115, 127, 3, 123, 5, 3, 116, 159, - 159, 159, 159, 159, 418, 178, 582, 125, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 0, 0, 0, 0, 0, 106, 19, 67, 60, 139, + 97, 24, 144, 145, 117, 184, 50, 274, 3, 363, + 3, 50, 3, 442, 3, 38, 12, 5, 41, 42, + 5, 4, 45, 46, 47, 48, 49, 97, 531, 5, + 229, 27, 357, 500, 457, 18, 94, 20, 21, 104, + 23, 106, 25, 0, 54, 54, 54, 54, 54, 0, + 102, 0, 537, 69, 102, 38, 541, 542, 12, 562, + 91, 3, 4, 46, 47, 48, 49, 534, 126, 124, + 34, 129, 426, 27, 16, 17, 499, 124, 124, 564, + 150, 16, 129, 135, 3, 124, 560, 135, 104, 112, + 232, 35, 115, 418, 117, 27, 581, 54, 62, 124, + 95, 33, 576, 54, 95, 54, 591, 51, 112, 124, + 289, 253, 116, 16, 227, 255, 139, 316, 101, 473, + 3, 144, 145, 3, 4, 128, 393, 112, 3, 0, + 5, 3, 4, 275, 276, 128, 16, 17, 124, 128, + 128, 128, 341, 128, 16, 17, 128, 129, 3, 102, + 124, 134, 128, 163, 163, 163, 163, 163, 425, 182, + 589, 124, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 127, 127, 127, 208, 209, 210, 211, 212, + 203, 204, 205, 206, 207, 208, 128, 3, 129, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 110, 111, 127, 228, 116, 230, 159, 405, - 159, 159, 111, 116, 0, 125, 127, 390, 391, 127, - 4, 231, 231, 231, 267, 248, 530, 250, 127, 252, - 534, 535, 101, 233, 18, 3, 20, 21, 123, 23, - 123, 25, 128, 243, 354, 3, 4, 270, 271, 3, - 3, 515, 5, 557, 38, 8, 9, 10, 133, 17, - 127, 128, 46, 47, 48, 49, 91, 92, 93, 407, - 574, 105, 536, 101, 382, 126, 384, 101, 36, 3, - 584, 3, 3, 91, 92, 93, 127, 422, 113, 114, - 115, 116, 117, 16, 68, 3, 100, 366, 123, 68, - 125, 100, 16, 128, 3, 3, 375, 115, 116, 117, - 406, 334, 26, 3, 128, 123, 100, 125, 32, 12, - 128, 128, 123, 134, 588, 421, 101, 105, 134, 437, - 101, 354, 46, 343, 343, 343, 432, 406, 133, 103, - 3, 351, 351, 351, 54, 4, 3, 54, 103, 133, - 90, 103, 421, 353, 134, 90, 123, 134, 116, 18, - 133, 20, 21, 432, 23, 127, 25, 16, 3, 134, - 431, 101, 128, 396, 482, 398, 133, 26, 401, 38, - 403, 123, 31, 32, 407, 134, 105, 46, 47, 48, - 49, 414, 103, 134, 100, 44, 15, 46, 127, 422, - 101, 411, 411, 411, 427, 3, 133, 5, 6, 127, - 8, 9, 10, 40, 134, 127, 512, 133, 514, 101, - 111, 19, 103, 65, 127, 134, 24, 127, 26, 133, - 28, 29, 134, 110, 123, 115, 105, 133, 3, 3, - 26, 100, 115, 512, 127, 514, 133, 45, 75, 76, - 134, 127, 3, 111, 133, 53, 123, 55, 56, 133, - 111, 133, 133, 133, 91, 92, 93, 490, 95, 96, - 97, 127, 70, 483, 133, 498, 53, 343, 133, 442, - 134, 133, 374, 110, 111, 59, 113, 114, 115, 116, - 117, 159, 139, 91, 92, 71, 123, 501, 125, 501, - 472, 128, 443, 563, 545, 522, 516, 516, 516, 516, - 516, 472, 522, 27, 464, 437, 550, 415, 284, 47, - 251, -1, -1, -1, -1, 123, -1, 125, -1, -1, - -1, 129, -1, -1, -1, 545, 545, 545, 545, 545, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 563, 563, 563, 563, 563, 0, -1, - -1, 3, 4, 5, 6, -1, 8, 9, 10, 11, - 12, 13, 14, -1, -1, 17, 18, 19, 20, 21, - 22, 23, 24, 25, -1, -1, 28, 29, -1, -1, - 40, -1, -1, -1, 36, -1, 38, 39, -1, 41, - -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, - 52, 53, -1, 55, 56, -1, -1, 67, 68, 69, - -1, 63, 64, -1, -1, 75, 76, -1, 70, -1, + 223, 224, 225, 226, 227, 228, 163, 3, 4, 232, + 104, 234, 163, 412, 163, 211, 134, 106, 397, 398, + 16, 17, 3, 4, 102, 235, 235, 235, 272, 252, + 253, 127, 255, 229, 257, 16, 17, 117, 102, 3, + 3, 237, 3, 128, 124, 117, 126, 360, 5, 4, + 130, 247, 275, 276, 16, 522, 69, 3, 130, 101, + 3, 4, 69, 18, 101, 20, 21, 3, 23, 3, + 25, 3, 414, 16, 17, 12, 543, 129, 389, 129, + 391, 124, 135, 38, 102, 3, 4, 3, 4, 429, + 135, 46, 47, 48, 49, 92, 93, 94, 16, 17, + 16, 17, 372, 106, 102, 134, 54, 3, 3, 3, + 4, 104, 382, 54, 104, 104, 413, 340, 36, 91, + 316, 117, 16, 17, 135, 91, 91, 124, 595, 126, + 126, 428, 129, 444, 16, 91, 117, 360, 124, 349, + 349, 349, 439, 413, 26, 341, 101, 357, 357, 357, + 32, 135, 134, 128, 111, 112, 3, 135, 428, 129, + 3, 134, 5, 359, 46, 8, 9, 10, 135, 439, + 101, 128, 102, 106, 117, 104, 438, 135, 489, 134, + 403, 15, 405, 126, 124, 408, 128, 410, 102, 134, + 128, 414, 102, 112, 66, 92, 93, 94, 421, 117, + 135, 117, 128, 104, 128, 116, 429, 134, 418, 418, + 418, 434, 135, 134, 106, 128, 412, 114, 115, 116, + 117, 118, 519, 135, 521, 4, 124, 124, 111, 126, + 134, 3, 129, 5, 6, 3, 8, 9, 10, 18, + 3, 20, 21, 26, 23, 134, 25, 19, 116, 519, + 128, 521, 24, 128, 26, 134, 28, 29, 134, 38, + 134, 92, 93, 94, 134, 3, 135, 112, 47, 48, + 49, 134, 124, 45, 497, 112, 134, 128, 135, 134, + 490, 53, 505, 55, 56, 116, 117, 118, 54, 349, + 163, 449, 72, 124, 16, 126, 60, 143, 129, 71, + 381, 479, 479, 508, 26, 529, 508, 570, 557, 31, + 32, 552, 450, 523, 523, 523, 523, 523, 289, 529, + 92, 93, 44, 471, 46, 27, -1, 444, 48, 422, + -1, 256, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 552, 552, 552, 552, 552, -1, -1, -1, + -1, -1, 124, -1, 126, -1, -1, -1, 130, -1, + 570, 570, 570, 570, 570, 0, -1, -1, 3, 4, + 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, + -1, -1, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, 28, 29, -1, -1, 40, -1, -1, + -1, 36, -1, 38, 39, -1, 41, -1, 43, -1, + 45, -1, 47, 48, 49, -1, -1, 52, 53, -1, + 55, 56, -1, -1, -1, 68, 69, 70, 63, 64, + 65, -1, -1, 76, 77, -1, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, + 93, 94, -1, 96, 97, 98, -1, 92, 93, -1, + -1, -1, -1, -1, -1, -1, 101, -1, 111, 112, + -1, 114, 115, 116, 117, 118, 111, -1, -1, 114, + -1, 124, -1, 126, 119, 120, 129, -1, -1, 124, + -1, 126, -1, 128, -1, 130, -1, -1, -1, 134, + 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, + 13, 14, -1, -1, -1, 18, 19, 20, 21, 22, + 23, 24, 25, 26, -1, 28, 29, 30, -1, 32, + -1, -1, -1, 36, 37, 38, 39, -1, 41, 42, + 43, -1, 45, 46, 47, 48, 49, -1, -1, 52, + 53, -1, 55, 56, -1, -1, -1, -1, -1, -1, + 63, 64, 65, -1, 67, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, 92, 93, -1, 95, 96, 97, -1, 91, - 92, -1, -1, -1, -1, -1, -1, -1, 100, -1, - 110, 111, -1, 113, 114, 115, 116, 117, 110, -1, - -1, 113, -1, 123, -1, 125, 118, 119, 128, -1, - -1, 123, -1, 125, -1, 127, -1, 129, -1, -1, - -1, 133, 3, 4, 5, 6, -1, 8, 9, 10, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, + 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, + -1, 114, -1, -1, -1, -1, 119, 120, -1, -1, + -1, 124, -1, 126, -1, 128, -1, 130, -1, -1, + -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, -1, 32, -1, -1, -1, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, - -1, -1, 63, 64, -1, 66, -1, -1, -1, 70, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, -1, -1, -1, -1, -1, -1, -1, 100, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, - -1, -1, 113, -1, -1, -1, -1, 118, 119, -1, - -1, -1, 123, -1, 125, -1, 127, -1, 129, -1, - -1, -1, 133, 3, 4, 5, 6, -1, 8, 9, - 10, 11, 12, 13, 14, -1, -1, -1, 18, 19, - 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, - 30, -1, 32, -1, -1, -1, 36, 37, 38, 39, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, - -1, -1, 52, 53, -1, 55, 56, -1, -1, -1, - -1, -1, -1, 63, 64, -1, 66, -1, -1, -1, - 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 63, 64, 65, -1, 67, -1, -1, -1, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, - 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 110, -1, -1, 113, -1, -1, -1, -1, 118, 119, - -1, -1, -1, 123, -1, 125, -1, 127, -1, 129, - -1, -1, -1, 133, 3, 4, 5, 6, -1, 8, + -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 111, -1, -1, 114, -1, -1, -1, -1, 119, 120, + -1, -1, -1, 124, -1, 126, -1, 128, -1, 130, + -1, -1, -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, -1, 32, -1, -1, -1, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, - -1, -1, -1, -1, 63, 64, -1, 66, -1, -1, - -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 63, 64, 65, -1, 67, -1, + -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 91, 92, -1, -1, -1, -1, -1, -1, - -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, - 119, -1, -1, -1, 123, -1, 125, -1, 127, -1, - 129, -1, -1, -1, 133, 3, 4, 5, 6, -1, - 8, 9, 10, 11, 12, 13, 14, -1, -1, 17, - 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, - 28, 29, -1, -1, -1, -1, -1, -1, 36, -1, - 38, 39, -1, 41, -1, 43, -1, 45, -1, 47, - 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, - -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, - -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, 92, -1, -1, -1, -1, -1, - -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 110, -1, -1, 113, -1, -1, -1, -1, - 118, 119, -1, -1, -1, 123, -1, 125, -1, 127, - -1, 129, -1, -1, -1, 133, 3, 4, 5, 6, + -1, -1, -1, 92, 93, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 111, -1, -1, 114, -1, -1, -1, -1, + 119, 120, -1, -1, -1, 124, -1, 126, -1, 128, + -1, 130, -1, -1, -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, - -1, 18, 19, 20, 21, 22, 23, 24, 25, -1, - -1, 28, 29, -1, -1, -1, -1, -1, -1, 36, + 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, + -1, 28, 29, -1, -1, 40, -1, -1, -1, 36, -1, 38, 39, -1, 41, -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, - -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, - -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 91, 92, -1, -1, -1, -1, - -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 110, -1, -1, 113, -1, -1, -1, - -1, 118, 119, -1, -1, -1, 123, -1, 125, -1, - 127, -1, 129, -1, -1, -1, 133, 3, 4, 5, - 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, - -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, - -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, - 36, -1, 38, 39, -1, 41, -1, 43, -1, 45, - -1, 47, 48, 49, -1, -1, 52, 53, -1, 55, - 56, -1, -1, -1, -1, -1, -1, 63, 64, -1, - -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, -1, -1, -1, - -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 110, -1, -1, 113, -1, -1, - -1, -1, 118, 119, -1, -1, -1, 123, -1, 125, - -1, 127, -1, 129, -1, -1, -1, 133, 3, 4, + -1, -1, -1, -1, -1, -1, 63, 64, 65, -1, + -1, 76, 77, -1, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, + -1, 96, 97, 98, -1, 92, 93, -1, -1, -1, + -1, -1, -1, -1, 101, -1, 111, 112, -1, 114, + 115, 116, 117, 118, 111, -1, -1, 114, -1, 124, + -1, 126, 119, 120, 129, -1, -1, 124, -1, 126, + -1, 128, -1, 130, -1, -1, -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 36, -1, 38, 39, -1, 41, -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, -1, -1, 63, 64, - -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, + 65, -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 91, 92, -1, -1, - -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 110, -1, -1, 113, -1, - -1, -1, -1, 118, 119, -1, -1, -1, 123, -1, - 125, -1, 127, -1, 129, -1, -1, -1, 133, 3, - 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, - 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, - 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, - -1, -1, 36, -1, 38, 39, -1, 41, -1, 43, - -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, - -1, 55, 56, -1, -1, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, 70, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 91, 92, -1, - -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 110, -1, -1, 113, - -1, -1, -1, -1, 118, 119, -1, -1, -1, 123, - -1, 125, -1, 127, -1, 129, -1, 0, -1, 133, + -1, -1, -1, -1, -1, -1, -1, 92, 93, -1, + -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 111, -1, -1, 114, + -1, -1, -1, -1, 119, 120, -1, -1, -1, 124, + -1, 126, -1, 128, -1, 130, -1, -1, -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, - 13, 14, -1, -1, 17, 18, 19, 20, 21, 22, + 13, 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 36, -1, 38, 39, -1, 41, -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, -1, -1, - 63, 64, -1, -1, -1, -1, -1, 70, -1, -1, + 63, 64, 65, -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, - -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, - 113, -1, -1, -1, -1, 118, 119, -1, -1, -1, - 123, -1, 125, -1, 127, -1, 129, 3, 4, 5, - 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, - 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, 28, 29, 30, -1, 32, -1, -1, -1, - 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, -1, -1, 52, 53, -1, 55, - 56, -1, -1, -1, -1, -1, -1, 63, 64, -1, - 66, -1, -1, -1, 70, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, + 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, + -1, 114, -1, -1, -1, -1, 119, 120, -1, -1, + -1, 124, -1, 126, -1, 128, -1, 130, -1, -1, + -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, + 11, 12, 13, 14, -1, -1, -1, 18, 19, 20, + 21, 22, 23, 24, 25, -1, -1, 28, 29, -1, + -1, -1, -1, -1, -1, 36, -1, 38, 39, -1, + 41, -1, 43, -1, 45, -1, 47, 48, 49, -1, + -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, + -1, -1, 63, 64, 65, -1, -1, -1, -1, -1, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 92, -1, -1, -1, - -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 110, -1, -1, 113, -1, -1, - -1, -1, 118, 119, -1, -1, -1, 123, -1, 125, - -1, 127, -1, 129, 3, 4, 5, 6, -1, 8, + -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 111, -1, -1, 114, -1, -1, -1, -1, 119, 120, + -1, -1, -1, 124, -1, 126, -1, 128, -1, 130, + -1, -1, -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, 18, + 19, 20, 21, 22, 23, 24, 25, -1, -1, 28, + 29, -1, -1, -1, -1, -1, -1, 36, -1, 38, + 39, -1, 41, -1, 43, -1, 45, -1, 47, 48, + 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, + -1, -1, -1, -1, 63, 64, 65, -1, -1, -1, + -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 92, 93, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 111, -1, -1, 114, -1, -1, -1, -1, + 119, 120, -1, -1, -1, 124, -1, 126, -1, 128, + -1, 130, -1, 0, -1, 134, 3, 4, 5, 6, + -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, + 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, + -1, 28, 29, -1, -1, -1, -1, -1, -1, 36, + -1, 38, 39, -1, 41, -1, 43, -1, 45, -1, + 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, + -1, -1, -1, -1, -1, -1, 63, 64, 65, -1, + -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 92, 93, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 111, -1, -1, 114, -1, -1, + -1, -1, 119, 120, -1, -1, -1, 124, -1, 126, + -1, 128, -1, 130, 3, 4, 5, 6, -1, 8, + 9, 10, 11, 12, 13, 14, -1, 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, -1, 32, -1, -1, -1, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, - -1, -1, -1, -1, 63, 64, -1, 66, -1, -1, - -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 63, 64, 65, -1, 67, -1, + -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 92, 93, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 111, -1, -1, 114, -1, -1, -1, -1, + 119, 120, -1, -1, -1, 124, -1, 126, -1, 128, + -1, 130, 3, 4, 5, 6, -1, 8, 9, 10, + 11, 12, 13, 14, -1, -1, -1, 18, 19, 20, + 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, + -1, 32, -1, -1, -1, 36, 37, 38, 39, -1, + 41, 42, 43, -1, 45, 46, 47, 48, 49, -1, + -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, + -1, -1, 63, 64, 65, -1, 67, -1, -1, -1, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 91, 92, -1, -1, -1, -1, -1, -1, - -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, - 119, -1, -1, -1, 123, -1, 125, -1, 127, 3, - 129, 5, 6, -1, 8, 9, 10, -1, -1, -1, - -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, - 24, -1, 26, -1, 28, 29, -1, -1, 32, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, 43, - -1, 45, 46, -1, -1, -1, -1, -1, -1, 53, - -1, 55, 56, -1, -1, -1, -1, -1, -1, 63, - -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, + -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 111, -1, -1, 114, -1, -1, -1, -1, 119, 120, + -1, -1, -1, 124, -1, 126, -1, 128, 3, 130, + 5, 6, -1, 8, 9, 10, -1, -1, -1, -1, + -1, -1, -1, -1, 19, -1, -1, -1, -1, 24, + -1, 26, -1, 28, 29, -1, -1, 32, -1, -1, + -1, 36, -1, -1, -1, -1, -1, -1, 43, -1, + 45, 46, -1, -1, -1, -1, -1, -1, 53, -1, + 55, 56, -1, -1, -1, -1, -1, -1, -1, 64, + -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, 3, -1, 5, 6, -1, 8, 9, 10, -1, -1, - -1, -1, -1, -1, -1, -1, 19, 91, 92, -1, + -1, -1, -1, -1, -1, -1, 19, 92, 93, -1, -1, 24, -1, 26, -1, 28, 29, -1, -1, -1, - -1, -1, -1, 36, -1, -1, 110, -1, -1, 113, - 43, -1, 45, -1, 118, 119, -1, -1, -1, 123, - 53, 125, 55, 56, -1, 129, -1, -1, -1, -1, - 63, -1, -1, -1, -1, -1, -1, 70, -1, -1, + -1, -1, -1, 36, -1, -1, 111, -1, -1, 114, + 43, -1, 45, -1, 119, 120, -1, -1, -1, 124, + 53, 126, 55, 56, -1, 130, -1, -1, -1, -1, + -1, 64, -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, - -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, - 113, -1, -1, -1, -1, 118, 119, -1, -1, -1, - 123, -1, 125, 67, 68, 69, 129, 71, 72, 73, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, + 93, -1, -1, -1, -1, -1, 40, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, + -1, 114, -1, -1, -1, -1, 119, 120, -1, -1, + -1, 124, -1, 126, 68, 69, 70, 130, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, -1, 91, 92, 93, - -1, 95, 96, 97, -1, -1, -1, -1, -1, 103, - 104, -1, 106, 107, 108, 40, 110, 111, -1, 113, - 114, 115, 116, 117, -1, -1, -1, -1, -1, 123, - -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, - 134, -1, 67, 68, 69, -1, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, -1, 91, 92, 93, -1, - 95, 96, 97, -1, -1, -1, -1, -1, 103, 104, - -1, 106, 107, 108, 40, 110, 111, -1, 113, 114, - 115, 116, 117, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, 128, -1, -1, -1, -1, -1, 134, - -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, + 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, -1, -1, -1, -1, -1, + 104, 105, -1, 107, 108, 109, 40, 111, 112, -1, + 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, + 124, -1, 126, -1, -1, 129, -1, -1, -1, -1, + -1, 135, -1, -1, 68, 69, 70, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, -1, -1, -1, -1, -1, + 104, 105, -1, 107, 108, 109, 40, 111, 112, -1, + 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, + 124, -1, 126, -1, -1, 129, -1, -1, -1, -1, + -1, 135, -1, -1, 68, 69, 70, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, -1, -1, -1, -1, -1, + 104, 105, -1, 107, 108, 109, 40, 111, 112, -1, + 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, + 124, -1, 126, -1, -1, 129, -1, -1, -1, -1, + -1, 135, -1, -1, 68, 69, 70, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, -1, -1, -1, 40, -1, + 104, 105, 106, 107, 108, 109, -1, 111, 112, -1, + 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, + 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, + 40, -1, 104, 105, -1, 107, 108, 109, -1, 111, + 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, + -1, -1, 124, -1, 126, 127, -1, 129, 68, 69, + 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, 92, 93, 94, -1, 96, 97, 98, -1, + -1, -1, 40, -1, 104, 105, -1, 107, 108, 109, + -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, + -1, -1, -1, -1, 124, -1, 126, 127, -1, 129, + 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, 92, 93, 94, -1, 96, 97, + 98, -1, -1, -1, 40, -1, 104, 105, -1, 107, + 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, + 118, -1, -1, -1, -1, -1, 124, -1, 126, 127, + -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, -1, 91, 92, 93, -1, 95, - 96, 97, -1, -1, -1, -1, -1, 103, 104, -1, - 106, 107, 108, 40, 110, 111, -1, 113, 114, 115, - 116, 117, -1, -1, -1, -1, -1, 123, -1, 125, - -1, -1, 128, -1, -1, -1, -1, -1, 134, -1, - 67, 68, 69, -1, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, -1, 91, 92, 93, -1, 95, 96, - 97, -1, -1, -1, -1, 40, 103, 104, 105, 106, - 107, 108, -1, 110, 111, -1, 113, 114, 115, 116, - 117, -1, -1, -1, -1, -1, 123, -1, 125, -1, - -1, 128, 67, 68, 69, -1, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, -1, 91, 92, 93, -1, - 95, 96, 97, -1, -1, -1, -1, 40, 103, 104, - -1, 106, 107, 108, -1, 110, 111, -1, 113, 114, - 115, 116, 117, -1, -1, -1, -1, -1, 123, -1, - 125, 126, -1, 128, 67, 68, 69, -1, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, - 93, -1, 95, 96, 97, -1, -1, -1, -1, 40, - 103, 104, -1, 106, 107, 108, -1, 110, 111, -1, - 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, - 123, -1, 125, 126, -1, 128, 67, 68, 69, -1, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, -1, - 91, 92, 93, -1, 95, 96, 97, -1, -1, -1, - -1, 40, 103, 104, -1, 106, 107, 108, -1, 110, - 111, -1, 113, 114, 115, 116, 117, -1, -1, -1, - -1, -1, 123, -1, 125, 126, -1, 128, 67, 68, - 69, -1, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, -1, 91, 92, 93, -1, 95, 96, 97, -1, - -1, -1, -1, 40, 103, 104, -1, 106, 107, 108, - -1, 110, 111, -1, 113, 114, 115, 116, 117, -1, - -1, -1, -1, -1, 123, -1, 125, 126, -1, 128, - 67, 68, 69, -1, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, -1, 91, 92, 93, -1, 95, 96, - 97, -1, -1, -1, -1, 40, 103, 104, 105, 106, - 107, 108, -1, 110, 111, -1, 113, 114, 115, 116, - 117, -1, -1, -1, -1, -1, 123, -1, 125, -1, - -1, 128, 67, 68, 69, -1, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, -1, 91, 92, 93, -1, - 95, 96, 97, -1, -1, -1, -1, 40, 103, 104, - -1, 106, 107, 108, -1, 110, 111, -1, 113, 114, - 115, 116, 117, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, 128, 67, 68, 69, -1, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, - 93, -1, 95, 96, 97, -1, -1, -1, -1, 40, - 103, 104, -1, 106, 107, 108, -1, -1, 111, -1, - 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, - 123, -1, 125, -1, -1, 128, 67, 68, 69, -1, - 71, 72, 73, 74, 75, 76, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, -1, - 91, 92, 93, -1, 95, 96, 97, -1, -1, -1, - -1, 40, -1, -1, -1, 106, 107, 108, -1, 110, - 111, -1, 113, 114, 115, 116, 117, -1, -1, -1, - -1, -1, 123, -1, 125, -1, -1, 128, 67, 68, - 69, -1, 71, 72, 73, 74, 75, 76, -1, -1, + 86, 87, 88, 89, 90, -1, 92, 93, 94, -1, + 96, 97, 98, -1, -1, -1, 40, -1, 104, 105, + -1, 107, 108, 109, -1, 111, 112, -1, 114, 115, + 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, + 126, 127, -1, 129, 68, 69, 70, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, -1, -1, -1, 40, -1, + 104, 105, 106, 107, 108, 109, -1, 111, 112, -1, + 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, + 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, + 40, -1, 104, 105, -1, 107, 108, 109, -1, 111, + 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, + -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, + 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, 92, 93, 94, -1, 96, 97, 98, -1, + -1, -1, 40, -1, 104, 105, -1, 107, 108, 109, + -1, -1, 112, -1, 114, 115, 116, 117, 118, -1, + -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, + 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 90, -1, 92, 93, 94, -1, 96, 97, + 98, -1, -1, -1, 40, -1, -1, -1, -1, 107, + 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, + 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, + -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, + 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, + 96, 97, 98, -1, -1, -1, 40, -1, -1, -1, + -1, 107, 108, 109, -1, 111, 112, -1, 114, 115, + 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, + 126, -1, -1, 129, 68, 69, 70, -1, 72, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, + 94, -1, 96, 97, 98, -1, -1, -1, 40, -1, + -1, -1, -1, -1, 108, 109, -1, 111, 112, -1, + 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, + 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, + 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 91, 92, 93, -1, 95, 96, 97, -1, - -1, -1, -1, 40, -1, -1, -1, 106, 107, 108, - -1, 110, 111, -1, 113, 114, 115, 116, 117, -1, - -1, -1, -1, -1, 123, -1, 125, -1, -1, 128, - 67, 68, 69, -1, 71, 72, 73, 74, 75, 76, + 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, + 40, -1, -1, -1, -1, -1, -1, 109, -1, 111, + 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, + -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, + 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 91, 92, 93, -1, 95, 96, - 97, -1, -1, -1, -1, 40, -1, -1, -1, -1, - 107, 108, -1, 110, 111, -1, 113, 114, 115, 116, - 117, -1, -1, -1, -1, -1, 123, -1, 125, -1, - -1, 128, 67, 68, 69, -1, 71, 72, 73, 74, - 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 91, 92, 93, -1, - 95, 96, 97, -1, -1, -1, -1, 40, -1, -1, - -1, -1, -1, 108, -1, 110, 111, -1, 113, 114, - 115, 116, 117, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, 128, 67, 68, 69, -1, 71, 72, - 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, - 93, -1, 95, 96, 97, -1, -1, -1, -1, 40, - -1, -1, -1, -1, -1, 108, -1, 110, 111, -1, - 113, 114, 115, 116, 117, -1, -1, -1, -1, -1, - 123, -1, 125, -1, -1, 128, 67, 68, 69, -1, - 71, 72, 73, 74, 75, 76, -1, -1, -1, -1, + -1, -1, 92, 93, 94, -1, 96, 97, 98, -1, + -1, -1, 40, -1, -1, -1, -1, -1, -1, 109, + -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, + -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, + 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, -1, 95, 96, 97, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, - 111, -1, 113, 114, 115, 116, 117, -1, -1, -1, - -1, -1, 123, -1, 125, -1, -1, 128 + -1, -1, -1, -1, 92, 93, 94, -1, 96, 97, + 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 111, 112, -1, 114, 115, 116, 117, + 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, + -1, 129 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -3637,63 +3645,63 @@ static const yytype_uint16 yystos[] = 0, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 36, 38, 39, 41, 43, 45, - 47, 48, 49, 52, 53, 55, 56, 63, 64, 70, - 91, 92, 100, 110, 113, 118, 119, 123, 125, 127, - 129, 136, 137, 138, 139, 145, 148, 149, 155, 159, - 160, 161, 162, 164, 172, 180, 183, 184, 187, 190, - 191, 192, 193, 197, 199, 208, 213, 214, 215, 225, - 233, 236, 249, 250, 251, 256, 260, 264, 265, 267, - 268, 90, 50, 123, 123, 165, 123, 3, 4, 17, - 127, 185, 186, 16, 3, 260, 3, 235, 260, 123, - 186, 239, 123, 127, 123, 128, 260, 123, 3, 5, - 8, 9, 10, 257, 258, 259, 260, 260, 260, 260, - 260, 255, 260, 245, 246, 247, 253, 260, 30, 32, - 37, 42, 46, 66, 100, 133, 144, 145, 146, 149, - 151, 166, 167, 182, 191, 252, 3, 0, 139, 127, - 3, 46, 151, 157, 158, 256, 146, 147, 16, 26, - 31, 32, 44, 46, 207, 266, 193, 3, 127, 220, - 224, 101, 40, 67, 68, 69, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 91, 92, 93, 95, 96, - 97, 103, 104, 106, 107, 108, 110, 111, 113, 114, - 115, 116, 117, 123, 125, 128, 3, 123, 163, 147, - 173, 189, 127, 128, 185, 186, 238, 239, 240, 248, - 123, 254, 255, 128, 260, 181, 245, 3, 156, 133, - 105, 101, 101, 134, 126, 101, 253, 3, 3, 152, - 153, 254, 254, 152, 3, 133, 146, 127, 137, 3, - 100, 68, 100, 3, 35, 51, 232, 3, 3, 209, - 260, 3, 220, 226, 227, 228, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 3, 116, 129, 263, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 245, - 260, 3, 4, 123, 125, 129, 262, 263, 254, 12, - 260, 100, 140, 141, 142, 148, 149, 197, 199, 208, - 233, 188, 185, 128, 123, 244, 3, 94, 229, 230, - 231, 134, 116, 185, 134, 143, 144, 134, 254, 253, - 258, 260, 105, 243, 101, 144, 133, 243, 254, 254, - 103, 3, 54, 194, 54, 195, 3, 210, 211, 221, - 103, 103, 111, 115, 216, 228, 125, 263, 105, 134, - 126, 261, 260, 125, 263, 90, 134, 123, 134, 133, - 142, 127, 140, 245, 103, 105, 212, 231, 134, 101, - 133, 134, 105, 36, 116, 240, 242, 103, 150, 153, - 133, 100, 134, 3, 5, 123, 240, 15, 196, 240, - 241, 127, 243, 101, 133, 5, 220, 5, 220, 217, - 222, 260, 260, 260, 126, 260, 263, 147, 254, 127, - 140, 133, 134, 260, 242, 243, 94, 231, 27, 33, - 174, 176, 178, 179, 147, 253, 260, 256, 147, 229, - 241, 127, 101, 200, 150, 211, 111, 5, 110, 111, - 127, 218, 223, 225, 126, 134, 126, 134, 34, 62, - 168, 169, 170, 171, 133, 212, 127, 231, 127, 123, - 174, 176, 65, 154, 134, 134, 198, 240, 46, 100, - 191, 204, 205, 206, 115, 260, 110, 225, 222, 260, - 105, 133, 170, 171, 237, 177, 3, 147, 147, 243, - 100, 145, 149, 191, 201, 202, 203, 208, 233, 3, - 26, 133, 206, 224, 219, 115, 222, 105, 143, 143, - 143, 243, 127, 127, 133, 203, 232, 217, 133, 224, - 143, 133, 133, 134, 234, 201, 3, 111, 217, 175, - 143, 133, 123, 111, 127, 133, 229, 143, 134, 133, - 243 + 47, 48, 49, 52, 53, 55, 56, 63, 64, 65, + 71, 92, 93, 101, 111, 114, 119, 120, 124, 126, + 128, 130, 137, 138, 139, 140, 146, 149, 150, 156, + 160, 161, 162, 163, 165, 173, 181, 184, 185, 188, + 191, 192, 193, 194, 198, 200, 209, 214, 215, 216, + 226, 234, 237, 250, 251, 252, 257, 261, 265, 266, + 268, 269, 270, 91, 50, 124, 124, 166, 124, 3, + 4, 16, 17, 128, 186, 187, 16, 3, 261, 3, + 236, 261, 124, 187, 240, 124, 128, 124, 129, 16, + 261, 124, 3, 5, 8, 9, 10, 258, 259, 260, + 261, 261, 261, 261, 261, 256, 261, 246, 247, 248, + 254, 261, 30, 32, 37, 42, 46, 67, 101, 134, + 145, 146, 147, 150, 152, 167, 168, 183, 192, 253, + 3, 0, 140, 128, 3, 46, 152, 158, 159, 257, + 147, 148, 16, 26, 31, 32, 44, 46, 208, 267, + 194, 3, 128, 221, 225, 102, 40, 68, 69, 70, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, + 93, 94, 96, 97, 98, 104, 105, 107, 108, 109, + 111, 112, 114, 115, 116, 117, 118, 124, 126, 129, + 3, 124, 164, 148, 174, 190, 128, 129, 186, 187, + 239, 240, 241, 249, 124, 255, 256, 129, 261, 182, + 246, 3, 104, 157, 134, 106, 102, 102, 135, 127, + 102, 254, 3, 3, 153, 154, 255, 255, 153, 3, + 134, 147, 128, 138, 3, 101, 69, 101, 3, 35, + 51, 233, 3, 3, 210, 261, 3, 221, 227, 228, + 229, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 117, 130, 186, 264, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 246, 261, 3, 4, 117, 124, + 126, 130, 263, 264, 255, 12, 261, 101, 141, 142, + 143, 149, 150, 198, 200, 209, 234, 189, 186, 129, + 124, 245, 3, 95, 230, 231, 232, 135, 117, 186, + 135, 144, 145, 135, 261, 255, 254, 259, 261, 106, + 244, 102, 145, 134, 244, 255, 255, 104, 3, 54, + 195, 54, 196, 3, 211, 212, 222, 104, 104, 112, + 116, 217, 229, 126, 264, 106, 135, 127, 262, 261, + 126, 264, 91, 135, 124, 135, 134, 143, 128, 141, + 246, 104, 106, 213, 232, 135, 102, 134, 135, 106, + 36, 117, 241, 243, 104, 151, 154, 134, 101, 135, + 3, 5, 124, 241, 15, 197, 241, 242, 128, 244, + 102, 134, 5, 221, 5, 221, 218, 223, 261, 261, + 261, 127, 261, 264, 148, 255, 128, 141, 134, 135, + 261, 243, 244, 95, 232, 27, 33, 175, 177, 179, + 180, 148, 254, 261, 257, 148, 230, 242, 128, 102, + 201, 151, 212, 112, 5, 111, 112, 128, 219, 224, + 226, 127, 135, 127, 135, 34, 62, 169, 170, 171, + 172, 134, 213, 128, 232, 128, 124, 175, 177, 66, + 155, 135, 135, 199, 241, 46, 101, 192, 205, 206, + 207, 116, 261, 111, 226, 223, 261, 106, 134, 171, + 172, 238, 178, 3, 148, 148, 244, 101, 146, 150, + 192, 202, 203, 204, 209, 234, 3, 26, 134, 207, + 225, 220, 116, 223, 106, 144, 144, 144, 244, 128, + 128, 134, 204, 233, 218, 134, 225, 144, 134, 134, + 135, 235, 202, 3, 112, 218, 176, 144, 134, 124, + 112, 128, 134, 230, 144, 135, 134, 244 }; #define yyerrok (yyerrstatus = 0) @@ -4509,7 +4517,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1902 "parser.y" +#line 1899 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4520,7 +4528,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1914 "parser.y" +#line 1911 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4531,7 +4539,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1917 "parser.y" +#line 1914 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4542,7 +4550,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1918 "parser.y" +#line 1915 "parser.y" {(yyval.code)=code_new();} } break; @@ -4553,7 +4561,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1920 "parser.y" +#line 1917 "parser.y" { (yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code)); } @@ -4566,51 +4574,51 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1923 "parser.y" +#line 1920 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; - case 42: + case 43: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1938 "parser.y" +#line 1936 "parser.y" {(yyval.code)=(yyvsp[(2) - (3)].code);} } break; - case 43: + case 44: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1939 "parser.y" +#line 1937 "parser.y" {(yyval.code)=0;} } break; - case 44: + case 45: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1942 "parser.y" +#line 1940 "parser.y" {(yyval.code)=0;} } break; - case 51: + case 52: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1949 "parser.y" +#line 1947 "parser.y" { PASS_ALWAYS if(as3_pass) { @@ -4625,33 +4633,33 @@ yyreduce: - case 52: + case 53: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1961 "parser.y" +#line 1959 "parser.y" {(yyval.code)=(yyvsp[(1) - (2)].code);} } break; - case 53: + case 54: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1962 "parser.y" +#line 1960 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; - case 54: + case 55: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1966 "parser.y" +#line 1964 "parser.y" { code_t**cc = &global->init->method->body->code; *cc = code_append(*cc, (yyvsp[(1) - (1)].code)); @@ -4661,11 +4669,11 @@ yyreduce: - case 55: + case 56: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1973 "parser.y" +#line 1971 "parser.y" { PASS12 (yyval.number_int)=as3_pass; @@ -4680,77 +4688,77 @@ yyreduce: - case 56: + case 57: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1992 "parser.y" +#line 1990 "parser.y" {(yyval.node)=(yyvsp[(2) - (2)].node);} } break; - case 57: + case 58: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1993 "parser.y" +#line 1991 "parser.y" {(yyval.node)=mkdummynode();} } break; - case 58: + case 59: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1995 "parser.y" +#line 1993 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; - case 59: + case 60: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1996 "parser.y" +#line 1994 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; - case 60: + case 61: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1998 "parser.y" +#line 1996 "parser.y" {(yyval.code) = (yyvsp[(1) - (1)].code);} } break; - case 61: + case 62: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1999 "parser.y" +#line 1997 "parser.y" {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));} } break; - case 62: + case 63: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2002 "parser.y" +#line 2000 "parser.y" { PASS12 if(variable_exists((yyvsp[(1) - (3)].id))) @@ -4812,44 +4820,44 @@ PASS2 - case 63: + case 64: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2061 "parser.y" +#line 2059 "parser.y" {(yyval.code) = code_new();} } break; - case 64: + case 65: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2062 "parser.y" +#line 2060 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; - case 65: + case 66: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2065 "parser.y" +#line 2063 "parser.y" {PASS12 new_state();} } break; - case 66: + case 67: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2065 "parser.y" +#line 2063 "parser.y" { (yyval.code) = code_new(); @@ -4873,22 +4881,22 @@ PASS2 - case 67: + case 68: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2084 "parser.y" +#line 2082 "parser.y" {(yyval.code)=code_new();} } break; - case 70: + case 71: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2091 "parser.y" +#line 2089 "parser.y" { PASS1 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),0,1,0); PASS2 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].classinfo),1,0); @@ -4898,11 +4906,11 @@ PASS2 - case 71: + case 72: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2095 "parser.y" +#line 2093 "parser.y" { PASS12 (yyval.id)=(yyvsp[(1) - (1)].id); @@ -4912,33 +4920,33 @@ PASS2 - case 72: + case 73: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2100 "parser.y" +#line 2098 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;} } break; - case 73: + case 74: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2101 "parser.y" +#line 2099 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;} } break; - case 74: + case 75: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2103 "parser.y" +#line 2101 "parser.y" { if((yyvsp[(1) - (8)].for_start).each) syntaxerror("invalid syntax: ; not allowed in for each statement"); (yyval.code) = code_new(); @@ -4963,11 +4971,11 @@ PASS2 - case 75: + case 76: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2123 "parser.y" +#line 2121 "parser.y" { variable_t*var = find_variable(state, (yyvsp[(2) - (6)].id)); if(!var) { @@ -5020,22 +5028,22 @@ PASS2 - case 76: + case 77: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2171 "parser.y" +#line 2169 "parser.y" {PASS12 new_state();} } break; - case 77: + case 78: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2171 "parser.y" +#line 2169 "parser.y" { (yyval.code) = code_new(); @@ -5059,22 +5067,22 @@ PASS2 - case 78: + case 79: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2190 "parser.y" +#line 2188 "parser.y" {PASS12 new_state();} } break; - case 79: + case 80: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2190 "parser.y" +#line 2188 "parser.y" { (yyval.code) = code_new(); code_t*loopstart = (yyval.code) = abc_label((yyval.code)); @@ -5094,11 +5102,11 @@ PASS2 - case 80: + case 81: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2205 "parser.y" +#line 2203 "parser.y" { (yyval.code) = abc___break__(0, ""); } @@ -5107,11 +5115,11 @@ PASS2 - case 81: + case 82: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2208 "parser.y" +#line 2206 "parser.y" { (yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id)); } @@ -5120,11 +5128,11 @@ PASS2 - case 82: + case 83: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2211 "parser.y" +#line 2209 "parser.y" { (yyval.code) = abc___continue__(0, ""); } @@ -5133,11 +5141,11 @@ PASS2 - case 83: + case 84: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2214 "parser.y" +#line 2212 "parser.y" { (yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id)); } @@ -5146,77 +5154,77 @@ PASS2 - case 84: + case 85: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2218 "parser.y" +#line 2216 "parser.y" {(yyval.code)=0;} } break; - case 85: + case 86: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2219 "parser.y" +#line 2217 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; - case 86: + case 87: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2220 "parser.y" +#line 2218 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; - case 87: + case 88: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2221 "parser.y" +#line 2219 "parser.y" {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));} } break; - case 88: + case 89: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2222 "parser.y" +#line 2220 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; - case 89: + case 90: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2223 "parser.y" +#line 2221 "parser.y" {(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));} } break; - case 90: + case 91: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2225 "parser.y" +#line 2223 "parser.y" { (yyval.code) = abc_getlocal(0, state->switch_var); (yyval.code) = code_append((yyval.code), node_read((yyvsp[(2) - (4)].node)).c); @@ -5233,11 +5241,11 @@ PASS2 - case 91: + case 92: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2236 "parser.y" +#line 2234 "parser.y" { (yyval.code) = (yyvsp[(3) - (3)].code); } @@ -5246,22 +5254,22 @@ PASS2 - case 92: + case 93: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2239 "parser.y" +#line 2237 "parser.y" {PASS12 new_state();state->switch_var=alloc_local();} } break; - case 93: + case 94: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2239 "parser.y" +#line 2237 "parser.y" { (yyval.code) = node_read((yyvsp[(4) - (8)].node)).c; (yyval.code) = abc_setlocal((yyval.code), state->switch_var); @@ -5295,11 +5303,11 @@ PASS2 - case 94: + case 95: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2270 "parser.y" +#line 2268 "parser.y" {PASS12 new_state(); state->exception_name=(yyvsp[(3) - (5)].id); PASS1 new_variable((yyvsp[(3) - (5)].id), 0, 0, 0); @@ -5310,11 +5318,11 @@ PASS2 - case 95: + case 96: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2275 "parser.y" +#line 2273 "parser.y" { namespace_t name_ns = {ACCESS_PACKAGE, ""}; multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)}; @@ -5340,22 +5348,22 @@ PASS2 - case 96: + case 97: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2295 "parser.y" +#line 2293 "parser.y" {PASS12 new_state();state->exception_name=0;} } break; - case 97: + case 98: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2295 "parser.y" +#line 2293 "parser.y" { (yyvsp[(4) - (5)].code) = var_block((yyvsp[(4) - (5)].code)); if(!(yyvsp[(4) - (5)].code)) { @@ -5376,44 +5384,44 @@ PASS2 - case 98: + case 99: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2311 "parser.y" +#line 2309 "parser.y" {(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));} } break; - case 99: + case 100: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2312 "parser.y" +#line 2310 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));} } break; - case 100: + case 101: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2313 "parser.y" +#line 2311 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);} } break; - case 101: + case 102: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2314 "parser.y" +#line 2312 "parser.y" { (yyval.catch_list) = (yyvsp[(1) - (2)].catch_list); (yyval.catch_list).finally = 0; @@ -5427,11 +5435,11 @@ PASS2 - case 102: + case 103: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2322 "parser.y" +#line 2320 "parser.y" { (yyval.catch_list).l=list_new(); (yyval.catch_list).finally = 0; @@ -5445,11 +5453,11 @@ PASS2 - case 103: + case 104: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2331 "parser.y" +#line 2329 "parser.y" {PASS12 new_state(); state->method->has_exceptions=1; state->method->late_binding=1;//for invariant scope_code @@ -5459,11 +5467,11 @@ PASS2 - case 104: + case 105: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2334 "parser.y" +#line 2332 "parser.y" { code_t*out = abc_nop(0); @@ -5512,11 +5520,11 @@ PASS2 - case 105: + case 106: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2380 "parser.y" +#line 2378 "parser.y" { (yyval.code)=(yyvsp[(2) - (2)].value).c; (yyval.code)=abc_throw((yyval.code)); @@ -5526,11 +5534,11 @@ PASS2 - case 106: + case 107: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2384 "parser.y" +#line 2382 "parser.y" { if(!state->exception_name) syntaxerror("re-throw only possible within a catch block"); @@ -5544,11 +5552,11 @@ PASS2 - case 107: + case 108: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2395 "parser.y" +#line 2393 "parser.y" { new_state(); if(state->method->has_exceptions) { @@ -5564,11 +5572,11 @@ PASS2 - case 108: + case 109: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2405 "parser.y" +#line 2403 "parser.y" { /* remove getlocal;pushwith from scope code again */ state->method->scope_code = code_cutlast(code_cutlast(state->method->scope_code)); @@ -5588,99 +5596,110 @@ PASS2 - case 110: + case 111: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2423 "parser.y" +#line 2421 "parser.y" {PASS12 (yyval.id)="package";} } break; - case 111: + case 112: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2424 "parser.y" - {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);} +#line 2422 "parser.y" + {PASS12 (yyval.id)="namespace";} } break; - case 112: + case 113: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2426 "parser.y" - {PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;} +#line 2423 "parser.y" + {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 113: + case 114: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2427 "parser.y" - {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));} +#line 2425 "parser.y" + {PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;} } break; - case 114: + case 115: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2429 "parser.y" +#line 2426 "parser.y" + {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));} + } + break; + + + + case 116: + if(as3_pass==2) { + +/* Line 1464 of skeleton.m4 */ +#line 2428 "parser.y" {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;} } break; - case 115: + case 117: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2430 "parser.y" +#line 2429 "parser.y" {PASS12 endpackage();(yyval.code)=0;} } break; - case 116: + case 118: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2431 "parser.y" +#line 2430 "parser.y" {PASS12 startpackage("");} } break; - case 117: + case 119: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2432 "parser.y" +#line 2431 "parser.y" {PASS12 endpackage();(yyval.code)=0;} } break; - case 118: + case 120: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2454 "parser.y" +#line 2453 "parser.y" { PASS12 slotinfo_t*s = registry_find((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name); @@ -5700,11 +5719,11 @@ PASS2 - case 119: + case 121: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2468 "parser.y" +#line 2467 "parser.y" { PASS12 if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6) && as3_pass==1) { @@ -5723,44 +5742,44 @@ PASS2 - case 120: + case 122: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2484 "parser.y" +#line 2483 "parser.y" {PASS12 (yyval.flags).flags=0;(yyval.flags).ns=0;} } break; - case 121: + case 123: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2485 "parser.y" +#line 2484 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; - case 122: + case 124: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2486 "parser.y" +#line 2485 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; - case 123: + case 125: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2487 "parser.y" +#line 2486 "parser.y" { PASS12 (yyval.flags).flags=(yyvsp[(1) - (2)].flags).flags|(yyvsp[(2) - (2)].flags).flags; @@ -5773,110 +5792,110 @@ PASS2 - case 124: + case 126: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2494 "parser.y" +#line 2493 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PUBLIC;(yyval.flags).ns=0;} } break; - case 125: + case 127: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2495 "parser.y" +#line 2494 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PRIVATE;(yyval.flags).ns=0;} } break; - case 126: + case 128: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2496 "parser.y" +#line 2495 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PROTECTED;(yyval.flags).ns=0;} } break; - case 127: + case 129: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2497 "parser.y" +#line 2496 "parser.y" {PASS12 (yyval.flags).flags=FLAG_STATIC;(yyval.flags).ns=0;} } break; - case 128: + case 130: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2498 "parser.y" +#line 2497 "parser.y" {PASS12 (yyval.flags).flags=FLAG_DYNAMIC;(yyval.flags).ns=0;} } break; - case 129: + case 131: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2499 "parser.y" +#line 2498 "parser.y" {PASS12 (yyval.flags).flags=FLAG_FINAL;(yyval.flags).ns=0;} } break; - case 130: + case 132: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2500 "parser.y" +#line 2499 "parser.y" {PASS12 (yyval.flags).flags=FLAG_OVERRIDE;(yyval.flags).ns=0;} } break; - case 131: + case 133: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2501 "parser.y" +#line 2500 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NATIVE;(yyval.flags).ns=0;} } break; - case 132: + case 134: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2502 "parser.y" +#line 2501 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PACKAGEINTERNAL;(yyval.flags).ns=0;} } break; - case 133: + case 135: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2503 "parser.y" +#line 2502 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NAMESPACE; (yyval.flags).ns=(yyvsp[(1) - (1)].id); } @@ -5885,99 +5904,99 @@ PASS2 - case 134: + case 136: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2507 "parser.y" +#line 2506 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; - case 135: + case 137: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2508 "parser.y" +#line 2507 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; - case 136: + case 138: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2510 "parser.y" +#line 2509 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; - case 137: + case 139: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2511 "parser.y" +#line 2510 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; - case 138: + case 140: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2513 "parser.y" +#line 2512 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; - case 139: + case 141: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2514 "parser.y" +#line 2513 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; - case 140: + case 142: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2518 "parser.y" +#line 2517 "parser.y" {PASS12 startclass(&(yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list));} } break; - case 141: + case 143: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2520 "parser.y" +#line 2519 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; - case 142: + case 144: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2524 "parser.y" +#line 2523 "parser.y" {PASS12 (yyvsp[(1) - (5)].flags).flags|=FLAG_INTERFACE; startclass(&(yyvsp[(1) - (5)].flags),(yyvsp[(3) - (5)].id),0,(yyvsp[(4) - (5)].classinfo_list));} } @@ -5985,33 +6004,33 @@ PASS2 - case 143: + case 145: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2527 "parser.y" +#line 2526 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; - case 149: + case 151: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2536 "parser.y" +#line 2535 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; - case 152: + case 154: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2540 "parser.y" +#line 2539 "parser.y" { code_t*c = state->cls->static_init->header; c = code_append(c, (yyvsp[(1) - (1)].code)); @@ -6022,11 +6041,11 @@ PASS2 - case 158: + case 160: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2551 "parser.y" +#line 2550 "parser.y" { syntaxerror("variable declarations not allowed in interfaces"); } @@ -6035,11 +6054,11 @@ PASS2 - case 159: + case 161: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2554 "parser.y" +#line 2553 "parser.y" { PASS12 (yyvsp[(1) - (8)].flags).flags |= FLAG_PUBLIC; @@ -6055,55 +6074,55 @@ PASS2 - case 162: + case 164: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2624 "parser.y" +#line 2623 "parser.y" {PASS12 setslotstate(&(yyvsp[(1) - (2)].flags),(yyvsp[(2) - (2)].token));} } break; - case 163: + case 165: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2624 "parser.y" +#line 2623 "parser.y" {PASS12 (yyval.code)=(yyvsp[(4) - (4)].code);setslotstate(0, 0);} } break; - case 164: + case 166: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2626 "parser.y" +#line 2625 "parser.y" {PASS12 (yyval.code)=0;} } break; - case 165: + case 167: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2627 "parser.y" +#line 2626 "parser.y" {PASS12 (yyval.code)=0;} } break; - case 166: + case 168: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2630 "parser.y" +#line 2629 "parser.y" { PASS12 int flags = slotstate_flags->flags; @@ -6189,22 +6208,22 @@ PASS12 - case 167: + case 169: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2713 "parser.y" +#line 2712 "parser.y" {(yyval.constant)=0;} } break; - case 168: + case 170: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2714 "parser.y" +#line 2713 "parser.y" { (yyval.constant) = malloc(sizeof(constant_t)); *(yyval.constant) = node_eval((yyvsp[(2) - (2)].node)); @@ -6217,22 +6236,22 @@ PASS12 - case 169: + case 171: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2723 "parser.y" +#line 2722 "parser.y" {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));} } break; - case 170: + case 172: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2724 "parser.y" +#line 2723 "parser.y" { (yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint)); } @@ -6241,132 +6260,132 @@ PASS12 - case 171: + case 173: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2727 "parser.y" +#line 2726 "parser.y" {(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));} } break; - case 172: + case 174: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2728 "parser.y" +#line 2727 "parser.y" {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);free((char*)(yyvsp[(1) - (1)].str).str);} } break; - case 173: + case 175: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2729 "parser.y" +#line 2728 "parser.y" {(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));} } break; - case 174: + case 176: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2730 "parser.y" +#line 2729 "parser.y" {(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));} } break; - case 175: + case 177: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2731 "parser.y" +#line 2730 "parser.y" {(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));} } break; - case 176: + case 178: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2732 "parser.y" +#line 2731 "parser.y" {(yyval.constant) = constant_new_undefined((yyvsp[(1) - (1)].token));} } break; - case 177: + case 179: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2733 "parser.y" +#line 2732 "parser.y" {(yyval.constant) = constant_new_float(__builtin_nan(""));} } break; - case 179: + case 181: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2753 "parser.y" +#line 2752 "parser.y" {PASS_ALWAYS if(!xml_level++) tokenizer_begin_xml();} } break; - case 180: + case 182: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2754 "parser.y" +#line 2753 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; - case 181: + case 183: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2755 "parser.y" +#line 2754 "parser.y" {PASS_ALWAYS if(!--xml_level) tokenizer_end_xml(); else tokenizer_begin_xmltext();} } break; - case 182: + case 184: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2757 "parser.y" +#line 2756 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; - case 183: + case 185: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2757 "parser.y" +#line 2756 "parser.y" { (yyval.id)=strdup("{...}"); as3_warning("xml string substitution not yet supported"); @@ -6376,22 +6395,22 @@ PASS12 - case 184: + case 186: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2761 "parser.y" +#line 2760 "parser.y" {PASS_ALWAYS tokenizer_begin_xml();} } break; - case 185: + case 187: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2761 "parser.y" +#line 2760 "parser.y" { (yyval.id)=strdup("{...}"); as3_warning("xml string substitution not yet supported"); @@ -6401,22 +6420,22 @@ PASS12 - case 186: + case 188: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2765 "parser.y" +#line 2764 "parser.y" {(yyval.id)="";} } break; - case 187: + case 189: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2766 "parser.y" +#line 2765 "parser.y" { (yyval.id) = concat2((yyvsp[(1) - (2)].id), "{...}"); } @@ -6425,77 +6444,77 @@ PASS12 - case 188: + case 190: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2769 "parser.y" +#line 2768 "parser.y" {(yyval.id)=concat2((yyvsp[(1) - (2)].id), string_cstr(&(yyvsp[(2) - (2)].str)));} } break; - case 189: + case 191: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2770 "parser.y" +#line 2769 "parser.y" {(yyval.id)=concat2((yyvsp[(1) - (2)].id), ">");} } break; - case 190: + case 192: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2772 "parser.y" +#line 2771 "parser.y" {(yyval.id)=concat2((yyvsp[(1) - (2)].id),(yyvsp[(2) - (2)].id));} } break; - case 191: + case 193: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2773 "parser.y" +#line 2772 "parser.y" {(yyval.id)=concat3((yyvsp[(1) - (3)].id),(yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));free((yyvsp[(2) - (3)].id));free((yyvsp[(3) - (3)].id));} } break; - case 192: + case 194: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2775 "parser.y" +#line 2774 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 193: + case 195: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2776 "parser.y" +#line 2775 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 194: + case 196: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2778 "parser.y" +#line 2777 "parser.y" { (yyval.id) = allocprintf("<%s%s>%s", (yyvsp[(2) - (10)].id), (yyvsp[(3) - (10)].id), (yyvsp[(5) - (10)].id), (yyvsp[(8) - (10)].id)); free((yyvsp[(2) - (10)].id));free((yyvsp[(3) - (10)].id));free((yyvsp[(5) - (10)].id));free((yyvsp[(8) - (10)].id)); @@ -6505,11 +6524,11 @@ PASS12 - case 195: + case 197: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2782 "parser.y" +#line 2781 "parser.y" { (yyval.id) = allocprintf("<%s%s/>", (yyvsp[(2) - (6)].id), (yyvsp[(3) - (6)].id)); } @@ -6518,11 +6537,11 @@ PASS12 - case 196: + case 198: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2785 "parser.y" +#line 2784 "parser.y" { (yyval.id) = allocprintf("<%s%s>%s%s", (yyvsp[(2) - (11)].id), (yyvsp[(3) - (11)].id), (yyvsp[(5) - (11)].id), (yyvsp[(6) - (11)].id), (yyvsp[(9) - (11)].id)); free((yyvsp[(2) - (11)].id));free((yyvsp[(3) - (11)].id));free((yyvsp[(5) - (11)].id));free((yyvsp[(6) - (11)].id));free((yyvsp[(9) - (11)].id)); @@ -6532,55 +6551,55 @@ PASS12 - case 197: + case 199: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2790 "parser.y" +#line 2789 "parser.y" {(yyval.id)=strdup("");} } break; - case 198: + case 200: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2791 "parser.y" +#line 2790 "parser.y" {(yyval.id)=concat2(" ",(yyvsp[(1) - (1)].id));} } break; - case 199: + case 201: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2792 "parser.y" +#line 2791 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 200: + case 202: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2793 "parser.y" +#line 2792 "parser.y" {(yyval.id)=concat3((yyvsp[(1) - (2)].id)," ",(yyvsp[(2) - (2)].id));free((yyvsp[(1) - (2)].id));free((yyvsp[(2) - (2)].id));} } break; - case 201: + case 203: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2795 "parser.y" +#line 2794 "parser.y" { (yyval.id) = strdup("{...}"); } @@ -6589,11 +6608,11 @@ PASS12 - case 202: + case 204: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2798 "parser.y" +#line 2797 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); (yyval.id) = concat2("{...}=",str); @@ -6603,11 +6622,11 @@ PASS12 - case 203: + case 205: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2802 "parser.y" +#line 2801 "parser.y" { (yyval.id) = strdup("{...}={...}"); } @@ -6616,11 +6635,11 @@ PASS12 - case 204: + case 206: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2805 "parser.y" +#line 2804 "parser.y" { (yyval.id) = concat2((yyvsp[(1) - (3)].id),"={...}"); } @@ -6629,14 +6648,14 @@ PASS12 - case 205: + case 207: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2808 "parser.y" +#line 2807 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); - (yyval.id)=allocprintf("%s=\"%s\"", (yyvsp[(1) - (3)].id),str); + (yyval.id)=allocprintf("%s=%s", (yyvsp[(1) - (3)].id),str); free(str); free((yyvsp[(1) - (3)].id));free((char*)(yyvsp[(3) - (3)].str).str); } @@ -6645,11 +6664,11 @@ PASS12 - case 206: + case 208: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2818 "parser.y" +#line 2817 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6659,11 +6678,11 @@ PASS12 - case 207: + case 209: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2822 "parser.y" +#line 2821 "parser.y" { PASS12 (yyval.params)=(yyvsp[(1) - (1)].params); @@ -6673,11 +6692,11 @@ PASS12 - case 208: + case 210: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2828 "parser.y" +#line 2827 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6689,11 +6708,11 @@ PASS12 - case 209: + case 211: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2834 "parser.y" +#line 2833 "parser.y" { PASS12 (yyval.params) =(yyvsp[(1) - (4)].params); @@ -6705,11 +6724,11 @@ PASS12 - case 210: + case 212: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2842 "parser.y" +#line 2841 "parser.y" { PASS12 (yyval.params) = (yyvsp[(1) - (3)].params); @@ -6720,11 +6739,11 @@ PASS12 - case 211: + case 213: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2847 "parser.y" +#line 2846 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6735,11 +6754,11 @@ PASS12 - case 212: + case 214: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2853 "parser.y" +#line 2852 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -6753,11 +6772,11 @@ PASS12 - case 213: + case 215: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2861 "parser.y" +#line 2860 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -6771,33 +6790,33 @@ PASS12 - case 216: + case 218: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2871 "parser.y" +#line 2870 "parser.y" {PASS12 (yyval.token)=0;} } break; - case 217: + case 219: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2874 "parser.y" +#line 2873 "parser.y" {PASS12 startfunction(&(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));} } break; - case 218: + case 220: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2875 "parser.y" +#line 2874 "parser.y" { PASS1 endfunction(&(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),0,0); @@ -6817,33 +6836,33 @@ PASS12 - case 220: + case 222: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2891 "parser.y" +#line 2890 "parser.y" {PASS12 (yyval.id)=0;} } break; - case 221: + case 223: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2893 "parser.y" +#line 2892 "parser.y" {PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));} } break; - case 222: + case 224: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2894 "parser.y" +#line 2893 "parser.y" { PASS1 endfunction(0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),0,0); @@ -6867,11 +6886,11 @@ PASS12 - case 223: + case 225: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2916 "parser.y" +#line 2915 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -6895,11 +6914,11 @@ PASS12 - case 224: + case 226: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2935 "parser.y" +#line 2934 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -6918,121 +6937,121 @@ PASS12 - case 227: + case 229: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2952 "parser.y" +#line 2951 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));} } break; - case 228: + case 230: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2953 "parser.y" +#line 2952 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));} } break; - case 229: + case 231: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2955 "parser.y" +#line 2954 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);} } break; - case 230: + case 232: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2956 "parser.y" +#line 2955 "parser.y" {PASS12 (yyval.classinfo)=TYPE_ANY;} } break; - case 231: + case 233: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2957 "parser.y" +#line 2956 "parser.y" {PASS12 (yyval.classinfo)=TYPE_VOID;} } break; - case 232: + case 234: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2966 "parser.y" +#line 2965 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; - case 233: + case 235: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2967 "parser.y" +#line 2966 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; - case 234: + case 236: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2971 "parser.y" +#line 2970 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; - case 235: + case 237: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2972 "parser.y" +#line 2971 "parser.y" {(yyval.value_list)=(yyvsp[(2) - (3)].value_list);} } break; - case 236: + case 238: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2974 "parser.y" +#line 2973 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; - case 239: + case 241: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2978 "parser.y" +#line 2977 "parser.y" {(yyval.value_list).number=1; (yyval.value_list).cc = (yyvsp[(1) - (1)].value).c; } @@ -7041,22 +7060,22 @@ PASS12 - case 240: + case 242: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2982 "parser.y" +#line 2981 "parser.y" {(yyval.value_list) = (yyvsp[(1) - (2)].value_list);} } break; - case 241: + case 243: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2983 "parser.y" +#line 2982 "parser.y" { (yyval.value_list).number= (yyvsp[(1) - (2)].value_list).number+1; (yyval.value_list).cc = code_append((yyvsp[(1) - (2)].value_list).cc, (yyvsp[(2) - (2)].value).c); @@ -7066,11 +7085,11 @@ PASS12 - case 243: + case 245: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2989 "parser.y" +#line 2988 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (4)].node)); (yyval.value).c = v.c; @@ -7115,11 +7134,11 @@ PASS12 - case 244: + case 246: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3033 "parser.y" +#line 3032 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); @@ -7174,11 +7193,11 @@ PASS12 - case 245: + case 247: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3083 "parser.y" +#line 3082 "parser.y" { if(!state->cls) syntaxerror("super() not allowed outside of a class"); if(!state->method) syntaxerror("super() not allowed outside of a function"); @@ -7204,11 +7223,11 @@ PASS12 - case 246: + case 248: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3104 "parser.y" +#line 3103 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (2)].node)); (yyval.value).c = v.c; @@ -7235,11 +7254,11 @@ PASS12 - case 247: + case 249: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3126 "parser.y" +#line 3125 "parser.y" { (yyval.code) = abc_returnvoid(0); } @@ -7248,11 +7267,11 @@ PASS12 - case 248: + case 250: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3129 "parser.y" +#line 3128 "parser.y" { (yyval.code) = (yyvsp[(2) - (2)].value).c; (yyval.code) = abc_returnvalue((yyval.code)); @@ -7262,11 +7281,11 @@ PASS12 - case 249: + case 251: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3136 "parser.y" +#line 3135 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7275,11 +7294,11 @@ PASS12 - case 250: + case 252: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3139 "parser.y" +#line 3138 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7288,11 +7307,11 @@ PASS12 - case 251: + case 253: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3142 "parser.y" +#line 3141 "parser.y" { (yyval.node) = mkmultinode(&node_comma, (yyvsp[(1) - (1)].node)); } @@ -7301,11 +7320,11 @@ PASS12 - case 252: + case 254: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3145 "parser.y" +#line 3144 "parser.y" { (yyval.node) = multinode_extend((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); } @@ -7314,11 +7333,11 @@ PASS12 - case 253: + case 255: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3148 "parser.y" +#line 3147 "parser.y" { (yyval.code) = node_exec((yyvsp[(1) - (1)].node)); } @@ -7327,11 +7346,11 @@ PASS12 - case 254: + case 256: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3151 "parser.y" +#line 3150 "parser.y" { (yyval.code) = (yyvsp[(1) - (3)].code); (yyval.code) = code_append((yyval.code), node_exec((yyvsp[(3) - (3)].node))); @@ -7341,88 +7360,88 @@ PASS12 - case 255: + case 257: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3156 "parser.y" +#line 3155 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; - case 256: + case 258: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3157 "parser.y" +#line 3156 "parser.y" {(yyval.value_list)=(yyvsp[(1) - (1)].value_list);} } break; - case 257: + case 259: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3159 "parser.y" +#line 3158 "parser.y" {(yyval.code)=abc_pushstring(0,(yyvsp[(1) - (1)].id));} } break; - case 258: + case 260: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3160 "parser.y" +#line 3159 "parser.y" {(yyval.code)=abc_pushstring2(0,&(yyvsp[(1) - (1)].str));} } break; - case 259: + case 261: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3161 "parser.y" +#line 3160 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; - case 260: + case 262: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3162 "parser.y" +#line 3161 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; - case 261: + case 263: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3163 "parser.y" +#line 3162 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; - case 262: + case 264: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3165 "parser.y" +#line 3164 "parser.y" { (yyval.value_list).cc = 0; (yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].code)); @@ -7434,11 +7453,11 @@ PASS12 - case 263: + case 265: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3171 "parser.y" +#line 3170 "parser.y" { (yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc; (yyval.value_list).number = (yyvsp[(1) - (5)].value_list).number+2; @@ -7450,77 +7469,77 @@ PASS12 - case 264: + case 266: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3180 "parser.y" +#line 3179 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 265: + case 267: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3181 "parser.y" +#line 3180 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 266: + case 268: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3182 "parser.y" +#line 3181 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 267: + case 269: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3183 "parser.y" +#line 3182 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 268: + case 270: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3184 "parser.y" +#line 3183 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 269: + case 271: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3185 "parser.y" +#line 3184 "parser.y" {(yyval.node) = (yyvsp[(1) - (1)].node);} } break; - case 270: + case 272: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3187 "parser.y" +#line 3186 "parser.y" { (yyval.node) = mkconstnode((yyvsp[(1) - (1)].constant)); } @@ -7529,11 +7548,11 @@ PASS12 - case 271: + case 273: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3191 "parser.y" +#line 3190 "parser.y" { typedcode_t v; v.c = 0; @@ -7549,11 +7568,11 @@ PASS12 - case 272: + case 274: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3203 "parser.y" +#line 3202 "parser.y" { typedcode_t v; v.c = 0; @@ -7576,11 +7595,11 @@ PASS12 - case 273: + case 275: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3221 "parser.y" +#line 3220 "parser.y" { PASS1 state->method->need_arguments = 1; @@ -7595,11 +7614,11 @@ PASS12 - case 274: + case 276: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3232 "parser.y" +#line 3231 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7613,11 +7632,11 @@ PASS12 - case 275: + case 277: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3242 "parser.y" +#line 3241 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7631,561 +7650,561 @@ PASS12 - case 276: + case 278: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3251 "parser.y" +#line 3250 "parser.y" {(yyval.node) = mknode2(&node_lt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 277: + case 279: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3252 "parser.y" +#line 3251 "parser.y" {(yyval.node) = mknode2(&node_gt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 278: + case 280: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3253 "parser.y" +#line 3252 "parser.y" {(yyval.node) = mknode2(&node_le,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 279: + case 281: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3254 "parser.y" +#line 3253 "parser.y" {(yyval.node) = mknode2(&node_ge,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 280: + case 282: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3255 "parser.y" +#line 3254 "parser.y" {(yyval.node) = mknode2(&node_eqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 281: + case 283: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3256 "parser.y" +#line 3255 "parser.y" {(yyval.node) = mknode2(&node_eqeqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 282: + case 284: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3257 "parser.y" +#line 3256 "parser.y" {(yyval.node) = mknode2(&node_noteqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 283: + case 285: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3258 "parser.y" +#line 3257 "parser.y" {(yyval.node) = mknode2(&node_noteq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 284: + case 286: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3259 "parser.y" +#line 3258 "parser.y" {(yyval.node) = mknode2(&node_oror,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 285: + case 287: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3260 "parser.y" +#line 3259 "parser.y" {(yyval.node) = mknode2(&node_andand,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 286: + case 288: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3261 "parser.y" +#line 3260 "parser.y" {(yyval.node) = mknode1(&node_not, (yyvsp[(2) - (2)].node));} } break; - case 287: + case 289: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3262 "parser.y" +#line 3261 "parser.y" {(yyval.node) = mknode1(&node_bitnot, (yyvsp[(2) - (2)].node));} } break; - case 288: + case 290: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3263 "parser.y" +#line 3262 "parser.y" {(yyval.node) = mknode2(&node_bitand, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 289: + case 291: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3264 "parser.y" +#line 3263 "parser.y" {(yyval.node) = mknode2(&node_bitxor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 290: + case 292: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3265 "parser.y" +#line 3264 "parser.y" {(yyval.node) = mknode2(&node_bitor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 291: + case 293: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3266 "parser.y" +#line 3265 "parser.y" {(yyval.node) = mknode2(&node_shr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 292: + case 294: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3267 "parser.y" +#line 3266 "parser.y" {(yyval.node) = mknode2(&node_ushr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 293: + case 295: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3268 "parser.y" +#line 3267 "parser.y" {(yyval.node) = mknode2(&node_shl, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 294: + case 296: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3269 "parser.y" +#line 3268 "parser.y" {(yyval.node) = mknode2(&node_div, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 295: + case 297: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3270 "parser.y" +#line 3269 "parser.y" {(yyval.node) = mknode2(&node_mod, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 296: + case 298: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3271 "parser.y" +#line 3270 "parser.y" {(yyval.node) = mknode2(&node_plus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 297: + case 299: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3272 "parser.y" +#line 3271 "parser.y" {(yyval.node) = mknode2(&node_minus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 298: + case 300: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3273 "parser.y" +#line 3272 "parser.y" {(yyval.node) = mknode2(&node_multiply, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 299: + case 301: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3274 "parser.y" +#line 3273 "parser.y" {(yyval.node) = mknode2(&node_in, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 300: + case 302: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3275 "parser.y" +#line 3274 "parser.y" {(yyval.node) = mknode2(&node_as, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 301: + case 303: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3276 "parser.y" +#line 3275 "parser.y" {(yyval.node) = mknode2(&node_instanceof, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 302: + case 304: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3277 "parser.y" +#line 3276 "parser.y" {(yyval.node) = mknode2(&node_is, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 303: + case 305: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3278 "parser.y" +#line 3277 "parser.y" {(yyval.node) = mknode1(&node_typeof, (yyvsp[(3) - (4)].node));} } break; - case 304: + case 306: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3279 "parser.y" +#line 3278 "parser.y" {(yyval.node) = mknode1(&node_void, (yyvsp[(2) - (2)].node));} } break; - case 305: + case 307: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3280 "parser.y" +#line 3279 "parser.y" { (yyval.node) = mkconstnode(constant_new_undefined());} } break; - case 306: + case 308: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3281 "parser.y" +#line 3280 "parser.y" { (yyval.node)=(yyvsp[(2) - (3)].node);} } break; - case 307: + case 309: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3282 "parser.y" +#line 3281 "parser.y" {(yyval.node) = mknode1(&node_neg, (yyvsp[(2) - (2)].node));} } break; - case 308: + case 310: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3283 "parser.y" +#line 3282 "parser.y" {(yyval.node) = mknode2(&node_arraylookup, (yyvsp[(1) - (4)].node),(yyvsp[(3) - (4)].node));} } break; - case 309: + case 311: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3284 "parser.y" +#line 3283 "parser.y" {(yyval.node) = mknode2(&node_muleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 310: + case 312: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3285 "parser.y" +#line 3284 "parser.y" {(yyval.node) = mknode2(&node_modeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 311: + case 313: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3286 "parser.y" +#line 3285 "parser.y" {(yyval.node) = mknode2(&node_shleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 312: + case 314: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3287 "parser.y" +#line 3286 "parser.y" {(yyval.node) = mknode2(&node_shreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 313: + case 315: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3288 "parser.y" +#line 3287 "parser.y" {(yyval.node) = mknode2(&node_ushreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 314: + case 316: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3289 "parser.y" +#line 3288 "parser.y" { (yyval.node) = mknode2(&node_diveq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 315: + case 317: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3290 "parser.y" +#line 3289 "parser.y" { (yyval.node) = mknode2(&node_bitoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 316: + case 318: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3291 "parser.y" +#line 3290 "parser.y" { (yyval.node) = mknode2(&node_bitxoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 317: + case 319: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3292 "parser.y" +#line 3291 "parser.y" { (yyval.node) = mknode2(&node_bitandeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 318: + case 320: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3293 "parser.y" +#line 3292 "parser.y" { (yyval.node) = mknode2(&node_pluseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 319: + case 321: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3294 "parser.y" +#line 3293 "parser.y" { (yyval.node) = mknode2(&node_minuseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 320: + case 322: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3295 "parser.y" +#line 3294 "parser.y" { (yyval.node) = mknode2(&node_assign, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 321: + case 323: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3296 "parser.y" +#line 3295 "parser.y" { (yyval.node) = mknode3(&node_tenary, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));} } break; - case 322: + case 324: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3298 "parser.y" +#line 3297 "parser.y" { (yyval.node) = mknode1(&node_rplusplus, (yyvsp[(1) - (2)].node));} } break; - case 323: + case 325: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3299 "parser.y" +#line 3298 "parser.y" { (yyval.node) = mknode1(&node_rminusminus, (yyvsp[(1) - (2)].node));} } break; - case 324: + case 326: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3300 "parser.y" +#line 3299 "parser.y" {(yyval.node) = mknode1(&node_lplusplus, (yyvsp[(2) - (2)].node)); } } break; - case 325: + case 327: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3301 "parser.y" +#line 3300 "parser.y" {(yyval.node) = mknode1(&node_lminusminus, (yyvsp[(2) - (2)].node)); } } break; - case 326: + case 328: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3304 "parser.y" +#line 3303 "parser.y" { if(!state->cls->info) syntaxerror("super keyword not allowed outside a class"); classinfo_t*t = state->cls->info->superclass; @@ -8204,11 +8223,11 @@ PASS12 - case 327: + case 329: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3318 "parser.y" +#line 3317 "parser.y" { typedcode_t v; multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(2) - (2)].id)}; @@ -8221,22 +8240,22 @@ PASS12 - case 328: + case 330: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3326 "parser.y" +#line 3325 "parser.y" {PASS12 new_state();state->xmlfilter=1;} } break; - case 329: + case 331: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3326 "parser.y" +#line 3325 "parser.y" { PASS1 old_state(); PASS2 @@ -8295,18 +8314,29 @@ PASS12 - case 330: + case 332: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3380 "parser.y" +#line 3379 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 331: + case 333: + if(as3_pass==2) { + +/* Line 1464 of skeleton.m4 */ +#line 3380 "parser.y" + {(yyval.id)="*";} + } + break; + + + + case 334: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ @@ -8317,7 +8347,7 @@ PASS12 - case 333: + case 336: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ @@ -8328,11 +8358,11 @@ PASS12 - case 334: + case 337: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3385 "parser.y" +#line 3391 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (5)].node)); typedcode_t w = node_read(resolve_identifier((yyvsp[(3) - (5)].id))); @@ -8356,11 +8386,11 @@ PASS12 - case 335: + case 338: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3403 "parser.y" +#line 3409 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (3)].node)); multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)}; @@ -8373,11 +8403,11 @@ PASS12 - case 336: + case 339: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3410 "parser.y" +#line 3416 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (5)].node)); typedcode_t w = node_read((yyvsp[(4) - (5)].node)); @@ -8393,11 +8423,11 @@ PASS12 - case 337: + case 340: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3421 "parser.y" +#line 3427 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8410,11 +8440,11 @@ PASS12 - case 338: + case 341: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3428 "parser.y" +#line 3434 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8427,11 +8457,11 @@ PASS12 - case 339: + case 342: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3435 "parser.y" +#line 3441 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8447,11 +8477,11 @@ PASS12 - case 340: + case 343: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3445 "parser.y" +#line 3451 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8467,11 +8497,11 @@ PASS12 - case 341: + case 344: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3456 "parser.y" +#line 3462 "parser.y" { typedcode_t v1 = node_read((yyvsp[(1) - (3)].node)); (yyval.value).c = v1.c; @@ -8539,11 +8569,11 @@ PASS12 - case 342: + case 345: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3634 "parser.y" +#line 3640 "parser.y" { PASS1 /* Queue unresolved identifiers for checking against the parent @@ -8573,11 +8603,11 @@ PASS12 - case 343: + case 346: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3670 "parser.y" +#line 3676 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8590,11 +8620,11 @@ PASS12 - case 344: + case 347: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3677 "parser.y" +#line 3683 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8607,11 +8637,11 @@ PASS12 - case 345: + case 348: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3684 "parser.y" +#line 3690 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8624,11 +8654,11 @@ PASS12 - case 346: + case 349: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3691 "parser.y" +#line 3697 "parser.y" { PASS12 trie_put(active_namespaces, (yyvsp[(2) - (2)].namespace_decl)->name, (void*)(yyvsp[(2) - (2)].namespace_decl)->url); @@ -8655,11 +8685,24 @@ PASS12 - case 347: + case 350: + if(as3_pass==2) { + +/* Line 1464 of skeleton.m4 */ +#line 3720 "parser.y" + { + as3_warning("default xml namespaces not supported yet"); +} + } + break; + + + + case 351: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3713 "parser.y" +#line 3724 "parser.y" { PASS12 const char*url = (yyvsp[(3) - (3)].classinfo)->name; @@ -8688,7 +8731,7 @@ PASS12 /* Line 1464 of skeleton.m4 */ -#line 8692 "parser.tab.c" +#line 8735 "parser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/lib/as3/parser.tab.h b/lib/as3/parser.tab.h index f28ee54..4fbd839 100644 --- a/lib/as3/parser.tab.h +++ b/lib/as3/parser.tab.h @@ -99,53 +99,54 @@ KW_NUMBER = 315, KW_STRING = 316, KW_DEFAULT = 317, - KW_DELETE = 318, - KW_IF = 319, - KW_ELSE = 320, - KW_BREAK = 321, - KW_IS = 322, - KW_IN = 323, - KW_AS = 324, - T_DICTSTART = 325, - T_EQEQ = 326, - T_EQEQEQ = 327, - T_NE = 328, - T_NEE = 329, - T_LE = 330, - T_GE = 331, - T_ORBY = 332, - T_DIVBY = 333, - T_MODBY = 334, - T_MULBY = 335, - T_ANDBY = 336, - T_PLUSBY = 337, - T_MINUSBY = 338, - T_XORBY = 339, - T_SHRBY = 340, - T_SHLBY = 341, - T_USHRBY = 342, - T_OROR = 343, - T_ANDAND = 344, - T_COLONCOLON = 345, - T_MINUSMINUS = 346, - T_PLUSPLUS = 347, - T_DOTDOT = 348, - T_DOTDOTDOT = 349, - T_SHL = 350, - T_USHR = 351, - T_SHR = 352, - prec_none = 353, - below_semicolon = 354, - below_assignment = 355, - below_lt = 356, - below_minus = 357, - minusminus_prefix = 358, - plusplus_prefix = 359, - below_curly = 360, - new2 = 361, - above_identifier = 362, - below_else = 363, - above_function = 364 + KW_DEFAULT_XML = 318, + KW_DELETE = 319, + KW_IF = 320, + KW_ELSE = 321, + KW_BREAK = 322, + KW_IS = 323, + KW_IN = 324, + KW_AS = 325, + T_DICTSTART = 326, + T_EQEQ = 327, + T_EQEQEQ = 328, + T_NE = 329, + T_NEE = 330, + T_LE = 331, + T_GE = 332, + T_ORBY = 333, + T_DIVBY = 334, + T_MODBY = 335, + T_MULBY = 336, + T_ANDBY = 337, + T_PLUSBY = 338, + T_MINUSBY = 339, + T_XORBY = 340, + T_SHRBY = 341, + T_SHLBY = 342, + T_USHRBY = 343, + T_OROR = 344, + T_ANDAND = 345, + T_COLONCOLON = 346, + T_MINUSMINUS = 347, + T_PLUSPLUS = 348, + T_DOTDOT = 349, + T_DOTDOTDOT = 350, + T_SHL = 351, + T_USHR = 352, + T_SHR = 353, + prec_none = 354, + below_semicolon = 355, + below_assignment = 356, + below_lt = 357, + below_minus = 358, + minusminus_prefix = 359, + plusplus_prefix = 360, + below_curly = 361, + new2 = 362, + above_identifier = 363, + below_else = 364, + above_function = 365 }; #endif @@ -194,7 +195,7 @@ tokenunion /* Line 1685 of skeleton.m4 */ -#line 198 "parser.tab.h" +#line 199 "parser.tab.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff --git a/lib/as3/parser.y b/lib/as3/parser.y index b1e81e8..a574b88 100644 --- a/lib/as3/parser.y +++ b/lib/as3/parser.y @@ -138,6 +138,7 @@ extern int a3_lex(); %token KW_NUMBER "Number" %token KW_STRING "String" %token KW_DEFAULT "default" +%token KW_DEFAULT_XML "default xml" %token KW_DELETE "delete" %token KW_IF "if" %token KW_ELSE "else" @@ -199,7 +200,7 @@ extern int a3_lex(); %type VAR_READ %type FOR FOR_IN IF WHILE DO_WHILE MAYBEELSE BREAK RETURN CONTINUE TRY %type INNERFUNCTION -%type USE_NAMESPACE +%type USE_NAMESPACE DEFAULT_NAMESPACE %type FOR_INIT %type IMPORT %type MAYBETYPE @@ -327,6 +328,7 @@ typedef struct _classstate { methodstate_t*static_init; //code_t*init; //code_t*static_init; + parsedclass_t*dependencies; char has_constructor; } classstate_t; @@ -683,8 +685,10 @@ static variable_t* new_variable2(const char*name, classinfo_t*type, char init, c { if(maybeslot) { variable_t*v = find_slot(state, name); - if(v) + if(v) { + alloc_local(); return v; + } } NEW(variable_t, v); @@ -724,16 +728,13 @@ static code_t* var_block(code_t*body) int t; int num=0; for(t=0;tvars->hashsize;t++) { - dictentry_t*e = state->vars->slots[t]; - while(e) { - variable_t*v = (variable_t*)e->data; + DICT_ITERATE_DATA(state->vars, variable_t*, v) { if(v->type && v->init) { c = defaultvalue(c, v->type); c = abc_setlocal(c, v->index); k = abc_kill(k, v->index); num++; } - e = e->next; } } @@ -916,6 +917,21 @@ static memberinfo_t* findmember_nsset(classinfo_t*cls, const char*name, char rec return registry_findmember_nsset(cls, state->active_namespace_urls, name, recurse); } +static void innerfunctions2vars(methodstate_t*m) +{ + methodstate_list_t*l = m->innerfunctions; + while(l) { + methodstate_t*m = l->methodstate; + + variable_t* v = new_variable2(m->info->name, TYPE_FUNCTION(m->info), 0, 0); + m->var_index = v->index; + if(m->is_a_slot) + m->slot_index = m->is_a_slot; + v->is_inner_method = m; + l = l->next; + } +} + static void function_initvars(methodstate_t*m, char has_params, params_t*params, int flags, char var0) { if(var0) { @@ -935,46 +951,29 @@ static void function_initvars(methodstate_t*m, char has_params, params_t*params, variable_t*v = new_variable2(p->param->name, p->param->type, 0, 1); v->is_parameter = 1; } - variable_t*v = new_variable2("arguments", TYPE_ARRAY, 0, 0); if(as3_pass==2 && m->need_arguments) { + /* arguments can never be used by an innerfunction (the inner functions + have their own arguments var), so it's ok to not initialize this until + pass 2. (We don't know whether we need it before, anyway) */ + variable_t*v = new_variable2("arguments", TYPE_ARRAY, 0, 0); m->need_arguments = v->index; } } - if(m->uses_slots) { - /* as variables and slots share the same number, make sure - that those variable indices are reserved. It's up to the - optimizer to later shuffle the variables down to lower - indices */ - m->variable_count = m->uses_slots; - } - - - methodstate_list_t*l = m->innerfunctions; - while(l) { - methodstate_t*m = l->methodstate; - - variable_t* v = new_variable2(m->info->name, TYPE_FUNCTION(m->info), 0, 1); - m->var_index = v->index; - m->slot_index = v->index; - v->is_inner_method = m; - - l = l->next; - } + innerfunctions2vars(m); if(as3_pass==2) { m->scope_code = add_scope_code(m->scope_code, m, 0); - } - - if(as3_pass==2 && m->slots) { - /* exchange unresolved identifiers with the actual objects */ - DICT_ITERATE_ITEMS(m->slots, char*, name, variable_t*, v) { - if(v->type && v->type->kind == INFOTYPE_UNRESOLVED) { - classinfo_t*type = (classinfo_t*)registry_resolve((slotinfo_t*)v->type); - if(!type || type->kind != INFOTYPE_CLASS) { - syntaxerror("Couldn't find class %s::%s (%s)", v->type->package, v->type->name, name); + if(m->slots) { + /* exchange unresolved identifiers with the actual objects */ + DICT_ITERATE_ITEMS(m->slots, char*, name, variable_t*, v) { + if(v->type && v->type->kind == INFOTYPE_UNRESOLVED) { + classinfo_t*type = (classinfo_t*)registry_resolve((slotinfo_t*)v->type); + if(!type || type->kind != INFOTYPE_CLASS) { + syntaxerror("Couldn't find class %s::%s (%s)", v->type->package, v->type->name, name); + } + v->type = type; } - v->type = type; } } } @@ -1094,10 +1093,8 @@ static void startclass(modifiers_t* mod, char*classname, classinfo_t*extends, cl abc_class_add_interface(state->cls->abc, &m); } - NEW(parsedclass_t,p); - p->cls = state->cls->info; - p->abc = state->cls->abc; - list_append(global->classes, p); + state->cls->dependencies = parsedclass_new(state->cls->info, state->cls->abc); + list_append(global->classes, state->cls->dependencies); /* flash.display.MovieClip handling */ if(!as3_globalclass && (mod->flags&FLAG_PUBLIC) && slotinfo_equals((slotinfo_t*)registry_getMovieClip(),(slotinfo_t*)extends)) { @@ -1313,6 +1310,7 @@ static void innerfunction(char*name, params_t*params, classinfo_t*return_type) if(as3_pass == 1) { state->method = rfx_calloc(sizeof(methodstate_t)); state->method->inner = 1; + state->method->is_static = parent_method->is_static; state->method->variable_count = 0; state->method->abc = rfx_calloc(sizeof(abc_method_t)); @@ -1393,8 +1391,7 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* params_t*params, classinfo_t*return_type, code_t*body) { if(as3_pass==1) { - // store inner methods in variables - function_initvars(state->method, 0, 0, 0, 0); + innerfunctions2vars(state->method); methodstate_list_t*ml = state->method->innerfunctions; @@ -1406,23 +1403,16 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* if(m->unresolved_variables) { dict_t*d = m->unresolved_variables; int t; - for(t=0;thashsize;t++) { - dictentry_t*l = d->slots[t]; - while(l) { - /* check parent method's variables */ - variable_t*v; - if((v=find_variable(state, l->key))) { - m->uses_parent_function = 1; - state->method->uses_slots = 1; - dict_put(xvars, l->key, 0); - } - l = l->next; + DICT_ITERATE_KEY(d, char*, id) { + /* check parent method's variables */ + variable_t*v; + if((v=find_variable(state, id))) { + m->uses_parent_function = 1; + state->method->uses_slots = 1; + dict_put(xvars, id, 0); } - if(l) break; } - - dict_destroy(m->unresolved_variables); - m->unresolved_variables = 0; + dict_destroy(m->unresolved_variables);m->unresolved_variables = 0; } ml = ml->next; } @@ -1434,11 +1424,11 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* if(!name) syntaxerror("internal error"); if(v->index && dict_contains(xvars, name)) { v->init = 0; - v->index = i++; + v->index = i; if(v->is_inner_method) { - v->is_inner_method->is_a_slot = 1; + v->is_inner_method->is_a_slot = i; } - //v->type = 0; + i++; dict_put(state->method->slots, name, v); } } @@ -1502,7 +1492,7 @@ static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char* check_constant_against_type(p->param->type, p->param->value); opt=1;list_append(f->optional_parameters, p->param->value); } else if(opt) { - syntaxerror("non-optional parameter not allowed after optional parameters"); + syntaxerror("function %s: non-optional parameter not allowed after optional parameters", name); } } if(state->method->slots) { @@ -1717,6 +1707,7 @@ typedcode_t push_class(slotinfo_t*a) infotypename(a), a->name, a->package, state->package); } + if(a->kind != INFOTYPE_CLASS) { MULTINAME(m, a); x.c = abc_findpropstrict2(x.c, &m); @@ -1728,7 +1719,13 @@ typedcode_t push_class(slotinfo_t*a) varinfo_t*v = (varinfo_t*)a; x.t = v->type; } + return x; } else { + if(state->cls && state->method == state->cls->static_init) { + /* we're in the static initializer. + record the fact that we're using this class here */ + parsedclass_add_dependency(state->cls->dependencies, (classinfo_t*)a); + } classinfo_t*c = (classinfo_t*)a; //if(c->slot) { if(0) { //Error #1026: Slot 1 exceeds slotCount=0 of global @@ -1923,6 +1920,7 @@ CODE: CODE CODEPIECE { CODE: CODEPIECE {$$=$1;} // code which may appear outside of methods +CODE_STATEMENT: DEFAULT_NAMESPACE CODE_STATEMENT: IMPORT CODE_STATEMENT: FOR CODE_STATEMENT: FOR_IN @@ -1938,7 +1936,7 @@ CODE_STATEMENT: NAMESPACE_DECLARATION CODE_STATEMENT: '{' CODE '}' {$$=$2;} CODE_STATEMENT: '{' '}' {$$=0;} -// code which may appear in methods +// code which may appear in methods (includes the above) CODEPIECE: ';' {$$=0;} CODEPIECE: CODE_STATEMENT CODEPIECE: VARIABLE_DECLARATION @@ -2421,6 +2419,7 @@ WITH : WITH_HEAD CODEBLOCK { X_IDENTIFIER: T_IDENTIFIER | "package" {PASS12 $$="package";} + | "namespace" {PASS12 $$="namespace";} | T_NAMESPACE {PASS12 $$=$1;} PACKAGE: PACKAGE '.' X_IDENTIFIER {PASS12 $$ = concat3($1,".",$3);free($1);$1=0;} @@ -2807,7 +2806,7 @@ XMLATTRIBUTE: T_IDENTIFIER '=' XMLEXPR2 { } XMLATTRIBUTE: T_IDENTIFIER '=' T_STRING { char* str = string_cstr(&$3); - $$=allocprintf("%s=\"%s\"", $1,str); + $$=allocprintf("%s=%s", $1,str); free(str); free($1);free((char*)$3.str); } @@ -3378,10 +3377,17 @@ E : E '.' '(' {PASS12 new_state();state->xmlfilter=1;} E ')' { } ID_OR_NS : T_IDENTIFIER {$$=$1;} +ID_OR_NS : '*' {$$="*";} ID_OR_NS : T_NAMESPACE {$$=(char*)$1;} -SUBNODE: T_IDENTIFIER +SUBNODE: X_IDENTIFIER | '*' {$$="*";} +/* +MAYBE_NS: T_IDENTIFIER "::" {$$=$1;} + | T_NAMESPACE "::" {$$=(char*)$1;} + | '*' "::" {$$="*";} + | {$$=0;}*/ + E : E '.' ID_OR_NS "::" SUBNODE { typedcode_t v = node_read($1); typedcode_t w = node_read(resolve_identifier($3)); @@ -3710,6 +3716,11 @@ NAMESPACE_DECLARATION : MAYBE_MODIFIERS NAMESPACE_ID { $$=0; } +DEFAULT_NAMESPACE : "default xml" "namespace" '=' E +{ + as3_warning("default xml namespaces not supported yet"); +} + USE_NAMESPACE : "use" "namespace" CLASS_SPEC { PASS12 const char*url = $3->name; diff --git a/lib/as3/test b/lib/as3/test index c0da7a0..a458c3e 100755 --- a/lib/as3/test +++ b/lib/as3/test @@ -135,7 +135,7 @@ class Cache: self.runtime = 1 if self.tag: self.all = 1 - self.runtime = 5 # allow more time if we're tagging this state + self.runtime = 3 # allow more time if we're tagging this state if self.valgrind: global CMD,CMD_ARGS diff --git a/lib/as3/tokenizer.lex b/lib/as3/tokenizer.lex index 491a5f2..7b57674 100644 --- a/lib/as3/tokenizer.lex +++ b/lib/as3/tokenizer.lex @@ -529,6 +529,8 @@ FLOATWITHSIGN [+-]?({FLOAT}) CDATA ])*\]*\]\]\> XMLCOMMENT XML <[^>]+{S}> +XMLID [A-Za-z0-9_\x80-\xff]+([:][A-Za-z0-9_\x80-\xff]+)? +XMLSTRING ["][^"]*["] STRING ["](\\[\x00-\xff]|[^\\"\n])*["]|['](\\[\x00-\xff]|[^\\'\n])*['] S [ \n\r\t] @@ -552,13 +554,13 @@ REGEXP [/]([^/\n]|\\[/])*[/][a-zA-Z]* } { -{STRING} {l(); handleString(yytext, yyleng);return T_STRING;} +{XMLSTRING} {l(); handleRaw(yytext, yyleng);return T_STRING;} [{] {c(); BEGIN(REGEXPOK);return m('{');} [<] {c(); return m('<');} [/] {c(); return m('/');} [>] {c(); return m('>');} [=] {c(); return m('=');} -{NAME} {c(); handleRaw(yytext, yyleng);return T_IDENTIFIER;} +{XMLID} {c(); handleRaw(yytext, yyleng);return T_IDENTIFIER;} {S} {l();} <> {syntaxerror("unexpected end of file");} } @@ -600,6 +602,7 @@ NaN {c(); BEGIN(DEFAULT);return m(KW_NAN);} {NAME}{S}*:{S}*do/{_} {l();BEGIN(DEFAULT);handleLabel(yytext, yyleng-2);return T_DO;} {NAME}{S}*:{S}*while/{_} {l();BEGIN(DEFAULT);handleLabel(yytext, yyleng-5);return T_WHILE;} {NAME}{S}*:{S}*switch/{_} {l();BEGIN(DEFAULT);handleLabel(yytext, yyleng-6);return T_SWITCH;} +default{S}xml {l();BEGIN(DEFAULT);return m(KW_DEFAULT_XML);} for {c();BEGIN(DEFAULT);a3_lval.id="";return T_FOR;} do {c();BEGIN(DEFAULT);a3_lval.id="";return T_DO;} while {c();BEGIN(DEFAULT);a3_lval.id="";return T_WHILE;} @@ -637,8 +640,8 @@ switch {c();BEGIN(DEFAULT);a3_lval.id="";return T_SWITCH;} instanceof {c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);} implements {c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);} interface {c();BEGIN(DEFAULT);return m(KW_INTERFACE);} -namespace {c();BEGIN(DEFAULT);return m(KW_NAMESPACE);} protected {c();BEGIN(DEFAULT);return m(KW_PROTECTED);} +namespace {c();BEGIN(DEFAULT);return m(KW_NAMESPACE);} undefined {c();BEGIN(DEFAULT);return m(KW_UNDEFINED);} arguments {c();BEGIN(DEFAULT);return m(KW_ARGUMENTS);} continue {c();BEGIN(DEFAULT);return m(KW_CONTINUE);} diff --git a/lib/as3/tokenizer.yy.c b/lib/as3/tokenizer.yy.c index 08fd7b3..41c1baf 100644 --- a/lib/as3/tokenizer.yy.c +++ b/lib/as3/tokenizer.yy.c @@ -379,8 +379,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 129 -#define YY_END_OF_BUFFER 130 +#define YY_NUM_RULES 130 +#define YY_END_OF_BUFFER 131 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -388,77 +388,77 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[627] = +static yyconst flex_int16_t yy_accept[629] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 130, 129, 31, 126, 129, 126, 126, 126, - 129, 126, 127, 125, 126, 126, 72, 126, 129, 129, - 129, 74, 126, 126, 126, 124, 124, 125, 126, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 29, 126, 125, 129, - 124, 128, 31, 126, 128, 126, 126, 126, 128, 126, - 127, 125, 126, 126, 72, 126, 128, 128, 128, 74, - 126, 126, 126, 124, 124, 125, 126, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - - 124, 124, 124, 124, 28, 126, 125, 128, 124, 29, - 126, 126, 72, 126, 128, 128, 128, 17, 17, 19, - 20, 18, 16, 16, 128, 128, 12, 11, 14, 13, - 15, 10, 48, 0, 6, 0, 124, 60, 46, 63, - 0, 0, 61, 55, 56, 54, 58, 71, 0, 3, - 0, 59, 34, 34, 0, 0, 0, 0, 73, 0, - 67, 53, 51, 52, 69, 0, 124, 0, 124, 57, - 124, 123, 124, 124, 124, 124, 124, 43, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 122, 124, 121, - 120, 124, 124, 124, 124, 124, 124, 124, 124, 124, - - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 62, 47, 0, 121, 0, 0, 0, 0, - 0, 3, 23, 59, 0, 26, 26, 0, 0, 0, - 0, 17, 0, 0, 9, 0, 0, 0, 15, 49, - 124, 70, 35, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 65, 50, 64, 68, 0, - 0, 0, 0, 0, 36, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 42, - 124, 116, 124, 124, 124, 124, 124, 115, 124, 124, - 124, 124, 124, 124, 124, 117, 124, 124, 124, 124, - - 124, 119, 124, 124, 114, 118, 124, 124, 124, 30, - 124, 0, 26, 26, 0, 0, 27, 23, 0, 0, - 0, 23, 0, 23, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 33, 0, 32, - 32, 0, 0, 66, 0, 0, 0, 0, 124, 124, - 112, 124, 124, 124, 124, 124, 124, 124, 107, 111, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 110, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 109, 124, 124, 108, 124, 113, 124, 27, 0, - 0, 0, 0, 23, 0, 23, 0, 0, 2, 0, - - 23, 23, 25, 0, 24, 24, 0, 0, 0, 0, - 2, 37, 0, 39, 0, 0, 0, 124, 105, 102, - 100, 101, 124, 124, 124, 124, 124, 104, 103, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 106, 124, 99, 124, 124, 44, 124, - 25, 0, 24, 24, 0, 0, 2, 0, 23, 23, - 0, 0, 0, 0, 0, 0, 38, 0, 0, 124, - 124, 124, 92, 124, 124, 124, 124, 124, 97, 124, - 124, 124, 124, 95, 124, 124, 124, 124, 94, 93, - 96, 45, 98, 124, 124, 23, 0, 0, 0, 0, - - 0, 0, 124, 124, 87, 90, 91, 86, 124, 124, - 124, 124, 124, 124, 124, 88, 89, 124, 124, 124, - 23, 8, 21, 0, 0, 0, 40, 124, 82, 85, - 124, 124, 124, 84, 124, 83, 124, 124, 0, 0, - 0, 41, 81, 124, 124, 77, 78, 79, 80, 0, - 0, 0, 0, 0, 0, 0, 76, 75, 0, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 4, 0, 5, 0, 0, - 0, 0, 0, 7, 0, 39, 5, 39, 39, 0, - - 0, 0, 22, 0, 7, 0, 38, 5, 38, 38, - 0, 0, 22, 0, 0, 0, 0, 40, 5, 40, - 40, 41, 5, 41, 41, 0 + 0, 0, 131, 130, 31, 127, 130, 127, 127, 127, + 130, 127, 128, 126, 127, 127, 73, 127, 130, 130, + 130, 75, 127, 127, 127, 125, 125, 126, 127, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 29, 127, 126, 130, + 125, 129, 31, 127, 129, 127, 127, 127, 129, 127, + 128, 126, 127, 127, 73, 127, 129, 129, 129, 75, + 127, 127, 127, 125, 125, 126, 127, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + + 125, 125, 125, 125, 28, 127, 126, 129, 125, 29, + 127, 127, 73, 127, 129, 129, 129, 17, 17, 19, + 20, 18, 16, 16, 129, 12, 15, 11, 14, 13, + 10, 49, 0, 6, 0, 125, 61, 47, 64, 0, + 0, 62, 56, 57, 55, 59, 72, 0, 3, 0, + 60, 34, 34, 0, 0, 0, 0, 74, 0, 68, + 54, 52, 53, 70, 0, 125, 0, 125, 58, 125, + 124, 125, 125, 125, 125, 125, 44, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 123, 125, 122, 121, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 63, 48, 0, 122, 0, 0, 0, 0, 0, + 3, 23, 60, 0, 26, 26, 0, 0, 0, 0, + 17, 0, 0, 9, 15, 0, 50, 125, 71, 35, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 66, 51, 65, 69, 0, 0, 0, 0, + 0, 36, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 43, 125, 117, 125, + 125, 125, 125, 125, 116, 125, 125, 125, 125, 125, + 125, 125, 118, 125, 125, 125, 125, 125, 120, 125, + + 125, 115, 119, 125, 125, 125, 30, 125, 0, 26, + 26, 0, 0, 27, 23, 0, 0, 0, 23, 0, + 23, 23, 0, 0, 0, 0, 0, 0, 0, 15, + 0, 0, 0, 2, 0, 33, 0, 32, 32, 0, + 0, 67, 0, 0, 0, 0, 125, 125, 113, 125, + 125, 125, 125, 125, 125, 125, 108, 112, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 111, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 110, + 125, 125, 109, 125, 114, 125, 27, 0, 0, 0, + 0, 23, 0, 23, 0, 0, 2, 0, 23, 23, + + 25, 0, 24, 24, 0, 0, 0, 0, 2, 37, + 0, 39, 0, 0, 0, 125, 106, 103, 101, 102, + 125, 125, 125, 125, 125, 105, 104, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 107, 125, 100, 125, 125, 45, 125, 25, 0, + 24, 24, 0, 0, 2, 0, 23, 23, 0, 0, + 0, 0, 0, 0, 38, 0, 0, 125, 125, 125, + 93, 125, 125, 125, 125, 125, 98, 125, 125, 125, + 125, 96, 125, 125, 125, 125, 95, 94, 97, 46, + 99, 125, 125, 23, 0, 0, 0, 0, 0, 0, + + 125, 125, 88, 91, 92, 87, 125, 125, 125, 125, + 125, 125, 125, 89, 90, 125, 125, 125, 23, 8, + 21, 0, 0, 0, 40, 125, 83, 0, 86, 125, + 125, 125, 85, 125, 84, 125, 125, 0, 0, 0, + 41, 82, 0, 125, 125, 78, 80, 79, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 77, 76, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 0, 4, 0, 0, 4, 0, 5, + 0, 0, 0, 0, 0, 7, 0, 39, 5, 39, + + 39, 0, 0, 0, 22, 0, 7, 0, 38, 5, + 38, 38, 0, 0, 22, 0, 0, 0, 0, 40, + 5, 40, 40, 41, 5, 41, 41, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -476,189 +476,189 @@ static yyconst flex_int32_t yy_ec[256] = 42, 43, 44, 45, 46, 28, 47, 48, 49, 50, 51, 52, 28, 53, 54, 55, 56, 57, 58, 59, - 60, 28, 61, 62, 63, 13, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 64, 8, 8, 8, - 65, 8, 8, 8, 8, 8, 8, 8, 8, 8, - - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 66, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8 + 60, 28, 61, 62, 63, 13, 8, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 65, 64, 64, 64, + 66, 64, 64, 64, 64, 64, 64, 64, 64, 64, + + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 67, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64 } ; -static yyconst flex_int32_t yy_meta[67] = +static yyconst flex_int32_t yy_meta[68] = { 0, 1, 2, 3, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 6, - 6, 6, 2, 7, 4, 7, 8, 8, 8, 8, - 8, 8, 4, 9, 4, 4, 10, 8, 8, 8, - 8, 11, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 12, 8, - 7, 4, 4, 4, 4, 4 + 6, 6, 7, 8, 4, 8, 9, 9, 9, 9, + 9, 9, 4, 10, 4, 4, 11, 9, 9, 9, + 9, 12, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 13, 9, + 8, 4, 4, 14, 14, 14, 14 } ; -static yyconst flex_int16_t yy_base[668] = +static yyconst flex_int16_t yy_base[670] = { 0, - 0, 986, 66, 983, 911, 87, 118, 125, 146, 149, - 210, 0, 971, 3354, 3354, 945, 143, 0, 943, 140, - 142, 3354, 3354, 936, 137, 138, 138, 142, 259, 264, - 269, 937, 158, 934, 143, 185, 291, 3354, 932, 322, - 328, 332, 143, 254, 261, 154, 309, 323, 305, 316, - 340, 347, 339, 356, 363, 370, 3354, 253, 3354, 892, - 374, 3354, 3354, 930, 159, 0, 928, 173, 166, 3354, - 3354, 926, 411, 417, 320, 285, 423, 428, 433, 927, - 434, 920, 272, 409, 418, 3354, 896, 423, 430, 0, - 442, 447, 453, 465, 472, 476, 487, 492, 491, 499, - - 508, 522, 514, 529, 3354, 258, 3354, 852, 540, 3354, - 179, 184, 328, 394, 564, 575, 580, 0, 0, 888, - 3354, 3354, 3354, 3354, 332, 418, 3354, 3354, 3354, 3354, - 0, 3354, 864, 366, 3354, 881, 0, 3354, 3354, 3354, - 455, 878, 3354, 3354, 3354, 3354, 3354, 861, 583, 609, - 393, 3354, 3354, 587, 598, 442, 859, 820, 3354, 825, - 830, 3354, 825, 3354, 447, 633, 593, 643, 611, 3354, - 616, 615, 623, 634, 630, 642, 656, 657, 662, 658, - 673, 677, 678, 685, 692, 696, 700, 701, 712, 718, - 719, 727, 723, 739, 741, 746, 747, 761, 753, 765, - - 767, 773, 781, 785, 792, 793, 808, 809, 815, 816, - 823, 827, 3354, 3354, 777, 832, 630, 870, 875, 878, - 269, 903, 935, 460, 477, 3354, 881, 893, 655, 821, - 495, 0, 546, 386, 3354, 832, 485, 831, 0, 3354, - 0, 3354, 3354, 716, 929, 939, 803, 611, 3354, 904, - 927, 995, 1061, 794, 781, 3354, 3354, 3354, 782, 1087, - 755, 751, 738, 743, 1050, 1055, 1057, 1062, 1069, 1064, - 1081, 1083, 1095, 1100, 1102, 1114, 1116, 1121, 1122, 1123, - 1128, 1139, 1140, 1144, 1155, 1156, 1162, 1163, 1164, 1171, - 1178, 1179, 1180, 1194, 1195, 1196, 1201, 1212, 1210, 1219, - - 1224, 1226, 1231, 1238, 1230, 1245, 1246, 1247, 1254, 3354, - 1252, 1163, 3354, 1286, 888, 762, 3354, 0, 1308, 1314, - 1334, 740, 1342, 0, 1358, 1299, 1310, 1418, 1484, 741, - 737, 713, 611, 1363, 1510, 718, 1520, 3354, 0, 3354, - 0, 669, 673, 3354, 0, 649, 645, 637, 1321, 1333, - 1253, 1489, 1490, 1504, 1312, 1505, 1516, 1467, 1522, 1524, - 1528, 1539, 1544, 1545, 1546, 1551, 1560, 1565, 1569, 1571, - 1576, 1583, 1587, 1591, 1595, 1602, 1603, 1609, 1611, 1623, - 1627, 1628, 1629, 1643, 1644, 1645, 1650, 1651, 3354, 1353, - 1648, 1707, 1773, 0, 1792, 1839, 1799, 1905, 654, 1910, - - 1944, 0, 3354, 0, 3354, 0, 652, 641, 625, 1915, - 3354, 3354, 616, 3354, 0, 577, 579, 1774, 1772, 1779, - 1781, 1884, 1890, 1885, 1973, 1974, 1975, 1979, 1980, 1991, - 1995, 1997, 2003, 2012, 2018, 2023, 2029, 2034, 2035, 2041, - 2053, 2046, 2060, 2061, 2065, 2067, 2076, 2082, 2083, 2084, - 3354, 0, 3354, 0, 2135, 2140, 0, 2145, 0, 0, - 575, 180, 570, 491, 554, 539, 3354, 529, 524, 2115, - 2119, 2130, 2135, 2142, 2146, 2150, 2151, 2165, 2157, 2166, - 2171, 2173, 2177, 2182, 2188, 2189, 2196, 2194, 2203, 2205, - 2210, 2212, 2214, 2219, 2226, 545, 532, 653, 519, 509, - - 489, 0, 2228, 2233, 2234, 2240, 2242, 2248, 2254, 2259, - 2270, 2263, 2268, 2275, 2282, 2284, 2289, 2296, 2301, 2351, - 512, 3354, 3354, 478, 467, 0, 3354, 2310, 2312, 2319, - 2321, 2327, 2335, 2333, 2349, 2342, 2344, 2360, 2402, 455, - 391, 3354, 2365, 2372, 2379, 2380, 2381, 2386, 2395, 1528, - 680, 2437, 2448, 351, 333, 309, 2397, 2406, 1701, 2456, - 2460, 2464, 734, 2470, 318, 587, 2474, 2480, 2492, 2496, - 2508, 2513, 2518, 2525, 2529, 2533, 2537, 2541, 281, 273, - 727, 2545, 2560, 196, 2585, 2589, 2594, 2598, 2632, 2609, - 2613, 2617, 791, 3354, 802, 2602, 2621, 2625, 2667, 2698, - - 2671, 2677, 3354, 850, 145, 893, 2681, 2685, 2725, 2733, - 2737, 2741, 139, 901, 2745, 2790, 2856, 2749, 2753, 2763, - 2767, 2771, 2776, 2782, 2815, 3354, 2922, 2934, 2939, 2951, - 2963, 2974, 2986, 2998, 3010, 3022, 3034, 3041, 3048, 3060, - 3071, 3083, 3091, 3103, 3115, 3126, 3134, 3146, 3158, 3165, - 3170, 3182, 3194, 3206, 3213, 3225, 3237, 3249, 3256, 3263, - 3270, 3282, 3293, 3305, 3317, 3329, 3341 + 0, 927, 67, 925, 903, 89, 120, 127, 148, 151, + 212, 0, 963, 3586, 3586, 937, 145, 0, 935, 142, + 144, 3586, 3586, 934, 139, 140, 140, 144, 262, 267, + 272, 935, 160, 931, 145, 187, 294, 3586, 929, 325, + 331, 335, 145, 257, 264, 156, 312, 326, 308, 319, + 343, 350, 342, 359, 366, 373, 3586, 256, 3586, 888, + 377, 3586, 3586, 923, 161, 0, 914, 175, 168, 3586, + 3586, 906, 414, 420, 323, 288, 426, 431, 436, 907, + 437, 899, 275, 412, 421, 3586, 897, 426, 433, 0, + 445, 450, 456, 468, 475, 479, 490, 495, 494, 502, + + 511, 525, 517, 532, 3586, 261, 3586, 854, 543, 3586, + 181, 186, 331, 397, 567, 578, 583, 0, 0, 891, + 3586, 3586, 3586, 3586, 885, 3586, 864, 3586, 3586, 3586, + 3586, 859, 335, 3586, 879, 0, 3586, 3586, 3586, 421, + 877, 3586, 3586, 3586, 3586, 3586, 858, 586, 612, 396, + 3586, 3586, 590, 601, 445, 843, 805, 3586, 820, 820, + 3586, 817, 3586, 450, 636, 596, 646, 614, 3586, 619, + 618, 626, 637, 633, 645, 659, 660, 665, 661, 676, + 680, 681, 688, 695, 699, 703, 704, 715, 721, 722, + 730, 726, 742, 744, 749, 750, 764, 756, 768, 770, + + 776, 784, 788, 795, 796, 811, 812, 818, 819, 826, + 830, 3586, 3586, 772, 835, 633, 873, 878, 881, 272, + 906, 938, 463, 480, 3586, 884, 896, 658, 819, 475, + 0, 498, 818, 3586, 794, 0, 3586, 0, 3586, 3586, + 719, 932, 942, 794, 563, 3586, 907, 930, 998, 1065, + 790, 780, 3586, 3586, 3586, 780, 1131, 748, 740, 725, + 716, 1099, 1100, 1101, 1115, 1120, 1116, 1127, 1135, 1142, + 1149, 1150, 1154, 1161, 1156, 1168, 1170, 1175, 1176, 1182, + 1184, 1196, 1198, 1204, 1203, 1205, 1210, 1219, 1221, 1226, + 1235, 1237, 1241, 1246, 1257, 1252, 1258, 1272, 1264, 1279, + + 1280, 1278, 1286, 1294, 1295, 1302, 3586, 1300, 1120, 3586, + 1334, 891, 739, 3586, 0, 1356, 1362, 1382, 726, 1390, + 0, 1406, 1347, 1358, 1466, 1533, 727, 723, 696, 0, + 614, 1411, 1600, 698, 1605, 3586, 0, 3586, 0, 653, + 675, 3586, 0, 641, 644, 640, 1369, 1381, 1301, 1578, + 1574, 1579, 1360, 1593, 1595, 1604, 1597, 1609, 1613, 1620, + 1618, 1627, 1632, 1638, 1639, 1646, 1647, 1654, 1655, 1662, + 1666, 1670, 1674, 1681, 1682, 1688, 1690, 1702, 1706, 1707, + 1708, 1722, 1723, 1724, 1729, 1730, 3586, 1401, 1617, 1786, + 1853, 0, 1918, 1952, 2019, 2024, 657, 2029, 2063, 0, + + 3586, 0, 3586, 0, 655, 644, 628, 1921, 3586, 3586, + 619, 3586, 0, 580, 582, 1890, 1731, 1891, 1896, 1897, + 1999, 2003, 2004, 2093, 2094, 2095, 2099, 2110, 2111, 2115, + 2117, 2126, 2133, 2140, 2141, 2142, 2156, 2157, 2158, 2162, + 2176, 2177, 2181, 2182, 2193, 2197, 2199, 2201, 3586, 0, + 3586, 0, 2252, 2257, 0, 2262, 0, 0, 607, 182, + 601, 474, 575, 558, 3586, 544, 540, 2232, 2236, 2247, + 2252, 2259, 2263, 2267, 2268, 2282, 2274, 2283, 2288, 2290, + 2294, 2299, 2305, 2306, 2313, 2311, 2320, 2322, 2327, 2329, + 2331, 2336, 2343, 555, 494, 535, 540, 542, 509, 0, + + 2345, 2350, 2400, 2359, 2361, 2368, 2370, 2375, 2386, 2391, + 2379, 2395, 2402, 2407, 2409, 2414, 2421, 2471, 520, 3586, + 3586, 510, 501, 0, 3586, 2416, 2430, 2480, 2439, 2441, + 2450, 2457, 2456, 2464, 2462, 2473, 2479, 2529, 489, 468, + 3586, 2478, 421, 2497, 2499, 2505, 2506, 2511, 2517, 1141, + 369, 2568, 2572, 394, 354, 336, 299, 2540, 2541, 2057, + 2579, 2591, 2595, 389, 2601, 321, 583, 2605, 2617, 2630, + 2641, 2651, 2645, 2655, 2663, 2667, 2671, 2675, 2679, 284, + 276, 647, 3586, 2687, 2723, 198, 2727, 2732, 2736, 2740, + 2774, 2751, 2755, 2759, 730, 3586, 736, 2744, 2763, 2767, + + 2809, 2841, 2813, 2821, 3586, 794, 147, 805, 2817, 2825, + 2829, 2868, 2876, 2880, 141, 853, 2884, 2929, 2996, 2888, + 2892, 2896, 2907, 2915, 2921, 2954, 2964, 3586, 3063, 3077, + 3083, 3096, 3110, 3123, 3136, 3150, 3164, 3178, 3187, 3196, + 3209, 3223, 3237, 3247, 3260, 3274, 3288, 3298, 3306, 3320, + 3334, 3344, 3349, 3362, 3376, 3390, 3404, 3418, 3432, 3446, + 3460, 3474, 3488, 3502, 3515, 3529, 3543, 3557, 3571 } ; -static yyconst flex_int16_t yy_def[668] = +static yyconst flex_int16_t yy_def[670] = { 0, - 626, 1, 626, 3, 3, 3, 3, 3, 627, 627, - 626, 11, 626, 626, 626, 626, 628, 629, 626, 626, - 630, 626, 626, 626, 626, 626, 626, 626, 631, 631, - 631, 626, 626, 626, 626, 632, 632, 626, 626, 632, - 632, 632, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 626, 626, 626, 626, - 42, 626, 626, 626, 628, 629, 626, 626, 630, 626, - 626, 626, 626, 626, 626, 633, 634, 634, 634, 626, - 626, 626, 626, 42, 42, 626, 626, 42, 42, 42, + 628, 1, 628, 3, 3, 3, 3, 3, 629, 629, + 628, 11, 628, 628, 628, 628, 630, 631, 628, 628, + 632, 628, 628, 628, 628, 628, 628, 628, 633, 633, + 633, 628, 628, 628, 628, 634, 634, 628, 628, 634, + 634, 634, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 628, 628, 628, 628, + 42, 628, 628, 628, 630, 631, 628, 628, 632, 628, + 628, 628, 628, 628, 628, 635, 636, 636, 636, 628, + 628, 628, 628, 42, 42, 628, 628, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 626, 626, 626, 626, 42, 626, - 626, 626, 626, 626, 631, 631, 631, 635, 635, 626, - 626, 626, 626, 626, 636, 637, 626, 626, 626, 626, - 638, 626, 626, 628, 626, 628, 639, 626, 626, 626, - 630, 630, 626, 626, 626, 626, 626, 626, 640, 641, - 642, 626, 626, 640, 631, 626, 643, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 42, 626, 42, 626, + 42, 42, 42, 42, 628, 628, 628, 628, 42, 628, + 628, 628, 628, 628, 633, 633, 633, 637, 637, 628, + 628, 628, 628, 628, 638, 628, 639, 628, 628, 628, + 628, 628, 630, 628, 630, 640, 628, 628, 628, 632, + 632, 628, 628, 628, 628, 628, 628, 641, 642, 643, + 628, 628, 641, 633, 628, 644, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 42, 628, 42, 628, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 626, 626, 626, 42, 626, 644, 644, 645, - 633, 646, 642, 633, 633, 626, 645, 634, 626, 647, - 626, 635, 626, 636, 626, 636, 637, 637, 638, 626, - 639, 626, 626, 641, 641, 648, 626, 642, 626, 640, - 640, 626, 643, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 42, 42, 42, 42, 42, 42, + 42, 628, 628, 628, 42, 628, 645, 645, 646, 635, + 647, 643, 635, 635, 628, 646, 636, 628, 648, 628, + 637, 628, 638, 628, 639, 649, 628, 640, 628, 628, + 642, 642, 650, 628, 643, 628, 641, 641, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 626, - 42, 649, 626, 649, 626, 650, 626, 651, 646, 646, - 652, 651, 646, 223, 633, 645, 645, 626, 647, 626, - 626, 626, 653, 641, 648, 626, 641, 626, 252, 626, - 252, 626, 626, 626, 654, 626, 626, 626, 42, 42, + 42, 42, 42, 42, 42, 42, 628, 42, 651, 628, + 651, 628, 652, 628, 653, 647, 647, 654, 653, 647, + 222, 635, 646, 646, 628, 628, 628, 628, 628, 649, + 655, 642, 650, 628, 642, 628, 249, 628, 249, 628, + 628, 628, 656, 628, 628, 628, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 626, 649, - 649, 626, 650, 651, 655, 626, 646, 652, 651, 646, + 42, 42, 42, 42, 42, 42, 628, 651, 651, 628, + 628, 653, 657, 628, 647, 654, 653, 647, 628, 322, - 626, 325, 626, 328, 626, 328, 656, 657, 626, 641, - 626, 626, 626, 626, 658, 626, 626, 42, 42, 42, + 628, 325, 628, 325, 658, 659, 628, 642, 628, 628, + 628, 628, 660, 628, 628, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 628, 390, + 628, 390, 647, 647, 653, 647, 394, 399, 658, 658, + 659, 659, 628, 628, 628, 628, 628, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 626, 392, 626, 392, 646, 646, 651, 646, 396, 401, - 656, 656, 657, 657, 626, 626, 626, 626, 626, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 325, 656, 657, 626, 626, + 42, 42, 42, 322, 658, 659, 628, 628, 628, 661, - 626, 659, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 396, 626, 626, 626, 626, 660, 626, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 661, 626, - 662, 626, 42, 42, 42, 42, 42, 42, 42, 663, - 664, 665, 663, 666, 662, 662, 42, 42, 626, 626, - 663, 663, 664, 626, 664, 667, 667, 665, 665, 663, - 665, 626, 626, 663, 663, 663, 663, 663, 666, 666, - 662, 626, 626, 667, 626, 626, 663, 667, 663, 663, - 663, 663, 666, 626, 662, 626, 626, 663, 663, 663, - - 663, 663, 626, 666, 662, 662, 626, 626, 663, 663, - 663, 663, 666, 666, 663, 663, 663, 626, 626, 663, - 663, 626, 626, 663, 663, 0, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626 + 42, 42, 42, 42, 42, 42, 42, 42, 394, 628, + 628, 628, 628, 662, 628, 42, 42, 628, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 663, 628, 664, + 628, 42, 628, 42, 42, 42, 42, 42, 42, 665, + 666, 667, 665, 668, 664, 664, 628, 42, 42, 628, + 628, 665, 665, 666, 628, 666, 669, 669, 667, 667, + 665, 667, 628, 628, 665, 665, 665, 665, 665, 668, + 668, 664, 628, 628, 628, 669, 628, 628, 665, 669, + 665, 665, 665, 665, 668, 628, 664, 628, 628, 665, + + 665, 665, 665, 665, 628, 668, 664, 664, 628, 628, + 665, 665, 665, 665, 668, 668, 665, 665, 665, 628, + 628, 665, 665, 628, 628, 665, 665, 0, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628 } ; -static yyconst flex_int16_t yy_nxt[3421] = +static yyconst flex_int16_t yy_nxt[3654] = { 0, 14, 15, 15, 15, 15, 16, 17, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, @@ -666,379 +666,405 @@ static yyconst flex_int16_t yy_nxt[3421] = 37, 36, 22, 14, 38, 39, 36, 40, 41, 42, 43, 44, 45, 46, 36, 47, 36, 36, 36, 48, 49, 50, 51, 52, 53, 54, 55, 56, 36, 36, - 57, 58, 59, 14, 14, 60, 62, 63, 15, 63, - 63, 64, 65, 62, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 84, 84, 84, 85, 84, 70, 62, - - 86, 87, 84, 88, 89, 90, 91, 92, 93, 94, - 84, 95, 84, 84, 84, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 84, 84, 105, 106, 107, 62, - 62, 108, 109, 111, 112, 113, 114, 115, 116, 117, - 111, 112, 113, 114, 115, 116, 117, 110, 119, 135, - 139, 119, 144, 135, 146, 148, 150, 149, 149, 149, - 151, 145, 147, 160, 140, 135, 152, 164, 165, 120, - 109, 121, 120, 580, 121, 142, 136, 135, 110, 556, - 167, 161, 162, 139, 177, 110, 166, 166, 166, 166, - 167, 167, 136, 178, 144, 187, 497, 140, 566, 142, - - 146, 167, 179, 145, 167, 626, 122, 168, 147, 122, - 62, 123, 124, 123, 123, 62, 125, 62, 62, 62, - 62, 126, 62, 62, 62, 62, 62, 62, 127, 62, - 62, 62, 62, 128, 129, 130, 131, 131, 131, 131, - 131, 131, 62, 62, 62, 62, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 132, 62, 62, 62, 62, 62, 154, 213, 155, 155, - 155, 154, 213, 155, 155, 155, 154, 318, 155, 155, - 155, 180, 166, 166, 166, 166, 164, 165, 183, 222, - - 156, 181, 225, 223, 167, 156, 184, 593, 167, 224, - 156, 185, 182, 168, 214, 580, 186, 157, 225, 214, - 563, 158, 626, 166, 166, 166, 166, 626, 169, 166, - 166, 166, 166, 166, 166, 166, 166, 148, 235, 220, - 220, 220, 167, 581, 168, 148, 167, 149, 149, 149, - 168, 188, 167, 196, 168, 167, 167, 189, 190, 167, - 192, 195, 191, 167, 193, 236, 167, 556, 197, 174, - 167, 198, 135, 167, 171, 172, 167, 167, 194, 175, - 173, 199, 176, 204, 167, 580, 167, 167, 200, 167, - 167, 205, 235, 167, 167, 249, 249, 167, 206, 136, - - 209, 201, 202, 167, 203, 207, 167, 167, 150, 208, - 167, 167, 151, 210, 211, 212, 188, 167, 152, 236, - 167, 167, 189, 216, 167, 556, 144, 191, 217, 235, - 218, 219, 219, 146, 217, 145, 218, 219, 219, 231, - 227, 147, 228, 228, 228, 227, 167, 228, 228, 228, - 227, 238, 228, 228, 228, 169, 167, 161, 162, 167, - 167, 251, 251, 251, 229, 167, 135, 167, 167, 229, - 167, 258, 259, 167, 229, 171, 172, 167, 318, 167, - 167, 230, 173, 177, 180, 158, 626, 554, 142, 167, - 183, 626, 178, 225, 181, 325, 235, 167, 184, 541, - - 167, 179, 167, 185, 540, 182, 187, 498, 186, 167, - 225, 330, 167, 192, 188, 167, 626, 193, 238, 167, - 189, 190, 167, 167, 167, 191, 167, 255, 167, 196, - 247, 194, 199, 526, 167, 525, 167, 167, 167, 167, - 200, 167, 167, 195, 197, 167, 167, 198, 497, 167, - 524, 209, 204, 201, 202, 167, 203, 522, 167, 167, - 205, 167, 331, 521, 210, 502, 167, 206, 501, 167, - 500, 207, 167, 211, 212, 208, 167, 167, 332, 167, - 499, 154, 188, 155, 155, 155, 464, 167, 189, 216, - 167, 462, 154, 191, 155, 155, 155, 154, 564, 155, - - 155, 155, 149, 149, 149, 156, 250, 250, 250, 244, - 244, 244, 244, 249, 249, 154, 156, 155, 155, 155, - 584, 156, 157, 246, 156, 410, 469, 247, 156, 411, - 167, 468, 158, 626, 166, 166, 166, 166, 626, 156, - 167, 265, 466, 167, 260, 260, 260, 260, 167, 312, - 312, 312, 167, 167, 465, 168, 626, 464, 167, 266, - 167, 167, 167, 167, 267, 167, 167, 270, 462, 498, - 167, 167, 337, 167, 327, 327, 327, 167, 523, 167, - 167, 167, 417, 261, 167, 262, 564, 268, 269, 167, - 416, 271, 167, 167, 167, 167, 263, 275, 272, 167, - - 264, 415, 413, 273, 167, 167, 167, 167, 167, 167, - 167, 274, 167, 565, 167, 167, 244, 244, 244, 244, - 167, 412, 167, 167, 167, 278, 276, 167, 167, 167, - 333, 277, 167, 167, 279, 167, 337, 167, 167, 167, - 564, 409, 167, 167, 280, 281, 167, 167, 167, 167, - 167, 167, 594, 408, 282, 167, 167, 407, 337, 167, - 167, 595, 167, 283, 167, 167, 167, 565, 167, 167, - 167, 284, 285, 167, 167, 286, 167, 167, 167, 392, - 288, 287, 290, 167, 167, 291, 289, 348, 167, 167, - 167, 167, 292, 167, 167, 347, 167, 293, 167, 294, - - 167, 346, 167, 167, 297, 345, 344, 295, 167, 343, - 167, 167, 167, 342, 167, 167, 603, 167, 167, 296, - 167, 337, 167, 167, 298, 604, 299, 605, 167, 167, - 167, 167, 167, 237, 234, 167, 606, 300, 328, 167, - 167, 310, 167, 167, 303, 167, 167, 301, 304, 257, - 305, 302, 167, 167, 256, 167, 167, 255, 167, 167, - 167, 307, 167, 167, 167, 167, 167, 306, 308, 167, - 167, 311, 254, 167, 167, 613, 252, 167, 242, 167, - 141, 309, 167, 134, 614, 284, 285, 314, 240, 219, - 219, 219, 314, 233, 219, 219, 219, 220, 220, 220, - - 326, 326, 326, 319, 319, 244, 319, 391, 391, 391, - 227, 315, 228, 228, 228, 215, 315, 321, 605, 229, - 170, 322, 229, 250, 250, 250, 613, 581, 316, 244, - 244, 244, 244, 626, 229, 593, 323, 249, 249, 334, - 334, 334, 334, 333, 163, 156, 251, 251, 251, 159, - 143, 626, 138, 335, 133, 215, 170, 336, 163, 159, - 143, 324, 324, 324, 324, 324, 324, 138, 626, 133, - 626, 110, 324, 324, 324, 324, 324, 324, 324, 324, - 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, - 324, 324, 324, 324, 324, 338, 338, 338, 338, 338, - + 57, 58, 59, 14, 14, 14, 60, 62, 63, 15, + 63, 63, 64, 65, 62, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 84, 84, 84, 85, 84, 70, + + 62, 86, 87, 84, 88, 89, 90, 91, 92, 93, + 94, 84, 95, 84, 84, 84, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 84, 84, 105, 106, 107, + 62, 62, 62, 108, 109, 111, 112, 113, 114, 115, + 116, 117, 111, 112, 113, 114, 115, 116, 117, 110, + 119, 134, 138, 119, 143, 134, 145, 147, 149, 148, + 148, 148, 150, 144, 146, 159, 139, 134, 151, 163, + 164, 120, 109, 121, 120, 581, 121, 141, 135, 134, + 110, 556, 166, 160, 161, 138, 176, 110, 165, 165, + 165, 165, 166, 166, 135, 177, 143, 186, 495, 139, + + 567, 141, 145, 166, 178, 144, 166, 628, 122, 167, + 146, 122, 62, 123, 124, 123, 123, 62, 125, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 126, 127, 127, 127, 62, 128, 129, 130, 127, 127, + 127, 127, 127, 127, 62, 62, 62, 62, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 131, 62, 62, 127, 127, 127, 127, 153, + 212, 154, 154, 154, 153, 212, 154, 154, 154, 153, + 315, 154, 154, 154, 179, 165, 165, 165, 165, 163, + + 164, 182, 221, 155, 180, 224, 222, 166, 155, 183, + 595, 166, 223, 155, 184, 181, 167, 213, 581, 185, + 156, 224, 213, 564, 157, 628, 165, 165, 165, 165, + 628, 168, 165, 165, 165, 165, 165, 165, 165, 165, + 147, 134, 219, 219, 219, 166, 583, 167, 147, 166, + 148, 148, 148, 167, 187, 166, 195, 167, 166, 166, + 188, 189, 166, 191, 194, 190, 166, 192, 135, 166, + 582, 196, 173, 166, 197, 565, 166, 170, 171, 166, + 166, 193, 174, 172, 198, 175, 203, 166, 556, 166, + 166, 199, 166, 166, 204, 565, 166, 166, 246, 246, + + 166, 205, 566, 208, 200, 201, 166, 202, 206, 166, + 166, 149, 207, 166, 166, 150, 209, 210, 211, 187, + 166, 151, 566, 166, 166, 188, 215, 166, 581, 143, + 190, 216, 134, 217, 218, 218, 145, 216, 144, 217, + 218, 218, 230, 226, 146, 227, 227, 227, 226, 166, + 227, 227, 227, 226, 141, 227, 227, 227, 168, 166, + 160, 161, 166, 166, 248, 248, 248, 228, 166, 557, + 166, 166, 228, 166, 255, 256, 166, 228, 170, 171, + 166, 315, 166, 166, 229, 172, 176, 179, 157, 628, + 496, 327, 166, 182, 628, 177, 224, 180, 322, 628, + + 166, 183, 556, 166, 178, 166, 184, 252, 181, 186, + 495, 185, 166, 224, 328, 166, 191, 187, 166, 520, + 192, 554, 166, 188, 189, 166, 166, 166, 190, 166, + 329, 166, 195, 540, 193, 198, 539, 166, 244, 166, + 166, 166, 166, 199, 166, 166, 194, 196, 166, 166, + 197, 496, 166, 524, 208, 203, 200, 201, 166, 202, + 521, 166, 166, 204, 166, 246, 246, 209, 523, 166, + 205, 522, 166, 519, 206, 166, 210, 211, 207, 166, + 166, 500, 166, 499, 153, 187, 154, 154, 154, 498, + 166, 188, 215, 166, 565, 153, 190, 154, 154, 154, + + 153, 497, 154, 154, 154, 148, 148, 148, 155, 247, + 247, 247, 241, 241, 241, 241, 586, 462, 153, 155, + 154, 154, 154, 460, 155, 156, 243, 155, 408, 467, + 244, 155, 409, 166, 466, 157, 628, 165, 165, 165, + 165, 628, 155, 166, 262, 464, 166, 257, 257, 257, + 257, 166, 309, 309, 309, 166, 166, 463, 167, 628, + 462, 166, 263, 166, 166, 166, 166, 264, 166, 166, + 267, 460, 596, 166, 166, 335, 166, 324, 324, 324, + 166, 597, 166, 166, 166, 415, 258, 166, 259, 414, + 265, 266, 166, 413, 268, 166, 166, 166, 166, 260, + + 272, 269, 166, 261, 411, 410, 270, 166, 166, 166, + 166, 166, 166, 166, 271, 166, 335, 166, 166, 241, + 241, 241, 241, 166, 407, 166, 166, 166, 275, 273, + 166, 166, 166, 331, 274, 166, 166, 276, 166, 406, + 166, 166, 166, 405, 335, 166, 166, 277, 278, 166, + 166, 166, 166, 166, 166, 605, 390, 279, 166, 166, + 346, 607, 166, 166, 606, 166, 280, 166, 166, 166, + 608, 166, 166, 166, 281, 282, 166, 166, 283, 166, + 166, 166, 345, 285, 284, 287, 166, 166, 288, 286, + 344, 166, 166, 166, 166, 289, 166, 166, 343, 166, + + 290, 166, 291, 166, 342, 166, 166, 294, 341, 340, + 292, 166, 335, 166, 166, 166, 236, 166, 166, 615, + 166, 166, 293, 166, 234, 166, 166, 295, 616, 296, + 607, 166, 166, 166, 166, 166, 325, 307, 166, 582, + 297, 254, 166, 166, 253, 166, 166, 300, 166, 166, + 298, 301, 252, 302, 299, 166, 166, 251, 166, 166, + 249, 166, 166, 166, 304, 166, 166, 166, 166, 166, + 303, 305, 166, 166, 308, 239, 166, 166, 615, 140, + 166, 133, 166, 237, 306, 166, 236, 595, 281, 282, + 311, 234, 218, 218, 218, 311, 232, 218, 218, 218, + + 219, 219, 219, 323, 323, 323, 316, 316, 241, 316, + 389, 389, 389, 226, 312, 227, 227, 227, 214, 312, + 318, 169, 228, 162, 319, 228, 247, 247, 247, 158, + 142, 313, 241, 241, 241, 241, 628, 228, 137, 320, + 246, 246, 332, 332, 332, 332, 331, 132, 155, 248, + 248, 248, 214, 169, 628, 162, 333, 158, 142, 137, + 334, 132, 628, 110, 321, 321, 321, 321, 321, 321, + 109, 628, 61, 628, 628, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 336, 336, + + 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, + 336, 336, 336, 336, 336, 336, 336, 337, 337, 337, + 336, 336, 336, 336, 337, 337, 337, 337, 337, 337, + 336, 628, 336, 336, 628, 337, 337, 337, 337, 337, + 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, + 337, 337, 337, 337, 337, 337, 337, 337, 336, 336, + 336, 336, 336, 336, 336, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, - 338, 338, 338, 338, 339, 339, 339, 338, 338, 338, - 338, 339, 339, 339, 339, 339, 339, 338, 109, 338, - 338, 61, 339, 339, 339, 339, 339, 339, 339, 339, - 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - 339, 339, 339, 339, 339, 338, 338, 338, 338, 338, - 338, 340, 340, 340, 340, 340, 340, 340, 340, 340, - 340, 340, 340, 340, 340, 340, 340, 340, 341, 340, - 626, 626, 626, 340, 340, 340, 340, 167, 260, 260, - 260, 260, 167, 340, 350, 340, 340, 167, 626, 167, - - 167, 167, 167, 351, 167, 167, 167, 167, 352, 167, - 349, 167, 167, 626, 167, 626, 167, 353, 167, 167, - 356, 340, 340, 340, 340, 340, 340, 261, 167, 262, - 167, 167, 167, 167, 354, 355, 357, 358, 626, 167, - 263, 626, 167, 626, 264, 167, 359, 167, 626, 167, - 167, 167, 167, 167, 626, 360, 626, 361, 167, 363, - 167, 167, 626, 167, 167, 167, 167, 364, 167, 167, - 167, 167, 167, 167, 362, 167, 167, 167, 167, 626, - 626, 167, 312, 312, 312, 626, 167, 365, 626, 167, - 366, 167, 167, 167, 167, 626, 368, 369, 367, 167, - - 167, 167, 167, 167, 315, 167, 167, 370, 167, 167, - 167, 371, 167, 167, 167, 167, 167, 167, 167, 626, - 626, 167, 626, 372, 373, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 375, 374, 626, 626, 167, 626, - 626, 376, 167, 167, 167, 167, 167, 167, 167, 167, - 377, 167, 626, 379, 626, 378, 167, 167, 626, 167, - 167, 167, 167, 167, 380, 382, 167, 167, 167, 381, - 626, 167, 383, 167, 167, 167, 167, 167, 167, 384, - 167, 167, 167, 167, 167, 167, 385, 626, 167, 167, - 167, 167, 167, 167, 386, 167, 167, 167, 387, 388, - - 167, 167, 167, 167, 167, 390, 390, 390, 319, 319, - 244, 319, 626, 626, 319, 319, 244, 319, 326, 326, - 326, 626, 395, 626, 626, 626, 396, 315, 395, 327, - 327, 327, 396, 626, 397, 397, 334, 397, 626, 626, - 229, 323, 319, 319, 244, 319, 626, 323, 398, 167, - 626, 626, 399, 626, 626, 626, 395, 423, 167, 167, - 401, 626, 167, 244, 244, 244, 244, 400, 167, 418, - 167, 167, 390, 390, 390, 323, 318, 333, 626, 419, - 167, 626, 626, 167, 402, 402, 402, 402, 402, 402, - 626, 225, 626, 626, 315, 402, 402, 402, 402, 402, + 338, 338, 339, 338, 250, 250, 250, 338, 338, 338, + 338, 250, 250, 250, 250, 250, 250, 338, 628, 338, + + 338, 628, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 338, 338, 338, 338, 338, + 338, 338, 257, 257, 257, 257, 166, 166, 348, 309, + 309, 309, 560, 561, 560, 562, 166, 166, 166, 166, + 166, 166, 166, 166, 628, 347, 349, 166, 628, 350, + 628, 312, 166, 166, 166, 166, 166, 166, 628, 351, + 166, 258, 354, 259, 166, 628, 628, 166, 628, 166, + 352, 353, 166, 355, 260, 166, 356, 166, 261, 166, + 628, 166, 166, 166, 357, 358, 166, 166, 166, 166, + + 166, 166, 359, 166, 166, 361, 166, 166, 166, 360, + 628, 166, 166, 166, 362, 166, 628, 166, 166, 166, + 166, 166, 166, 166, 628, 166, 166, 628, 628, 363, + 628, 166, 364, 166, 166, 166, 628, 366, 365, 367, + 166, 166, 166, 166, 628, 166, 166, 166, 166, 368, + 166, 166, 369, 166, 166, 166, 166, 166, 166, 628, + 166, 628, 370, 166, 628, 371, 166, 628, 166, 166, + 628, 166, 166, 166, 166, 628, 166, 372, 166, 628, + 373, 628, 374, 166, 166, 166, 628, 166, 166, 166, + 628, 166, 375, 166, 166, 166, 166, 628, 377, 166, + + 376, 166, 166, 628, 166, 166, 378, 166, 379, 166, + 628, 166, 628, 380, 166, 166, 166, 166, 628, 166, + 381, 382, 166, 166, 628, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 383, 628, 166, 166, 166, 166, + 628, 166, 384, 628, 166, 166, 385, 386, 166, 166, + 166, 166, 166, 388, 388, 388, 316, 316, 241, 316, + 628, 628, 316, 316, 241, 316, 323, 323, 323, 628, + 393, 628, 628, 628, 394, 312, 393, 324, 324, 324, + 394, 628, 395, 395, 332, 395, 628, 628, 228, 320, + 316, 316, 241, 316, 628, 320, 396, 166, 628, 628, + + 397, 628, 628, 628, 393, 421, 166, 166, 399, 628, + 166, 241, 241, 241, 241, 398, 166, 416, 166, 166, + 388, 388, 388, 320, 315, 331, 628, 417, 166, 628, + 628, 166, 400, 400, 400, 400, 400, 400, 628, 224, + 628, 628, 312, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 400, 401, 401, 401, 401, + 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, + 401, 401, 401, 401, 401, 402, 402, 402, 401, 401, + 401, 401, 402, 402, 402, 402, 402, 402, 401, 628, + 401, 401, 628, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 403, 403, + 402, 402, 402, 402, 402, 402, 401, 401, 401, 401, + 401, 401, 401, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 404, 404, 404, - 403, 403, 403, 403, 404, 404, 404, 404, 404, 404, - 403, 626, 403, 403, 626, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 403, 403, - 403, 403, 403, 403, 405, 405, 405, 405, 405, 405, - 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, - - 405, 406, 405, 626, 167, 626, 405, 405, 405, 405, - 334, 334, 334, 334, 167, 426, 405, 167, 405, 405, - 244, 244, 244, 244, 335, 626, 167, 167, 336, 559, - 560, 559, 561, 420, 333, 626, 167, 167, 247, 167, - 167, 167, 167, 421, 405, 405, 405, 405, 405, 405, - 626, 167, 167, 167, 167, 167, 626, 626, 422, 167, - 424, 167, 626, 167, 626, 167, 167, 626, 626, 167, - 425, 167, 167, 626, 167, 167, 167, 427, 167, 626, - 428, 167, 167, 167, 626, 626, 167, 431, 167, 167, - 626, 429, 167, 167, 167, 167, 167, 433, 167, 430, - - 626, 167, 167, 432, 626, 626, 167, 167, 167, 626, - 167, 626, 167, 167, 626, 167, 167, 434, 167, 167, - 167, 167, 435, 167, 438, 626, 167, 436, 439, 626, - 167, 626, 167, 167, 167, 437, 440, 167, 167, 167, - 167, 167, 167, 626, 626, 167, 167, 441, 167, 167, - 167, 626, 167, 167, 443, 442, 167, 626, 167, 167, - 167, 167, 445, 444, 167, 167, 167, 391, 391, 391, - 167, 626, 626, 167, 167, 167, 167, 167, 167, 447, - 167, 167, 167, 626, 446, 448, 449, 167, 167, 626, - 167, 167, 167, 167, 167, 167, 626, 167, 167, 626, - - 167, 167, 559, 560, 559, 559, 450, 451, 451, 451, + 404, 403, 326, 326, 326, 403, 403, 403, 403, 326, + 326, 326, 326, 326, 326, 403, 628, 403, 403, 628, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 403, 403, 403, 403, 403, 403, 403, + + 332, 332, 332, 332, 628, 241, 241, 241, 241, 628, + 628, 166, 628, 628, 333, 166, 166, 628, 334, 331, + 628, 166, 418, 244, 166, 166, 166, 419, 166, 166, + 166, 628, 166, 420, 166, 628, 389, 389, 389, 628, + 166, 166, 166, 166, 166, 166, 166, 166, 422, 423, + 166, 166, 424, 628, 166, 166, 166, 166, 628, 166, + 166, 426, 425, 166, 166, 427, 628, 166, 166, 166, + 166, 628, 628, 429, 166, 166, 431, 166, 628, 166, + 628, 428, 166, 166, 166, 166, 166, 628, 166, 166, + 430, 166, 166, 166, 166, 628, 166, 166, 432, 166, + + 433, 166, 166, 436, 166, 166, 628, 437, 628, 166, + 434, 166, 166, 166, 435, 438, 166, 166, 166, 166, + 166, 166, 628, 628, 166, 166, 439, 166, 166, 166, + 628, 166, 166, 441, 440, 166, 628, 166, 166, 166, + 166, 443, 442, 166, 166, 166, 628, 628, 628, 166, + 628, 628, 166, 166, 166, 166, 166, 166, 445, 166, + 166, 166, 628, 444, 446, 447, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 628, 166, 166, 166, 166, + 166, 166, 628, 628, 628, 448, 449, 449, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, + + 449, 449, 449, 449, 449, 450, 450, 450, 449, 449, + 449, 449, 450, 450, 450, 450, 450, 450, 449, 628, + 449, 449, 628, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 450, 450, 450, 450, 449, 449, 449, 449, + 449, 449, 449, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 452, 452, 452, 451, - 451, 451, 451, 452, 452, 452, 452, 452, 452, 451, - 626, 451, 451, 626, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 451, 451, 451, - 451, 451, 451, 453, 453, 453, 453, 453, 453, 453, - 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, - 454, 453, 626, 626, 337, 453, 453, 453, 453, 319, - - 319, 244, 319, 626, 626, 453, 456, 453, 453, 167, - 457, 167, 626, 395, 626, 470, 167, 396, 167, 167, - 626, 167, 167, 626, 167, 458, 167, 626, 167, 167, - 626, 167, 323, 453, 453, 453, 453, 453, 453, 244, - 244, 244, 244, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 333, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 459, 459, 459, 459, 459, - 459, 245, 245, 245, 245, 245, 459, 459, 459, 459, + 452, 451, 391, 391, 391, 451, 451, 451, 451, 391, + 391, 391, 391, 391, 391, 451, 628, 451, 451, 628, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 451, 451, 451, 451, 451, 451, 451, + 335, 241, 241, 241, 241, 628, 628, 166, 166, 628, + 628, 468, 454, 166, 166, 331, 455, 166, 166, 334, + 166, 166, 628, 166, 166, 628, 166, 166, 628, 628, + 628, 456, 241, 241, 241, 241, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 331, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 457, 457, + 457, 457, 457, 457, 242, 242, 242, 242, 242, 457, + 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, + + 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, + 457, 457, 242, 242, 242, 242, 242, 242, 242, 316, + 316, 241, 316, 628, 395, 395, 332, 395, 628, 316, + 316, 241, 316, 393, 628, 628, 166, 394, 396, 628, + 166, 166, 397, 393, 628, 471, 166, 399, 469, 166, + 470, 166, 320, 166, 166, 628, 628, 398, 560, 561, + 560, 560, 320, 316, 316, 241, 316, 317, 317, 317, + 317, 317, 317, 317, 317, 317, 317, 393, 317, 317, + 317, 394, 317, 317, 317, 317, 317, 317, 317, 458, + 458, 458, 458, 458, 458, 317, 320, 317, 317, 317, + + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 317, 317, 317, 317, 317, 317, 317, + 166, 166, 166, 628, 473, 628, 166, 628, 472, 628, + 166, 166, 166, 166, 166, 166, 474, 166, 166, 166, + 628, 628, 166, 628, 166, 475, 628, 166, 166, 476, + 166, 166, 166, 166, 166, 166, 478, 166, 479, 477, + 166, 628, 628, 166, 628, 480, 166, 166, 166, 166, + 166, 482, 628, 166, 481, 484, 483, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 486, 487, 628, 166, + + 628, 628, 628, 166, 166, 166, 166, 166, 166, 166, + 485, 488, 166, 166, 166, 489, 628, 628, 166, 166, + 628, 628, 628, 166, 166, 490, 166, 166, 166, 166, + 166, 166, 166, 628, 166, 491, 166, 628, 166, 628, + 166, 493, 492, 166, 166, 628, 166, 166, 166, 166, + 628, 166, 316, 316, 241, 316, 628, 316, 316, 241, + 316, 628, 316, 316, 241, 316, 393, 628, 628, 166, + 319, 393, 628, 166, 628, 397, 393, 628, 628, 166, + 494, 501, 166, 166, 166, 320, 166, 628, 628, 166, + 320, 502, 628, 628, 166, 320, 166, 166, 504, 166, + + 166, 503, 166, 628, 166, 166, 166, 628, 628, 166, + 166, 166, 628, 166, 166, 166, 505, 166, 507, 166, + 166, 166, 509, 508, 166, 510, 506, 511, 628, 166, + 166, 512, 166, 166, 628, 166, 166, 166, 166, 628, + 166, 166, 166, 166, 166, 513, 166, 514, 166, 166, + 166, 628, 166, 166, 515, 166, 166, 166, 166, 166, + 166, 166, 628, 166, 166, 516, 166, 166, 166, 166, + 166, 628, 166, 166, 166, 628, 166, 166, 166, 166, + 166, 166, 166, 166, 518, 517, 166, 166, 628, 628, + 166, 527, 166, 166, 628, 166, 166, 166, 166, 526, + + 166, 528, 528, 528, 528, 166, 166, 166, 166, 166, + 628, 166, 166, 628, 628, 166, 166, 166, 166, 529, + 166, 628, 166, 166, 530, 166, 533, 531, 166, 166, + 532, 628, 166, 166, 534, 628, 166, 166, 166, 166, + 628, 166, 166, 535, 166, 166, 166, 166, 628, 166, + 166, 166, 166, 166, 166, 536, 166, 166, 166, 166, + 628, 166, 537, 166, 166, 628, 166, 166, 166, 542, + 628, 166, 538, 538, 538, 538, 166, 166, 166, 628, + 166, 165, 165, 165, 165, 628, 166, 166, 166, 166, + 628, 166, 628, 166, 166, 544, 628, 166, 546, 166, + + 545, 166, 167, 166, 166, 547, 166, 166, 166, 166, + 166, 166, 166, 548, 166, 166, 166, 628, 166, 549, + 166, 166, 628, 166, 628, 166, 166, 628, 166, 166, + 538, 538, 538, 538, 166, 551, 166, 628, 543, 628, + 552, 559, 166, 166, 166, 628, 166, 166, 166, 166, + 558, 553, 166, 166, 166, 166, 166, 628, 166, 628, + 628, 166, 628, 628, 166, 628, 628, 166, 567, 568, + 561, 568, 569, 573, 574, 573, 575, 166, 166, 571, + 560, 561, 560, 560, 628, 628, 628, 166, 166, 628, + 166, 166, 560, 561, 560, 562, 560, 561, 560, 562, + + 628, 572, 584, 585, 584, 584, 568, 561, 568, 568, + 628, 628, 576, 628, 577, 628, 565, 567, 568, 561, + 568, 569, 628, 628, 628, 578, 628, 628, 571, 579, + 567, 568, 561, 568, 569, 628, 628, 628, 586, 628, + 628, 571, 587, 588, 587, 589, 573, 574, 573, 573, + 572, 567, 568, 590, 568, 569, 573, 574, 573, 573, + 628, 628, 628, 572, 573, 574, 573, 575, 560, 561, + 560, 562, 560, 561, 560, 562, 560, 561, 560, 562, + 560, 561, 560, 562, 628, 258, 628, 259, 584, 585, + 584, 584, 628, 628, 628, 258, 628, 259, 260, 628, + + 628, 628, 261, 576, 628, 577, 628, 628, 260, 628, + 628, 628, 261, 628, 628, 628, 578, 591, 628, 628, + 579, 592, 628, 594, 584, 585, 584, 584, 587, 588, + 587, 587, 593, 587, 588, 587, 587, 587, 588, 587, + 589, 568, 561, 568, 568, 560, 561, 560, 560, 628, + 628, 565, 560, 561, 560, 562, 560, 561, 560, 562, + 560, 561, 560, 562, 560, 561, 560, 560, 560, 561, + 560, 562, 628, 586, 412, 598, 599, 598, 600, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 628, 628, 628, 601, 601, 601, 601, + + 603, 628, 628, 602, 604, 628, 601, 628, 601, 601, + 560, 561, 560, 562, 560, 561, 560, 562, 560, 561, + 560, 560, 560, 561, 560, 562, 560, 561, 560, 560, + 560, 561, 560, 562, 601, 601, 601, 601, 601, 601, + 601, 465, 609, 610, 609, 611, 612, 612, 612, 612, + 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, + 628, 628, 628, 612, 612, 612, 612, 613, 614, 560, + 561, 560, 562, 612, 628, 612, 612, 560, 561, 560, + 562, 560, 561, 560, 562, 560, 561, 560, 562, 560, + 561, 560, 560, 560, 561, 560, 560, 560, 561, 560, + + 562, 612, 612, 612, 612, 612, 612, 612, 560, 561, + 560, 562, 628, 628, 628, 617, 560, 561, 560, 560, + 628, 618, 560, 561, 560, 560, 628, 628, 619, 525, + 620, 621, 620, 622, 623, 623, 623, 623, 623, 623, + 623, 623, 623, 623, 623, 623, 623, 623, 628, 628, + 628, 623, 623, 623, 623, 560, 561, 560, 562, 628, + 628, 623, 628, 623, 623, 560, 561, 560, 562, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 623, + 623, 623, 623, 623, 623, 623, 541, 624, 625, 624, + + 626, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 627, 627, 628, 628, 628, 627, 627, + 627, 627, 628, 628, 628, 628, 628, 628, 627, 628, + 627, 627, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 627, 627, 627, 627, + 627, 627, 627, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 133, 133, 628, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 136, 628, 136, 136, 136, 140, 140, 628, 140, + + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 152, 152, 152, 152, 152, 152, 152, 152, 628, 628, + 628, 152, 152, 152, 166, 166, 628, 628, 166, 166, + 628, 166, 166, 166, 166, 166, 220, 220, 628, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, + 225, 225, 225, 225, 225, 225, 225, 225, 628, 628, + 628, 225, 225, 225, 231, 231, 231, 231, 231, 231, + 231, 628, 231, 231, 231, 231, 231, 231, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 235, 235, 628, 235, 628, 235, 235, 235, + + 235, 238, 628, 628, 238, 238, 238, 238, 238, 240, + 240, 240, 240, 240, 240, 240, 240, 628, 628, 628, + 240, 628, 240, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 250, 250, 628, 628, 250, 628, 628, 250, 250, + 310, 310, 310, 310, 310, 310, 310, 310, 628, 628, + 628, 310, 310, 310, 314, 314, 314, 314, 314, 314, + 314, 314, 628, 628, 628, 314, 628, 314, 317, 317, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, + + 317, 317, 326, 326, 628, 628, 326, 628, 628, 326, + 326, 330, 628, 628, 330, 628, 330, 330, 330, 330, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 387, 387, 387, 387, 387, 387, + 387, 387, 628, 628, 628, 387, 628, 387, 391, 391, + 628, 628, 391, 628, 628, 391, 391, 392, 628, 628, + 392, 392, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, + 412, 412, 412, 412, 412, 628, 412, 412, 628, 628, + + 628, 628, 628, 412, 453, 453, 453, 453, 453, 453, + 453, 453, 453, 453, 453, 453, 453, 453, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 245, - - 245, 245, 245, 245, 245, 397, 397, 334, 397, 626, - 319, 319, 244, 319, 626, 244, 244, 244, 244, 398, - 626, 167, 167, 399, 395, 626, 626, 167, 401, 333, - 626, 167, 472, 336, 167, 167, 626, 167, 400, 471, - 167, 626, 626, 323, 319, 319, 244, 319, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 395, 320, - 320, 320, 396, 320, 320, 320, 320, 320, 320, 320, - 460, 460, 460, 460, 460, 460, 320, 323, 320, 320, - 320, 460, 460, 460, 460, 460, 460, 460, 460, 460, - 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - - 460, 460, 460, 460, 320, 320, 320, 320, 320, 320, - 167, 167, 167, 626, 473, 475, 167, 167, 626, 474, - 167, 167, 167, 167, 167, 167, 167, 476, 167, 167, - 167, 626, 167, 626, 167, 626, 477, 626, 167, 626, - 167, 167, 167, 478, 167, 167, 626, 167, 626, 167, - 167, 479, 480, 167, 481, 167, 626, 626, 626, 167, - 167, 482, 167, 626, 484, 167, 167, 626, 167, 483, - 167, 167, 167, 167, 485, 626, 167, 486, 167, 167, - 488, 167, 167, 167, 167, 167, 626, 626, 167, 487, - 167, 167, 489, 167, 626, 490, 167, 167, 167, 491, - - 167, 626, 167, 167, 167, 626, 626, 167, 167, 492, - 167, 167, 167, 167, 167, 167, 626, 167, 493, 167, - 167, 167, 626, 167, 495, 626, 167, 494, 626, 167, - 167, 167, 167, 167, 167, 319, 319, 244, 319, 626, - 319, 319, 244, 319, 626, 319, 319, 244, 319, 395, - 626, 626, 167, 322, 395, 626, 167, 626, 399, 395, - 626, 626, 167, 496, 503, 167, 167, 167, 323, 167, - 626, 626, 167, 323, 504, 626, 626, 167, 323, 167, - 167, 506, 167, 167, 505, 167, 626, 167, 167, 167, - 626, 626, 167, 167, 167, 626, 167, 167, 167, 507, - - 167, 509, 167, 167, 167, 511, 510, 167, 512, 508, - 513, 626, 167, 167, 514, 167, 167, 626, 167, 167, - 167, 167, 626, 167, 167, 167, 167, 167, 515, 167, - 516, 167, 167, 167, 626, 167, 167, 517, 167, 167, - 167, 167, 167, 167, 167, 626, 167, 167, 518, 167, - 167, 167, 167, 167, 626, 167, 167, 167, 626, 167, - 167, 167, 167, 167, 167, 167, 167, 520, 519, 167, - 167, 167, 626, 167, 529, 167, 167, 167, 167, 167, - 167, 167, 528, 167, 167, 167, 626, 167, 626, 167, - 167, 167, 167, 626, 626, 167, 167, 626, 167, 626, - - 167, 167, 533, 530, 167, 167, 167, 167, 531, 167, - 167, 532, 167, 167, 535, 534, 626, 167, 167, 167, - 167, 167, 167, 536, 626, 167, 167, 626, 626, 167, - 626, 167, 167, 167, 167, 626, 167, 537, 167, 167, - 626, 626, 538, 167, 626, 626, 167, 167, 167, 167, - 626, 167, 539, 539, 539, 539, 167, 167, 167, 167, - 167, 626, 167, 543, 167, 626, 167, 626, 167, 167, - 167, 167, 167, 626, 167, 544, 546, 545, 626, 167, - 167, 167, 167, 167, 548, 167, 167, 626, 167, 167, - 547, 167, 167, 626, 167, 626, 167, 167, 167, 167, - - 549, 167, 167, 539, 539, 539, 539, 167, 551, 167, - 167, 626, 167, 552, 626, 167, 167, 167, 167, 167, - 626, 558, 167, 167, 553, 557, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 626, 167, 566, 567, 560, - 567, 568, 167, 167, 167, 167, 626, 167, 570, 572, - 573, 572, 574, 167, 626, 626, 167, 559, 560, 559, - 559, 559, 560, 559, 561, 559, 560, 559, 561, 626, - 571, 582, 583, 582, 582, 567, 560, 567, 567, 626, - 566, 567, 560, 567, 568, 564, 626, 626, 575, 626, - 576, 570, 566, 567, 560, 567, 568, 585, 586, 585, - - 587, 577, 626, 570, 626, 578, 626, 584, 566, 567, - 588, 567, 568, 571, 572, 573, 572, 572, 626, 572, - 573, 572, 572, 626, 626, 571, 572, 573, 572, 574, - 559, 560, 559, 561, 559, 560, 559, 561, 559, 560, - 559, 561, 559, 560, 559, 561, 582, 583, 582, 582, - 626, 626, 626, 261, 626, 262, 626, 626, 261, 626, - 262, 582, 583, 582, 582, 575, 263, 576, 626, 626, - 264, 263, 626, 626, 626, 264, 626, 626, 577, 589, - 626, 626, 578, 590, 626, 592, 585, 586, 585, 585, - 585, 586, 585, 585, 591, 585, 586, 585, 587, 567, - - 560, 567, 567, 559, 560, 559, 559, 626, 626, 564, - 559, 560, 559, 561, 559, 560, 559, 561, 559, 560, - 559, 561, 559, 560, 559, 559, 559, 560, 559, 561, - 626, 584, 414, 596, 597, 596, 598, 599, 599, 599, - 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, - 599, 626, 626, 626, 599, 599, 599, 599, 601, 626, - 626, 600, 602, 626, 599, 626, 599, 599, 559, 560, - 559, 561, 559, 560, 559, 561, 626, 626, 559, 560, - 559, 561, 559, 560, 559, 559, 559, 560, 559, 559, - 626, 626, 599, 599, 599, 599, 599, 599, 467, 607, - - 608, 607, 609, 610, 610, 610, 610, 610, 610, 610, - 610, 610, 610, 610, 610, 610, 610, 626, 626, 626, - 610, 610, 610, 610, 612, 611, 559, 560, 559, 561, - 610, 626, 610, 610, 559, 560, 559, 561, 559, 560, - 559, 561, 559, 560, 559, 561, 559, 560, 559, 561, - 559, 560, 559, 559, 559, 560, 559, 559, 610, 610, - 610, 610, 610, 610, 559, 560, 559, 561, 559, 560, - 559, 561, 559, 560, 559, 559, 615, 559, 560, 559, - 559, 626, 616, 559, 560, 559, 561, 626, 626, 617, - 527, 618, 619, 618, 620, 621, 621, 621, 621, 621, - - 621, 621, 621, 621, 621, 621, 621, 621, 621, 626, - 626, 626, 621, 621, 621, 621, 559, 560, 559, 561, - 626, 626, 621, 626, 621, 621, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 621, 621, 621, 621, 621, 621, 542, 622, 623, 622, - 624, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 626, 626, 626, 625, 625, - 625, 625, 626, 626, 626, 626, 626, 626, 625, 626, - 625, 625, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 625, 625, 625, 625, - 625, 625, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 134, 134, 626, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 137, 626, 137, 137, - 137, 141, 141, 626, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 153, 153, 153, 153, 153, 153, 153, - 626, 626, 626, 153, 153, 167, 167, 626, 626, 167, - 626, 167, 167, 167, 167, 167, 221, 221, 626, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 226, 226, - - 226, 226, 226, 226, 226, 626, 626, 626, 226, 226, - 232, 232, 232, 232, 232, 232, 626, 232, 232, 232, - 232, 232, 234, 234, 626, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 237, 237, 626, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 239, 626, 239, 239, - 239, 239, 239, 241, 626, 241, 241, 241, 241, 241, - 243, 243, 243, 243, 243, 243, 243, 626, 626, 626, - 243, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 253, 253, 626, 253, 626, - - 626, 253, 253, 313, 313, 313, 313, 313, 313, 313, - 626, 626, 626, 313, 313, 317, 317, 317, 317, 317, - 317, 317, 626, 626, 626, 317, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 329, 329, - 626, 329, 626, 626, 329, 329, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 389, 389, - 389, 389, 389, 389, 389, 626, 626, 626, 389, 393, - 393, 626, 393, 626, 626, 393, 393, 394, 626, 626, - 394, 394, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 337, 337, 337, 337, 337, 337, - - 337, 337, 337, 337, 337, 337, 414, 414, 414, 414, - 414, 626, 414, 455, 455, 455, 455, 455, 455, 455, - 455, 455, 455, 455, 455, 461, 461, 461, 461, 461, - 461, 461, 461, 461, 461, 461, 461, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 467, - 467, 467, 467, 467, 626, 467, 527, 527, 527, 527, - 527, 626, 527, 542, 542, 542, 542, 542, 626, 542, + 459, 459, 461, 461, 461, 461, 461, 461, 461, 461, + 461, 461, 461, 461, 461, 461, 465, 465, 465, 465, + 465, 628, 465, 465, 628, 628, 628, 628, 628, 465, + 525, 525, 525, 525, 525, 628, 525, 525, 628, 628, + 628, 628, 628, 525, 541, 541, 541, 541, 541, 628, + 541, 541, 628, 628, 628, 628, 628, 541, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, + 550, 550, 555, 555, 555, 555, 555, 555, 555, 555, - 555, 555, 555, 555, 562, 562, 562, 562, 562, 562, - - 562, 562, 562, 562, 562, 563, 563, 626, 563, 563, - 563, 563, 563, 563, 563, 563, 563, 569, 569, 569, - 569, 569, 569, 569, 569, 569, 569, 569, 569, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 566, 566, 626, 566, 566, 566, 566, 566, 566, - 566, 566, 566, 13, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626 + 555, 555, 555, 555, 555, 555, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 564, + 564, 628, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 570, 570, 570, 570, 570, 570, 570, + 570, 570, 570, 570, 570, 570, 570, 580, 580, 580, + 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, + 580, 567, 567, 628, 567, 567, 567, 567, 567, 567, + 567, 567, 567, 567, 567, 13, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628 } ; -static yyconst flex_int16_t yy_chk[3421] = +static yyconst flex_int16_t yy_chk[3654] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1046,7 +1072,7 @@ static yyconst flex_int16_t yy_chk[3421] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -1054,368 +1080,394 @@ static yyconst flex_int16_t yy_chk[3421] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 6, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 6, 9, 17, - 20, 10, 25, 21, 26, 27, 28, 27, 27, 27, - 28, 25, 26, 33, 20, 65, 28, 35, 35, 9, - 8, 9, 10, 613, 10, 21, 17, 69, 7, 605, - 43, 33, 33, 68, 43, 8, 36, 36, 36, 36, - 43, 46, 65, 43, 111, 46, 462, 68, 584, 69, - - 112, 46, 43, 111, 46, 462, 9, 36, 112, 10, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 3, 3, 3, 3, 6, 7, 7, 7, 7, 7, + 7, 7, 8, 8, 8, 8, 8, 8, 8, 6, + 9, 17, 20, 10, 25, 21, 26, 27, 28, 27, + 27, 27, 28, 25, 26, 33, 20, 65, 28, 35, + 35, 9, 8, 9, 10, 615, 10, 21, 17, 69, + 7, 607, 43, 33, 33, 68, 43, 8, 36, 36, + 36, 36, 43, 46, 65, 43, 111, 46, 460, 68, + + 586, 69, 112, 46, 43, 111, 46, 460, 9, 36, + 112, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 29, 58, 29, 29, - 29, 30, 106, 30, 30, 30, 31, 221, 31, 31, - 31, 44, 37, 37, 37, 37, 83, 83, 45, 76, - - 29, 44, 221, 76, 44, 30, 45, 580, 45, 76, - 31, 45, 44, 37, 58, 579, 45, 29, 76, 106, - 565, 31, 30, 40, 40, 40, 40, 31, 37, 41, - 41, 41, 41, 42, 42, 42, 42, 75, 125, 75, - 75, 75, 49, 556, 40, 113, 47, 113, 113, 113, - 41, 47, 49, 50, 42, 49, 47, 47, 47, 47, - 48, 49, 47, 50, 48, 125, 50, 555, 50, 42, - 48, 50, 134, 48, 40, 40, 53, 51, 48, 42, - 41, 51, 42, 53, 52, 554, 53, 51, 52, 53, - 51, 53, 234, 54, 52, 151, 151, 52, 53, 134, - - 55, 52, 52, 54, 52, 54, 54, 56, 114, 54, - 55, 61, 114, 55, 56, 56, 61, 56, 114, 234, - 56, 61, 61, 61, 61, 541, 73, 61, 73, 126, - 73, 73, 73, 74, 74, 73, 74, 74, 74, 81, - 77, 74, 77, 77, 77, 78, 84, 78, 78, 78, - 79, 126, 79, 79, 79, 85, 84, 81, 81, 84, - 88, 156, 156, 156, 77, 85, 141, 89, 85, 78, - 88, 165, 165, 88, 79, 88, 88, 89, 224, 91, - 89, 77, 89, 91, 92, 79, 78, 540, 141, 91, - 93, 79, 91, 224, 92, 225, 237, 92, 93, 525, - - 93, 91, 94, 93, 524, 92, 94, 464, 93, 95, - 225, 231, 94, 96, 95, 94, 464, 96, 237, 95, - 95, 95, 95, 96, 97, 95, 96, 231, 99, 98, - 521, 96, 99, 501, 97, 500, 100, 97, 99, 98, - 100, 99, 98, 97, 98, 101, 100, 98, 497, 100, - 499, 103, 101, 100, 100, 101, 100, 497, 101, 102, - 101, 103, 233, 496, 103, 469, 104, 101, 468, 102, - 466, 102, 102, 104, 104, 102, 104, 109, 233, 104, - 465, 115, 109, 115, 115, 115, 463, 109, 109, 109, - 109, 461, 116, 109, 116, 116, 116, 117, 566, 117, - - 117, 117, 149, 149, 149, 115, 154, 154, 154, 150, - 150, 150, 150, 248, 248, 155, 116, 155, 155, 155, - 566, 117, 115, 150, 149, 333, 417, 150, 154, 333, - 167, 416, 117, 116, 166, 166, 166, 166, 117, 155, - 167, 169, 413, 167, 168, 168, 168, 168, 169, 217, - 217, 217, 172, 171, 409, 166, 155, 408, 169, 171, - 173, 169, 172, 171, 173, 172, 171, 175, 407, 498, - 173, 174, 399, 173, 229, 229, 229, 175, 498, 176, - 175, 174, 348, 168, 174, 168, 551, 174, 174, 176, - 347, 176, 176, 177, 178, 180, 168, 180, 177, 179, - - 168, 346, 343, 177, 178, 180, 177, 178, 180, 179, - 181, 179, 179, 551, 182, 183, 244, 244, 244, 244, - 181, 342, 184, 181, 182, 183, 181, 182, 183, 185, - 244, 182, 184, 186, 184, 184, 336, 187, 188, 185, - 563, 332, 185, 186, 185, 186, 186, 187, 188, 189, - 187, 188, 581, 331, 187, 190, 191, 330, 322, 189, - 193, 581, 189, 189, 192, 190, 191, 563, 190, 191, - 193, 190, 190, 193, 192, 192, 194, 192, 195, 316, - 193, 192, 195, 196, 197, 196, 194, 264, 195, 194, - 199, 195, 197, 196, 197, 263, 196, 197, 198, 198, - - 199, 262, 200, 199, 201, 261, 259, 199, 198, 255, - 202, 198, 200, 254, 201, 200, 593, 201, 203, 200, - 202, 247, 204, 202, 202, 593, 203, 595, 203, 205, - 206, 203, 204, 238, 236, 204, 595, 204, 230, 205, - 206, 215, 205, 206, 206, 207, 208, 205, 207, 163, - 208, 205, 209, 210, 161, 207, 208, 160, 207, 208, - 211, 210, 209, 210, 212, 209, 210, 209, 211, 216, - 211, 216, 158, 211, 212, 604, 157, 212, 148, 216, - 142, 212, 216, 136, 604, 216, 216, 218, 133, 218, - 218, 218, 219, 120, 219, 219, 219, 220, 220, 220, - - 227, 227, 227, 222, 222, 222, 222, 315, 315, 315, - 228, 218, 228, 228, 228, 108, 219, 222, 606, 220, - 87, 222, 227, 250, 250, 250, 614, 606, 218, 245, - 245, 245, 245, 219, 228, 614, 222, 223, 223, 246, - 246, 246, 246, 245, 82, 250, 251, 251, 251, 80, - 72, 228, 67, 246, 64, 60, 39, 246, 34, 32, - 24, 223, 223, 223, 223, 223, 223, 19, 251, 16, - 13, 5, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 223, 252, 252, 252, 252, 252, - - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 4, 252, - 252, 2, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 0, 0, 0, 253, 253, 253, 253, 265, 260, 260, - 260, 260, 266, 253, 267, 253, 253, 265, 0, 268, - - 265, 270, 266, 268, 267, 266, 269, 267, 269, 268, - 266, 270, 268, 0, 270, 0, 269, 270, 271, 269, - 272, 253, 253, 253, 253, 253, 253, 260, 271, 260, - 272, 271, 273, 272, 271, 271, 273, 274, 0, 275, - 260, 0, 273, 0, 260, 273, 275, 274, 0, 275, - 274, 276, 275, 277, 0, 276, 0, 277, 278, 279, - 280, 276, 0, 277, 276, 281, 277, 281, 278, 279, - 280, 278, 279, 280, 278, 281, 282, 283, 281, 0, - 0, 284, 312, 312, 312, 0, 282, 283, 0, 282, - 283, 284, 285, 286, 284, 0, 285, 286, 284, 287, - - 288, 289, 285, 286, 312, 285, 286, 287, 290, 287, - 288, 289, 287, 288, 289, 291, 292, 293, 290, 0, - 0, 290, 0, 290, 291, 291, 292, 293, 291, 292, - 293, 294, 295, 296, 293, 292, 0, 0, 297, 0, - 0, 294, 295, 296, 294, 295, 296, 299, 297, 298, - 295, 297, 0, 298, 0, 297, 300, 299, 0, 298, - 299, 301, 298, 302, 299, 301, 300, 305, 303, 300, - 0, 301, 303, 302, 301, 304, 302, 305, 303, 304, - 305, 303, 306, 307, 308, 304, 307, 0, 304, 311, - 351, 309, 306, 307, 308, 306, 307, 308, 309, 311, - - 351, 309, 311, 351, 309, 314, 314, 314, 319, 319, - 319, 319, 0, 0, 320, 320, 320, 320, 326, 326, - 326, 0, 319, 0, 0, 0, 319, 314, 320, 327, - 327, 327, 320, 0, 321, 321, 321, 321, 0, 0, - 326, 319, 323, 323, 323, 323, 0, 320, 321, 355, - 0, 327, 321, 0, 0, 0, 323, 355, 349, 355, - 323, 0, 355, 334, 334, 334, 334, 321, 349, 349, - 350, 349, 390, 390, 390, 323, 325, 334, 0, 350, - 350, 0, 0, 350, 325, 325, 325, 325, 325, 325, - 0, 325, 0, 0, 390, 325, 325, 325, 325, 325, - + 11, 11, 11, 11, 11, 11, 11, 11, 11, 29, + 58, 29, 29, 29, 30, 106, 30, 30, 30, 31, + 220, 31, 31, 31, 44, 37, 37, 37, 37, 83, + + 83, 45, 76, 29, 44, 220, 76, 44, 30, 45, + 581, 45, 76, 31, 45, 44, 37, 58, 580, 45, + 29, 76, 106, 566, 31, 30, 40, 40, 40, 40, + 31, 37, 41, 41, 41, 41, 42, 42, 42, 42, + 75, 133, 75, 75, 75, 49, 557, 40, 113, 47, + 113, 113, 113, 41, 47, 49, 50, 42, 49, 47, + 47, 47, 47, 48, 49, 47, 50, 48, 133, 50, + 556, 50, 42, 48, 50, 551, 48, 40, 40, 53, + 51, 48, 42, 41, 51, 42, 53, 52, 555, 53, + 51, 52, 53, 51, 53, 564, 54, 52, 150, 150, + + 52, 53, 551, 55, 52, 52, 54, 52, 54, 54, + 56, 114, 54, 55, 61, 114, 55, 56, 56, 61, + 56, 114, 564, 56, 61, 61, 61, 61, 554, 73, + 61, 73, 140, 73, 73, 73, 74, 74, 73, 74, + 74, 74, 81, 77, 74, 77, 77, 77, 78, 84, + 78, 78, 78, 79, 140, 79, 79, 79, 85, 84, + 81, 81, 84, 88, 155, 155, 155, 77, 85, 543, + 89, 85, 78, 88, 164, 164, 88, 79, 88, 88, + 89, 223, 91, 89, 77, 89, 91, 92, 79, 78, + 462, 230, 91, 93, 79, 91, 223, 92, 224, 462, + + 92, 93, 540, 93, 91, 94, 93, 230, 92, 94, + 495, 93, 95, 224, 232, 94, 96, 95, 94, 495, + 96, 539, 95, 95, 95, 95, 96, 97, 95, 96, + 232, 99, 98, 523, 96, 99, 522, 97, 519, 100, + 97, 99, 98, 100, 99, 98, 97, 98, 101, 100, + 98, 496, 100, 499, 103, 101, 100, 100, 101, 100, + 496, 101, 102, 101, 103, 245, 245, 103, 498, 104, + 101, 497, 102, 494, 102, 102, 104, 104, 102, 104, + 109, 467, 104, 466, 115, 109, 115, 115, 115, 464, + 109, 109, 109, 109, 567, 116, 109, 116, 116, 116, + + 117, 463, 117, 117, 117, 148, 148, 148, 115, 153, + 153, 153, 149, 149, 149, 149, 567, 461, 154, 116, + 154, 154, 154, 459, 117, 115, 149, 148, 331, 415, + 149, 153, 331, 166, 414, 117, 116, 165, 165, 165, + 165, 117, 154, 166, 168, 411, 166, 167, 167, 167, + 167, 168, 216, 216, 216, 171, 170, 407, 165, 154, + 406, 168, 170, 172, 168, 171, 170, 172, 171, 170, + 174, 405, 582, 172, 173, 397, 172, 228, 228, 228, + 174, 582, 175, 174, 173, 346, 167, 173, 167, 345, + 173, 173, 175, 344, 175, 175, 176, 177, 179, 167, + + 179, 176, 178, 167, 341, 340, 176, 177, 179, 176, + 177, 179, 178, 180, 178, 178, 334, 181, 182, 241, + 241, 241, 241, 180, 329, 183, 180, 181, 182, 180, + 181, 182, 184, 241, 181, 183, 185, 183, 183, 328, + 186, 187, 184, 327, 319, 184, 185, 184, 185, 185, + 186, 187, 188, 186, 187, 595, 313, 186, 189, 190, + 261, 597, 188, 192, 595, 188, 188, 191, 189, 190, + 597, 189, 190, 192, 189, 189, 192, 191, 191, 193, + 191, 194, 260, 192, 191, 194, 195, 196, 195, 193, + 259, 194, 193, 198, 194, 196, 195, 196, 258, 195, + + 196, 197, 197, 198, 256, 199, 198, 200, 252, 251, + 198, 197, 244, 201, 197, 199, 235, 200, 199, 606, + 200, 202, 199, 201, 233, 203, 201, 201, 606, 202, + 608, 202, 204, 205, 202, 203, 229, 214, 203, 608, + 203, 162, 204, 205, 160, 204, 205, 205, 206, 207, + 204, 206, 159, 207, 204, 208, 209, 157, 206, 207, + 156, 206, 207, 210, 209, 208, 209, 211, 208, 209, + 208, 210, 215, 210, 215, 147, 210, 211, 616, 141, + 211, 135, 215, 132, 211, 215, 127, 616, 215, 215, + 217, 125, 217, 217, 217, 218, 120, 218, 218, 218, + + 219, 219, 219, 226, 226, 226, 221, 221, 221, 221, + 312, 312, 312, 227, 217, 227, 227, 227, 108, 218, + 221, 87, 219, 82, 221, 226, 247, 247, 247, 80, + 72, 217, 242, 242, 242, 242, 218, 227, 67, 221, + 222, 222, 243, 243, 243, 243, 242, 64, 247, 248, + 248, 248, 60, 39, 227, 34, 243, 32, 24, 19, + 243, 16, 13, 5, 222, 222, 222, 222, 222, 222, + 4, 248, 2, 0, 0, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 249, 249, + + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 0, 249, 249, 0, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 0, 250, + + 250, 0, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 257, 257, 257, 257, 262, 263, 264, 309, + 309, 309, 550, 550, 550, 550, 262, 263, 264, 262, + 263, 264, 265, 267, 0, 263, 265, 266, 0, 266, + 0, 309, 265, 267, 268, 265, 267, 266, 0, 267, + 266, 257, 269, 257, 268, 0, 0, 268, 0, 270, + 268, 268, 269, 270, 257, 269, 271, 272, 257, 270, + 0, 273, 270, 275, 272, 273, 271, 272, 274, 271, + + 272, 273, 274, 275, 273, 276, 275, 277, 274, 275, + 0, 274, 278, 279, 278, 276, 0, 277, 276, 280, + 277, 281, 278, 279, 0, 278, 279, 0, 0, 280, + 0, 281, 280, 282, 281, 283, 0, 282, 281, 283, + 285, 284, 286, 282, 0, 283, 282, 287, 283, 284, + 285, 284, 286, 285, 284, 286, 288, 287, 289, 0, + 287, 0, 287, 290, 0, 288, 288, 0, 289, 288, + 0, 289, 291, 290, 292, 0, 290, 289, 293, 0, + 290, 0, 291, 294, 292, 291, 0, 292, 293, 296, + 0, 293, 292, 294, 295, 297, 294, 0, 295, 296, + + 294, 299, 296, 0, 295, 297, 296, 295, 297, 298, + 0, 299, 0, 298, 299, 302, 300, 301, 0, 298, + 300, 301, 298, 303, 0, 302, 300, 301, 302, 300, + 301, 304, 305, 303, 304, 0, 303, 308, 349, 306, + 0, 304, 305, 0, 304, 305, 306, 308, 349, 306, + 308, 349, 306, 311, 311, 311, 316, 316, 316, 316, + 0, 0, 317, 317, 317, 317, 323, 323, 323, 0, + 316, 0, 0, 0, 316, 311, 317, 324, 324, 324, + 317, 0, 318, 318, 318, 318, 0, 0, 323, 316, + 320, 320, 320, 320, 0, 317, 318, 353, 0, 324, + + 318, 0, 0, 0, 320, 353, 347, 353, 320, 0, + 353, 332, 332, 332, 332, 318, 347, 347, 348, 347, + 388, 388, 388, 320, 322, 332, 0, 348, 348, 0, + 0, 348, 322, 322, 322, 322, 322, 322, 0, 322, + 0, 0, 388, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 325, 325, 325, 325, 325, 325, 325, 328, 328, - 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, - 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, - 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, - 328, 0, 328, 328, 0, 328, 328, 328, 328, 328, - 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, - 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, - 328, 328, 328, 328, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - - 329, 329, 329, 0, 358, 0, 329, 329, 329, 329, - 335, 335, 335, 335, 358, 358, 329, 358, 329, 329, - 337, 337, 337, 337, 335, 0, 352, 353, 335, 550, - 550, 550, 550, 352, 337, 0, 352, 353, 337, 352, - 353, 354, 356, 353, 329, 329, 329, 329, 329, 329, - 0, 354, 356, 357, 354, 356, 0, 0, 354, 359, - 356, 360, 0, 357, 0, 361, 357, 0, 0, 359, - 357, 360, 359, 0, 360, 361, 362, 361, 361, 0, - 362, 363, 364, 365, 0, 0, 362, 365, 366, 362, - 0, 363, 364, 365, 363, 364, 365, 367, 366, 364, - - 0, 366, 368, 366, 0, 0, 369, 367, 370, 0, - 367, 0, 368, 371, 0, 368, 369, 368, 370, 369, - 372, 370, 369, 371, 373, 0, 371, 370, 374, 0, - 372, 0, 375, 372, 373, 372, 375, 373, 374, 376, - 377, 374, 375, 0, 0, 375, 378, 376, 379, 376, - 377, 0, 376, 377, 378, 377, 378, 0, 379, 378, - 380, 379, 380, 379, 381, 382, 383, 391, 391, 391, - 380, 0, 0, 380, 381, 382, 383, 381, 382, 383, - 384, 385, 386, 0, 381, 384, 386, 387, 388, 391, - 384, 385, 386, 384, 385, 386, 0, 387, 388, 0, - - 387, 388, 559, 559, 559, 559, 388, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 0, 392, 392, 0, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 0, 0, 395, 393, 393, 393, 393, 397, - - 397, 397, 397, 0, 0, 393, 395, 393, 393, 419, - 395, 418, 0, 397, 0, 418, 420, 397, 421, 419, - 0, 418, 419, 0, 418, 395, 420, 0, 421, 420, - 0, 421, 397, 393, 393, 393, 393, 393, 393, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - - 396, 396, 396, 396, 396, 398, 398, 398, 398, 0, - 400, 400, 400, 400, 0, 410, 410, 410, 410, 398, - 0, 422, 424, 398, 400, 0, 0, 423, 400, 410, - 0, 422, 424, 410, 422, 424, 0, 423, 398, 423, - 423, 0, 0, 400, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 0, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 425, 426, 427, 0, 425, 427, 428, 429, 0, 426, - 425, 426, 427, 425, 426, 427, 428, 429, 430, 428, - 429, 0, 431, 0, 432, 0, 430, 0, 430, 0, - 433, 430, 431, 431, 432, 431, 0, 432, 0, 434, - 433, 432, 433, 433, 434, 435, 0, 0, 0, 434, - 436, 434, 434, 0, 436, 435, 437, 0, 435, 435, - 436, 438, 439, 436, 437, 0, 437, 438, 440, 437, - 440, 438, 439, 442, 438, 439, 0, 0, 440, 439, - 441, 440, 441, 442, 0, 442, 442, 443, 444, 443, - - 441, 0, 445, 441, 446, 0, 0, 443, 444, 445, - 443, 444, 445, 447, 446, 445, 0, 446, 447, 448, - 449, 450, 0, 447, 450, 0, 447, 448, 0, 448, - 449, 450, 448, 449, 450, 455, 455, 455, 455, 0, - 456, 456, 456, 456, 0, 458, 458, 458, 458, 455, - 0, 0, 470, 455, 456, 0, 471, 0, 456, 458, - 0, 0, 470, 458, 470, 470, 471, 472, 455, 471, - 0, 0, 473, 456, 471, 0, 0, 472, 458, 474, - 472, 474, 473, 475, 472, 473, 0, 476, 477, 474, - 0, 0, 474, 475, 479, 0, 475, 476, 477, 475, - - 476, 477, 478, 480, 479, 480, 478, 479, 481, 476, - 482, 0, 478, 480, 483, 478, 480, 0, 481, 484, - 482, 481, 0, 482, 483, 485, 486, 483, 485, 484, - 486, 488, 484, 487, 0, 485, 486, 487, 485, 486, - 489, 488, 490, 487, 488, 0, 487, 491, 488, 492, - 489, 493, 490, 489, 0, 490, 494, 491, 0, 492, - 491, 493, 492, 495, 493, 503, 494, 495, 494, 494, - 504, 505, 0, 495, 504, 503, 495, 506, 503, 507, - 504, 505, 503, 504, 505, 508, 0, 506, 0, 507, - 506, 509, 507, 0, 0, 508, 510, 0, 508, 0, - - 512, 509, 512, 509, 509, 513, 510, 511, 510, 510, - 512, 511, 514, 512, 514, 513, 0, 511, 513, 515, - 511, 516, 514, 515, 0, 514, 517, 0, 0, 515, - 0, 516, 515, 518, 516, 0, 517, 518, 519, 517, - 0, 0, 519, 518, 0, 0, 518, 528, 519, 529, - 0, 519, 520, 520, 520, 520, 530, 528, 531, 529, - 528, 0, 529, 528, 532, 0, 530, 0, 531, 530, - 534, 531, 533, 0, 532, 531, 533, 532, 0, 536, - 534, 537, 533, 534, 537, 533, 535, 0, 520, 536, - 535, 537, 536, 0, 537, 0, 535, 538, 520, 535, - - 538, 520, 543, 539, 539, 539, 539, 538, 539, 544, - 538, 0, 543, 539, 0, 543, 545, 546, 547, 544, - 0, 545, 544, 548, 539, 544, 545, 546, 547, 545, - 546, 547, 549, 548, 557, 0, 548, 552, 552, 552, - 552, 552, 549, 558, 557, 549, 0, 557, 552, 553, - 553, 553, 553, 558, 0, 0, 558, 560, 560, 560, - 560, 561, 561, 561, 561, 562, 562, 562, 562, 0, - 552, 564, 564, 564, 564, 567, 567, 567, 567, 0, - 568, 568, 568, 568, 568, 567, 0, 0, 553, 0, - 553, 568, 569, 569, 569, 569, 569, 570, 570, 570, - - 570, 553, 0, 569, 0, 553, 0, 567, 571, 571, - 571, 571, 571, 568, 572, 572, 572, 572, 0, 573, - 573, 573, 573, 0, 0, 569, 574, 574, 574, 574, - 575, 575, 575, 575, 576, 576, 576, 576, 577, 577, - 577, 577, 578, 578, 578, 578, 582, 582, 582, 582, - 0, 0, 0, 572, 0, 572, 0, 0, 573, 0, - 573, 583, 583, 583, 583, 574, 572, 574, 0, 0, - 572, 573, 0, 0, 0, 573, 0, 0, 574, 575, - 0, 0, 574, 576, 0, 578, 585, 585, 585, 585, - 586, 586, 586, 586, 577, 587, 587, 587, 587, 588, - - 588, 588, 588, 596, 596, 596, 596, 0, 0, 588, - 590, 590, 590, 590, 591, 591, 591, 591, 592, 592, - 592, 592, 597, 597, 597, 597, 598, 598, 598, 598, - 0, 588, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 0, 0, 0, 589, 589, 589, 589, 591, 0, - 0, 590, 592, 0, 589, 0, 589, 589, 599, 599, - 599, 599, 601, 601, 601, 601, 0, 0, 602, 602, - 602, 602, 607, 607, 607, 607, 608, 608, 608, 608, - 0, 0, 589, 589, 589, 589, 589, 589, 600, 600, - - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 0, 0, 0, - 600, 600, 600, 600, 602, 601, 609, 609, 609, 609, - 600, 0, 600, 600, 610, 610, 610, 610, 611, 611, - 611, 611, 612, 612, 612, 612, 615, 615, 615, 615, - 618, 618, 618, 618, 619, 619, 619, 619, 600, 600, - 600, 600, 600, 600, 620, 620, 620, 620, 621, 621, - 621, 621, 622, 622, 622, 622, 611, 623, 623, 623, - 623, 0, 612, 624, 624, 624, 624, 0, 0, 615, - 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, - - 616, 616, 616, 616, 616, 616, 616, 616, 616, 0, - 0, 0, 616, 616, 616, 616, 625, 625, 625, 625, - 0, 0, 616, 0, 616, 616, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 325, 325, 0, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 0, 326, 326, 0, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + + 333, 333, 333, 333, 0, 335, 335, 335, 335, 0, + 0, 351, 0, 0, 333, 350, 352, 0, 333, 335, + 0, 351, 350, 335, 351, 350, 352, 351, 350, 352, + 354, 0, 355, 352, 357, 0, 389, 389, 389, 0, + 354, 356, 355, 354, 357, 355, 358, 357, 354, 355, + 359, 356, 356, 0, 356, 361, 358, 360, 389, 358, + 359, 360, 359, 359, 362, 361, 0, 360, 361, 363, + 360, 0, 0, 363, 362, 364, 365, 362, 0, 363, + 0, 362, 363, 366, 367, 364, 365, 0, 364, 365, + 364, 368, 369, 366, 367, 0, 366, 367, 366, 370, + + 367, 368, 369, 371, 368, 369, 0, 372, 0, 370, + 368, 373, 370, 371, 370, 373, 371, 372, 374, 375, + 372, 373, 0, 0, 373, 376, 374, 377, 374, 375, + 0, 374, 375, 376, 375, 376, 0, 377, 376, 378, + 377, 378, 377, 379, 380, 381, 0, 0, 0, 378, + 0, 0, 378, 379, 380, 381, 379, 380, 381, 382, + 383, 384, 0, 379, 382, 384, 385, 386, 417, 382, + 383, 384, 382, 383, 384, 0, 385, 386, 417, 385, + 386, 417, 0, 0, 0, 386, 390, 390, 390, 390, + 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, + + 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, + 390, 390, 390, 390, 390, 390, 390, 390, 390, 0, + 390, 390, 0, 390, 390, 390, 390, 390, 390, 390, + 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, + 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, + 390, 390, 390, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 0, 391, 391, 0, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 393, 408, 408, 408, 408, 0, 0, 416, 418, 0, + 0, 416, 393, 419, 420, 408, 393, 416, 418, 408, + 416, 418, 0, 419, 420, 0, 419, 420, 0, 0, + 0, 393, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 395, + 395, 395, 395, 0, 396, 396, 396, 396, 0, 398, + 398, 398, 398, 395, 0, 0, 421, 395, 396, 0, + 422, 423, 396, 398, 0, 423, 421, 398, 421, 421, + 422, 423, 395, 422, 423, 0, 0, 396, 560, 560, + 560, 560, 398, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 424, 425, 426, 0, 425, 0, 427, 0, 424, 0, + 424, 425, 426, 424, 425, 426, 427, 428, 429, 427, + 0, 0, 430, 0, 431, 428, 0, 428, 429, 429, + 428, 429, 430, 432, 431, 430, 431, 431, 432, 430, + 433, 0, 0, 432, 0, 432, 432, 434, 435, 436, + 433, 434, 0, 433, 433, 436, 435, 434, 435, 436, + 434, 435, 436, 437, 438, 439, 438, 439, 0, 440, + + 0, 0, 0, 437, 438, 439, 437, 438, 439, 440, + 437, 440, 440, 441, 442, 441, 0, 0, 443, 444, + 0, 0, 0, 441, 442, 443, 441, 442, 443, 444, + 445, 443, 444, 0, 446, 445, 447, 0, 448, 0, + 445, 448, 446, 445, 446, 0, 447, 446, 448, 447, + 0, 448, 453, 453, 453, 453, 0, 454, 454, 454, + 454, 0, 456, 456, 456, 456, 453, 0, 0, 468, + 453, 454, 0, 469, 0, 454, 456, 0, 0, 468, + 456, 468, 468, 469, 470, 453, 469, 0, 0, 471, + 454, 469, 0, 0, 470, 456, 472, 470, 472, 471, + + 473, 470, 471, 0, 474, 475, 472, 0, 0, 472, + 473, 477, 0, 473, 474, 475, 473, 474, 475, 476, + 478, 477, 478, 476, 477, 479, 474, 480, 0, 476, + 478, 481, 476, 478, 0, 479, 482, 480, 479, 0, + 480, 481, 483, 484, 481, 483, 482, 484, 486, 482, + 485, 0, 483, 484, 485, 483, 484, 487, 486, 488, + 485, 486, 0, 485, 489, 486, 490, 487, 491, 488, + 487, 0, 488, 492, 489, 0, 490, 489, 491, 490, + 493, 491, 501, 492, 493, 492, 492, 502, 0, 0, + 493, 502, 501, 493, 0, 501, 504, 502, 505, 501, + + 502, 503, 503, 503, 503, 506, 504, 507, 505, 504, + 0, 505, 508, 0, 0, 506, 511, 507, 506, 507, + 507, 0, 508, 509, 508, 508, 511, 509, 510, 511, + 510, 0, 512, 509, 512, 0, 509, 503, 510, 513, + 0, 510, 512, 513, 514, 512, 515, 503, 0, 513, + 503, 516, 513, 526, 514, 516, 515, 514, 517, 515, + 0, 516, 517, 526, 516, 0, 526, 527, 517, 526, + 0, 517, 518, 518, 518, 518, 529, 527, 530, 0, + 527, 528, 528, 528, 528, 0, 529, 531, 530, 529, + 0, 530, 0, 533, 532, 530, 0, 531, 532, 535, + + 531, 534, 528, 533, 532, 534, 533, 532, 518, 535, + 536, 534, 535, 536, 534, 542, 537, 0, 518, 537, + 536, 518, 0, 536, 0, 542, 537, 0, 542, 537, + 538, 538, 538, 538, 544, 538, 545, 0, 528, 0, + 538, 545, 546, 547, 544, 0, 545, 544, 548, 545, + 544, 538, 546, 547, 549, 546, 547, 0, 548, 0, + 0, 548, 0, 0, 549, 0, 0, 549, 552, 552, + 552, 552, 552, 553, 553, 553, 553, 558, 559, 552, + 561, 561, 561, 561, 0, 0, 0, 558, 559, 0, + 558, 559, 562, 562, 562, 562, 563, 563, 563, 563, + + 0, 552, 565, 565, 565, 565, 568, 568, 568, 568, + 0, 0, 553, 0, 553, 0, 568, 569, 569, 569, + 569, 569, 0, 0, 0, 553, 0, 0, 569, 553, + 570, 570, 570, 570, 570, 0, 0, 0, 568, 0, + 0, 570, 571, 571, 571, 571, 573, 573, 573, 573, + 569, 572, 572, 572, 572, 572, 574, 574, 574, 574, + 0, 0, 0, 570, 575, 575, 575, 575, 576, 576, + 576, 576, 577, 577, 577, 577, 578, 578, 578, 578, + 579, 579, 579, 579, 0, 573, 0, 573, 584, 584, + 584, 584, 0, 0, 0, 574, 0, 574, 573, 0, + + 0, 0, 573, 575, 0, 575, 0, 0, 574, 0, + 0, 0, 574, 0, 0, 0, 575, 576, 0, 0, + 575, 577, 0, 579, 585, 585, 585, 585, 587, 587, + 587, 587, 578, 588, 588, 588, 588, 589, 589, 589, + 589, 590, 590, 590, 590, 598, 598, 598, 598, 0, + 0, 590, 592, 592, 592, 592, 593, 593, 593, 593, + 594, 594, 594, 594, 599, 599, 599, 599, 600, 600, + 600, 600, 0, 590, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 0, 0, 0, 591, 591, 591, 591, + + 593, 0, 0, 592, 594, 0, 591, 0, 591, 591, + 601, 601, 601, 601, 603, 603, 603, 603, 609, 609, + 609, 609, 604, 604, 604, 604, 610, 610, 610, 610, + 611, 611, 611, 611, 591, 591, 591, 591, 591, 591, + 591, 602, 602, 602, 602, 602, 602, 602, 602, 602, + 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, + 0, 0, 0, 602, 602, 602, 602, 603, 604, 612, + 612, 612, 612, 602, 0, 602, 602, 613, 613, 613, + 613, 614, 614, 614, 614, 617, 617, 617, 617, 620, + 620, 620, 620, 621, 621, 621, 621, 622, 622, 622, + + 622, 602, 602, 602, 602, 602, 602, 602, 623, 623, + 623, 623, 0, 0, 0, 613, 624, 624, 624, 624, + 0, 614, 625, 625, 625, 625, 0, 0, 617, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 0, 0, + 0, 618, 618, 618, 618, 626, 626, 626, 626, 0, + 0, 618, 0, 618, 618, 627, 627, 627, 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 616, 616, 616, 616, 616, 616, 617, 617, 617, 617, - 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, - 617, 617, 617, 617, 617, 0, 0, 0, 617, 617, - 617, 617, 0, 0, 0, 0, 0, 0, 617, 0, - 617, 617, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, + 618, 618, 618, 618, 618, 618, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 0, 0, 0, 619, 619, + 619, 619, 0, 0, 0, 0, 0, 0, 619, 0, + 619, 619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 617, 617, 617, 617, - 617, 617, 627, 627, 627, 627, 627, 627, 627, 627, - 627, 627, 627, 627, 628, 628, 0, 628, 628, 628, - 628, 628, 628, 628, 628, 628, 629, 0, 629, 629, - 629, 630, 630, 0, 630, 630, 630, 630, 630, 630, - 630, 630, 630, 631, 631, 631, 631, 631, 631, 631, - 0, 0, 0, 631, 631, 632, 632, 0, 0, 632, - 0, 632, 632, 632, 632, 632, 633, 633, 0, 633, - 633, 633, 633, 633, 633, 633, 633, 633, 634, 634, - - 634, 634, 634, 634, 634, 0, 0, 0, 634, 634, - 635, 635, 635, 635, 635, 635, 0, 635, 635, 635, - 635, 635, 636, 636, 0, 636, 636, 636, 636, 636, - 636, 636, 636, 636, 637, 637, 0, 637, 637, 637, - 637, 637, 637, 637, 637, 637, 638, 0, 638, 638, - 638, 638, 638, 639, 0, 639, 639, 639, 639, 639, - 640, 640, 640, 640, 640, 640, 640, 0, 0, 0, - 640, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 642, 642, 642, 642, 642, 642, 642, - 642, 642, 642, 642, 642, 643, 643, 0, 643, 0, - - 0, 643, 643, 644, 644, 644, 644, 644, 644, 644, - 0, 0, 0, 644, 644, 645, 645, 645, 645, 645, - 645, 645, 0, 0, 0, 645, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 647, 647, - 0, 647, 0, 0, 647, 647, 648, 648, 648, 648, - 648, 648, 648, 648, 648, 648, 648, 648, 649, 649, - 649, 649, 649, 649, 649, 0, 0, 0, 649, 650, - 650, 0, 650, 0, 0, 650, 650, 651, 0, 0, - 651, 651, 652, 652, 652, 652, 652, 652, 652, 652, - 652, 652, 652, 652, 653, 653, 653, 653, 653, 653, - - 653, 653, 653, 653, 653, 653, 654, 654, 654, 654, - 654, 0, 654, 655, 655, 655, 655, 655, 655, 655, - 655, 655, 655, 655, 655, 656, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 657, 657, 657, - 657, 657, 657, 657, 657, 657, 657, 657, 657, 658, - 658, 658, 658, 658, 0, 658, 659, 659, 659, 659, - 659, 0, 659, 660, 660, 660, 660, 660, 0, 660, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 662, 662, 662, 662, 662, 662, 662, 662, - 662, 662, 662, 662, 663, 663, 663, 663, 663, 663, - - 663, 663, 663, 663, 663, 664, 664, 0, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 665, 665, 665, + 0, 0, 0, 0, 0, 0, 619, 619, 619, 619, + 619, 619, 619, 629, 629, 629, 629, 629, 629, 629, + 629, 629, 629, 629, 629, 629, 629, 630, 630, 0, + 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, + 630, 631, 0, 631, 631, 631, 632, 632, 0, 632, + + 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, + 633, 633, 633, 633, 633, 633, 633, 633, 0, 0, + 0, 633, 633, 633, 634, 634, 0, 0, 634, 634, + 0, 634, 634, 634, 634, 634, 635, 635, 0, 635, + 635, 635, 635, 635, 635, 635, 635, 635, 635, 635, + 636, 636, 636, 636, 636, 636, 636, 636, 0, 0, + 0, 636, 636, 636, 637, 637, 637, 637, 637, 637, + 637, 0, 637, 637, 637, 637, 637, 637, 638, 638, + 638, 638, 638, 638, 638, 638, 638, 638, 638, 638, + 638, 638, 639, 639, 0, 639, 0, 639, 639, 639, + + 639, 640, 0, 0, 640, 640, 640, 640, 640, 641, + 641, 641, 641, 641, 641, 641, 641, 0, 0, 0, + 641, 0, 641, 642, 642, 642, 642, 642, 642, 642, + 642, 642, 642, 642, 642, 642, 642, 643, 643, 643, + 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, + 643, 644, 644, 0, 0, 644, 0, 0, 644, 644, + 645, 645, 645, 645, 645, 645, 645, 645, 0, 0, + 0, 645, 645, 645, 646, 646, 646, 646, 646, 646, + 646, 646, 0, 0, 0, 646, 0, 646, 647, 647, + 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, + + 647, 647, 648, 648, 0, 0, 648, 0, 0, 648, + 648, 649, 0, 0, 649, 0, 649, 649, 649, 649, + 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, + 650, 650, 650, 650, 651, 651, 651, 651, 651, 651, + 651, 651, 0, 0, 0, 651, 0, 651, 652, 652, + 0, 0, 652, 0, 0, 652, 652, 653, 0, 0, + 653, 653, 654, 654, 654, 654, 654, 654, 654, 654, + 654, 654, 654, 654, 654, 654, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, + 656, 656, 656, 656, 656, 0, 656, 656, 0, 0, + + 0, 0, 0, 656, 657, 657, 657, 657, 657, 657, + 657, 657, 657, 657, 657, 657, 657, 657, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 659, 660, 660, 660, 660, + 660, 0, 660, 660, 0, 0, 0, 0, 0, 660, + 661, 661, 661, 661, 661, 0, 661, 661, 0, 0, + 0, 0, 0, 661, 662, 662, 662, 662, 662, 0, + 662, 662, 0, 0, 0, 0, 0, 662, 663, 663, + 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, + + 663, 663, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, 666, - 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, - 666, 667, 667, 0, 667, 667, 667, 667, 667, 667, - 667, 667, 667, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626 + 666, 0, 666, 666, 666, 666, 666, 666, 666, 666, + 666, 666, 666, 667, 667, 667, 667, 667, 667, 667, + 667, 667, 667, 667, 667, 667, 667, 668, 668, 668, + 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, + 668, 669, 669, 0, 669, 669, 669, 669, 669, 669, + 669, 669, 669, 669, 669, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628 } ; static yy_state_type yy_last_accepting_state; @@ -1511,8 +1563,8 @@ void as3_buffer_input(void*buffer, int len) as3_in = 0; } -#undef BEGIN -#define BEGIN(x) {(yy_start) = 1 + 2 *x;dbg("entering state %d", x);} +//#undef BEGIN +//#define BEGIN(x) {(yy_start) = 1 + 2 *x;dbg("entering state %d", x);} #define YY_INPUT(buf,result,max_size) { \ if(!as3_buffer) { \ @@ -1945,7 +1997,7 @@ static int tokenerror(); -#line 1949 "tokenizer.yy.c" +#line 2001 "tokenizer.yy.c" #define INITIAL 0 #define REGEXPOK 1 @@ -2135,11 +2187,11 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 538 "tokenizer.lex" +#line 540 "tokenizer.lex" -#line 2143 "tokenizer.yy.c" +#line 2195 "tokenizer.yy.c" if ( !(yy_init) ) { @@ -2193,13 +2245,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 627 ) + if ( yy_current_state >= 629 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 626 ); + while ( yy_current_state != 628 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2222,18 +2274,18 @@ do_action: /* This label is used only to access EOF actions. */ case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 541 "tokenizer.lex" +#line 543 "tokenizer.lex" {l(); /* single line comment */} YY_BREAK case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 542 "tokenizer.lex" +#line 544 "tokenizer.lex" {l(); /* multi line comment */} YY_BREAK case 3: YY_RULE_SETUP -#line 543 "tokenizer.lex" +#line 545 "tokenizer.lex" {syntaxerror("syntax error: unterminated comment", as3_text);} YY_BREAK case 4: @@ -2242,7 +2294,7 @@ case 4: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 545 "tokenizer.lex" +#line 547 "tokenizer.lex" {l();handleInclude(as3_text, as3_leng, 1);} YY_BREAK case 5: @@ -2251,26 +2303,26 @@ case 5: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 546 "tokenizer.lex" +#line 548 "tokenizer.lex" {l();handleInclude(as3_text, as3_leng, 0);} YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 547 "tokenizer.lex" +#line 549 "tokenizer.lex" {l(); BEGIN(DEFAULT);handleString(as3_text, as3_leng);return T_STRING;} YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP -#line 548 "tokenizer.lex" +#line 550 "tokenizer.lex" {l(); BEGIN(DEFAULT);handleCData(as3_text, as3_leng);return T_STRING;} YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP -#line 551 "tokenizer.lex" +#line 553 "tokenizer.lex" {l(); BEGIN(DEFAULT);handleRaw(as3_text, as3_leng);return T_STRING;} YY_BREAK @@ -2278,47 +2330,47 @@ YY_RULE_SETUP case 9: /* rule 9 can match eol */ YY_RULE_SETUP -#line 555 "tokenizer.lex" -{l(); handleString(as3_text, as3_leng);return T_STRING;} +#line 557 "tokenizer.lex" +{l(); handleRaw(as3_text, as3_leng);return T_STRING;} YY_BREAK case 10: YY_RULE_SETUP -#line 556 "tokenizer.lex" +#line 558 "tokenizer.lex" {c(); BEGIN(REGEXPOK);return m('{');} YY_BREAK case 11: YY_RULE_SETUP -#line 557 "tokenizer.lex" +#line 559 "tokenizer.lex" {c(); return m('<');} YY_BREAK case 12: YY_RULE_SETUP -#line 558 "tokenizer.lex" +#line 560 "tokenizer.lex" {c(); return m('/');} YY_BREAK case 13: YY_RULE_SETUP -#line 559 "tokenizer.lex" +#line 561 "tokenizer.lex" {c(); return m('>');} YY_BREAK case 14: YY_RULE_SETUP -#line 560 "tokenizer.lex" +#line 562 "tokenizer.lex" {c(); return m('=');} YY_BREAK case 15: YY_RULE_SETUP -#line 561 "tokenizer.lex" +#line 563 "tokenizer.lex" {c(); handleRaw(as3_text, as3_leng);return T_IDENTIFIER;} YY_BREAK case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 562 "tokenizer.lex" +#line 564 "tokenizer.lex" {l();} YY_BREAK case YY_STATE_EOF(XML): -#line 563 "tokenizer.lex" +#line 565 "tokenizer.lex" {syntaxerror("unexpected end of file");} YY_BREAK @@ -2326,45 +2378,45 @@ case YY_STATE_EOF(XML): case 17: /* rule 17 can match eol */ YY_RULE_SETUP -#line 567 "tokenizer.lex" +#line 569 "tokenizer.lex" {l(); handleRaw(as3_text, as3_leng);return T_STRING;} YY_BREAK case 18: YY_RULE_SETUP -#line 568 "tokenizer.lex" +#line 570 "tokenizer.lex" {c(); BEGIN(REGEXPOK);return m('{');} YY_BREAK case 19: YY_RULE_SETUP -#line 569 "tokenizer.lex" +#line 571 "tokenizer.lex" {c(); BEGIN(XML);return m('<');} YY_BREAK case 20: YY_RULE_SETUP -#line 570 "tokenizer.lex" +#line 572 "tokenizer.lex" {c(); return m('>');} YY_BREAK case 21: /* rule 21 can match eol */ YY_RULE_SETUP -#line 571 "tokenizer.lex" +#line 573 "tokenizer.lex" {l(); handleRaw(as3_text, as3_leng);return T_STRING;} YY_BREAK case 22: /* rule 22 can match eol */ YY_RULE_SETUP -#line 572 "tokenizer.lex" +#line 574 "tokenizer.lex" {l(); handleRaw(as3_text, as3_leng);return T_STRING;} YY_BREAK case YY_STATE_EOF(XMLTEXT): -#line 573 "tokenizer.lex" +#line 575 "tokenizer.lex" {syntaxerror("unexpected end of file");} YY_BREAK case 23: YY_RULE_SETUP -#line 577 "tokenizer.lex" +#line 579 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handleregexp();} YY_BREAK case 24: @@ -2373,7 +2425,7 @@ case 24: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 578 "tokenizer.lex" +#line 580 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handlehex();} YY_BREAK case 25: @@ -2382,7 +2434,7 @@ case 25: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 579 "tokenizer.lex" +#line 581 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handlehexfloat();} YY_BREAK case 26: @@ -2391,7 +2443,7 @@ case 26: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 580 "tokenizer.lex" +#line 582 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handleint();} YY_BREAK case 27: @@ -2400,29 +2452,29 @@ case 27: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 581 "tokenizer.lex" +#line 583 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handlefloat();} YY_BREAK case 28: YY_RULE_SETUP -#line 584 "tokenizer.lex" +#line 586 "tokenizer.lex" {c(); BEGIN(REGEXPOK);return m(T_DICTSTART);} YY_BREAK case 29: YY_RULE_SETUP -#line 585 "tokenizer.lex" +#line 587 "tokenizer.lex" {c(); BEGIN(DEFAULT); return m('{');} YY_BREAK case 30: YY_RULE_SETUP -#line 587 "tokenizer.lex" +#line 589 "tokenizer.lex" {/* utf 8 bom */} YY_BREAK case 31: /* rule 31 can match eol */ YY_RULE_SETUP -#line 588 "tokenizer.lex" +#line 590 "tokenizer.lex" {l();} YY_BREAK case 32: @@ -2431,7 +2483,7 @@ case 32: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 590 "tokenizer.lex" +#line 592 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handlehex();} YY_BREAK case 33: @@ -2440,7 +2492,7 @@ case 33: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 591 "tokenizer.lex" +#line 593 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handlehexfloat();} YY_BREAK case 34: @@ -2449,7 +2501,7 @@ case 34: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 592 "tokenizer.lex" +#line 594 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handleint();} YY_BREAK case 35: @@ -2458,17 +2510,17 @@ case 35: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 593 "tokenizer.lex" +#line 595 "tokenizer.lex" {c(); BEGIN(DEFAULT);return handlefloat();} YY_BREAK case 36: YY_RULE_SETUP -#line 594 "tokenizer.lex" +#line 596 "tokenizer.lex" {c(); BEGIN(DEFAULT);return m(KW_NAN);} YY_BREAK case 37: YY_RULE_SETUP -#line 596 "tokenizer.lex" +#line 598 "tokenizer.lex" {/* for debugging: generates a tokenizer-level error */ syntaxerror("3rr0r");} YY_BREAK @@ -2478,7 +2530,7 @@ case 38: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 599 "tokenizer.lex" +#line 601 "tokenizer.lex" {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-3);return T_FOR;} YY_BREAK case 39: @@ -2487,7 +2539,7 @@ case 39: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 600 "tokenizer.lex" +#line 602 "tokenizer.lex" {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-2);return T_DO;} YY_BREAK case 40: @@ -2496,7 +2548,7 @@ case 40: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 601 "tokenizer.lex" +#line 603 "tokenizer.lex" {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-5);return T_WHILE;} YY_BREAK case 41: @@ -2505,443 +2557,449 @@ case 41: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up as3_text again */ YY_RULE_SETUP -#line 602 "tokenizer.lex" +#line 604 "tokenizer.lex" {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-6);return T_SWITCH;} YY_BREAK case 42: +/* rule 42 can match eol */ YY_RULE_SETUP -#line 603 "tokenizer.lex" -{c();BEGIN(DEFAULT);a3_lval.id="";return T_FOR;} +#line 605 "tokenizer.lex" +{l();BEGIN(DEFAULT);return m(KW_DEFAULT_XML);} YY_BREAK case 43: YY_RULE_SETUP -#line 604 "tokenizer.lex" -{c();BEGIN(DEFAULT);a3_lval.id="";return T_DO;} +#line 606 "tokenizer.lex" +{c();BEGIN(DEFAULT);a3_lval.id="";return T_FOR;} YY_BREAK case 44: YY_RULE_SETUP -#line 605 "tokenizer.lex" -{c();BEGIN(DEFAULT);a3_lval.id="";return T_WHILE;} +#line 607 "tokenizer.lex" +{c();BEGIN(DEFAULT);a3_lval.id="";return T_DO;} YY_BREAK case 45: YY_RULE_SETUP -#line 606 "tokenizer.lex" -{c();BEGIN(DEFAULT);a3_lval.id="";return T_SWITCH;} +#line 608 "tokenizer.lex" +{c();BEGIN(DEFAULT);a3_lval.id="";return T_WHILE;} YY_BREAK case 46: YY_RULE_SETUP -#line 608 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_ANDAND);} +#line 609 "tokenizer.lex" +{c();BEGIN(DEFAULT);a3_lval.id="";return T_SWITCH;} YY_BREAK case 47: YY_RULE_SETUP -#line 609 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_OROR);} +#line 611 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_ANDAND);} YY_BREAK case 48: YY_RULE_SETUP -#line 610 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_NE);} +#line 612 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_OROR);} YY_BREAK case 49: YY_RULE_SETUP -#line 611 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_NEE);} +#line 613 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_NE);} YY_BREAK case 50: YY_RULE_SETUP -#line 612 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_EQEQEQ);} +#line 614 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_NEE);} YY_BREAK case 51: YY_RULE_SETUP -#line 613 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_EQEQ);} +#line 615 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_EQEQEQ);} YY_BREAK case 52: YY_RULE_SETUP -#line 614 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_GE);} +#line 616 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_EQEQ);} YY_BREAK case 53: YY_RULE_SETUP -#line 615 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_LE);} +#line 617 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_GE);} YY_BREAK case 54: YY_RULE_SETUP -#line 616 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(T_MINUSMINUS);} +#line 618 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_LE);} YY_BREAK case 55: YY_RULE_SETUP -#line 617 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(T_PLUSPLUS);} +#line 619 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(T_MINUSMINUS);} YY_BREAK case 56: YY_RULE_SETUP -#line 618 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_PLUSBY);} +#line 620 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(T_PLUSPLUS);} YY_BREAK case 57: YY_RULE_SETUP -#line 619 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_XORBY);} +#line 621 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_PLUSBY);} YY_BREAK case 58: YY_RULE_SETUP -#line 620 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_MINUSBY);} +#line 622 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_XORBY);} YY_BREAK case 59: YY_RULE_SETUP -#line 621 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_DIVBY);} +#line 623 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_MINUSBY);} YY_BREAK case 60: YY_RULE_SETUP -#line 622 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_MODBY);} +#line 624 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_DIVBY);} YY_BREAK case 61: YY_RULE_SETUP -#line 623 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_MULBY);} +#line 625 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_MODBY);} YY_BREAK case 62: YY_RULE_SETUP -#line 624 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_ORBY);} +#line 626 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_MULBY);} YY_BREAK case 63: YY_RULE_SETUP -#line 625 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_ANDBY);} +#line 627 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_ORBY);} YY_BREAK case 64: YY_RULE_SETUP -#line 626 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_SHRBY);} +#line 628 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_ANDBY);} YY_BREAK case 65: YY_RULE_SETUP -#line 627 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_SHLBY);} +#line 629 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_SHRBY);} YY_BREAK case 66: YY_RULE_SETUP -#line 628 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_USHRBY);} +#line 630 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_SHLBY);} YY_BREAK case 67: YY_RULE_SETUP -#line 629 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_SHL);} +#line 631 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_USHRBY);} YY_BREAK case 68: YY_RULE_SETUP -#line 630 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_USHR);} +#line 632 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_SHL);} YY_BREAK case 69: YY_RULE_SETUP -#line 631 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_SHR);} +#line 633 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_USHR);} YY_BREAK case 70: YY_RULE_SETUP -#line 632 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);} +#line 634 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_SHR);} YY_BREAK case 71: YY_RULE_SETUP -#line 633 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_DOTDOT);} +#line 635 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);} YY_BREAK case 72: YY_RULE_SETUP -#line 634 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m('.');} +#line 636 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_DOTDOT);} YY_BREAK case 73: YY_RULE_SETUP -#line 635 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(T_COLONCOLON);} +#line 637 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m('.');} YY_BREAK case 74: YY_RULE_SETUP -#line 636 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(':');} +#line 638 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(T_COLONCOLON);} YY_BREAK case 75: YY_RULE_SETUP -#line 637 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);} +#line 639 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(':');} YY_BREAK case 76: YY_RULE_SETUP -#line 638 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);} +#line 640 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);} YY_BREAK case 77: YY_RULE_SETUP -#line 639 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_INTERFACE);} +#line 641 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);} YY_BREAK case 78: YY_RULE_SETUP -#line 640 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_NAMESPACE);} +#line 642 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_INTERFACE);} YY_BREAK case 79: YY_RULE_SETUP -#line 641 "tokenizer.lex" +#line 643 "tokenizer.lex" {c();BEGIN(DEFAULT);return m(KW_PROTECTED);} YY_BREAK case 80: YY_RULE_SETUP -#line 642 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_UNDEFINED);} +#line 644 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_NAMESPACE);} YY_BREAK case 81: YY_RULE_SETUP -#line 643 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_ARGUMENTS);} +#line 645 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_UNDEFINED);} YY_BREAK case 82: YY_RULE_SETUP -#line 644 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_CONTINUE);} +#line 646 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_ARGUMENTS);} YY_BREAK case 83: YY_RULE_SETUP -#line 645 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_OVERRIDE);} +#line 647 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_CONTINUE);} YY_BREAK case 84: YY_RULE_SETUP -#line 646 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_INTERNAL);} +#line 648 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_OVERRIDE);} YY_BREAK case 85: YY_RULE_SETUP -#line 647 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_FUNCTION);} +#line 649 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_INTERNAL);} YY_BREAK case 86: YY_RULE_SETUP -#line 648 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_FINALLY);} +#line 650 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_FUNCTION);} YY_BREAK case 87: YY_RULE_SETUP -#line 649 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_DEFAULT);} +#line 651 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_FINALLY);} YY_BREAK case 88: YY_RULE_SETUP -#line 650 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_PACKAGE);} +#line 652 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_DEFAULT);} YY_BREAK case 89: YY_RULE_SETUP -#line 651 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_PRIVATE);} +#line 653 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_PACKAGE);} YY_BREAK case 90: YY_RULE_SETUP -#line 652 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_DYNAMIC);} +#line 654 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_PRIVATE);} YY_BREAK case 91: YY_RULE_SETUP -#line 653 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_EXTENDS);} +#line 655 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_DYNAMIC);} YY_BREAK case 92: YY_RULE_SETUP -#line 654 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_DELETE);} +#line 656 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_EXTENDS);} YY_BREAK case 93: YY_RULE_SETUP -#line 655 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_RETURN);} +#line 657 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_DELETE);} YY_BREAK case 94: YY_RULE_SETUP -#line 656 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_PUBLIC);} +#line 658 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_RETURN);} YY_BREAK case 95: YY_RULE_SETUP -#line 657 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_NATIVE);} +#line 659 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_PUBLIC);} YY_BREAK case 96: YY_RULE_SETUP -#line 658 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_STATIC);} +#line 660 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_NATIVE);} YY_BREAK case 97: YY_RULE_SETUP -#line 659 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_IMPORT);} +#line 661 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_STATIC);} YY_BREAK case 98: YY_RULE_SETUP -#line 660 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_TYPEOF);} +#line 662 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_IMPORT);} YY_BREAK case 99: YY_RULE_SETUP -#line 661 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_THROW);} +#line 663 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_TYPEOF);} YY_BREAK case 100: YY_RULE_SETUP -#line 662 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_CLASS);} +#line 664 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_THROW);} YY_BREAK case 101: YY_RULE_SETUP -#line 663 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_CONST);} +#line 665 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_CLASS);} YY_BREAK case 102: YY_RULE_SETUP -#line 664 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_CATCH);} +#line 666 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_CONST);} YY_BREAK case 103: YY_RULE_SETUP -#line 665 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_FINAL);} +#line 667 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_CATCH);} YY_BREAK case 104: YY_RULE_SETUP -#line 666 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_FALSE);} +#line 668 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_FINAL);} YY_BREAK case 105: YY_RULE_SETUP -#line 667 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_BREAK);} +#line 669 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_FALSE);} YY_BREAK case 106: YY_RULE_SETUP -#line 668 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_SUPER);} +#line 670 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_BREAK);} YY_BREAK case 107: YY_RULE_SETUP -#line 669 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_EACH);} +#line 671 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_SUPER);} YY_BREAK case 108: YY_RULE_SETUP -#line 670 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_VOID);} +#line 672 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_EACH);} YY_BREAK case 109: YY_RULE_SETUP -#line 671 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_TRUE);} +#line 673 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_VOID);} YY_BREAK case 110: YY_RULE_SETUP -#line 672 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_NULL);} +#line 674 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_TRUE);} YY_BREAK case 111: YY_RULE_SETUP -#line 673 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_ELSE);} +#line 675 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_NULL);} YY_BREAK case 112: YY_RULE_SETUP -#line 674 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_CASE);} +#line 676 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_ELSE);} YY_BREAK case 113: YY_RULE_SETUP -#line 675 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_WITH);} +#line 677 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_CASE);} YY_BREAK case 114: YY_RULE_SETUP -#line 676 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_USE);} +#line 678 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_WITH);} YY_BREAK case 115: YY_RULE_SETUP -#line 677 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_NEW);} +#line 679 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_USE);} YY_BREAK case 116: YY_RULE_SETUP -#line 678 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_GET);} +#line 680 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_NEW);} YY_BREAK case 117: YY_RULE_SETUP -#line 679 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_SET);} +#line 681 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_GET);} YY_BREAK case 118: YY_RULE_SETUP -#line 680 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_VAR);} +#line 682 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_SET);} YY_BREAK case 119: YY_RULE_SETUP -#line 681 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_TRY);} +#line 683 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_VAR);} YY_BREAK case 120: YY_RULE_SETUP -#line 682 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_IS) ;} +#line 684 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_TRY);} YY_BREAK case 121: YY_RULE_SETUP -#line 683 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_IN) ;} +#line 685 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_IS) ;} YY_BREAK case 122: YY_RULE_SETUP -#line 684 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(KW_IF) ;} +#line 686 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_IN) ;} YY_BREAK case 123: YY_RULE_SETUP -#line 685 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(KW_AS);} +#line 687 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(KW_IF) ;} YY_BREAK case 124: YY_RULE_SETUP -#line 686 "tokenizer.lex" -{c();BEGIN(DEFAULT);return handleIdentifier();} +#line 688 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(KW_AS);} YY_BREAK case 125: YY_RULE_SETUP -#line 688 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(as3_text[0]);} +#line 689 "tokenizer.lex" +{c();BEGIN(DEFAULT);return handleIdentifier();} YY_BREAK case 126: YY_RULE_SETUP -#line 689 "tokenizer.lex" -{c();BEGIN(REGEXPOK);return m(as3_text[0]);} +#line 691 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(as3_text[0]);} YY_BREAK case 127: YY_RULE_SETUP -#line 690 "tokenizer.lex" -{c();BEGIN(DEFAULT);return m(as3_text[0]);} +#line 692 "tokenizer.lex" +{c();BEGIN(REGEXPOK);return m(as3_text[0]);} YY_BREAK - case 128: YY_RULE_SETUP #line 693 "tokenizer.lex" +{c();BEGIN(DEFAULT);return m(as3_text[0]);} + YY_BREAK + +case 129: +YY_RULE_SETUP +#line 696 "tokenizer.lex" {tokenerror();} YY_BREAK @@ -2949,7 +3007,7 @@ case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(REGEXPOK): case YY_STATE_EOF(BEGINNING): case YY_STATE_EOF(DEFAULT): -#line 695 "tokenizer.lex" +#line 698 "tokenizer.lex" {l(); void*b = leave_file(); if (!b) { @@ -2962,12 +3020,12 @@ case YY_STATE_EOF(DEFAULT): } } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 707 "tokenizer.lex" +#line 710 "tokenizer.lex" ECHO; YY_BREAK -#line 2971 "tokenizer.yy.c" +#line 3029 "tokenizer.yy.c" case YY_END_OF_BUFFER: { @@ -3259,7 +3317,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 627 ) + if ( yy_current_state >= 629 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -3287,11 +3345,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 627 ) + if ( yy_current_state >= 629 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 626); + yy_is_jam = (yy_current_state == 628); return yy_is_jam ? 0 : yy_current_state; } @@ -3977,7 +4035,7 @@ void as3_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 707 "tokenizer.lex" +#line 710 "tokenizer.lex"