From 09149e34657f77ca5bd40c292b0e3adc4eeff988 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Thu, 25 Nov 2004 02:10:40 +0000 Subject: [PATCH] This patch fixes an old design flaw in the post-processing module, namely that we used a list of Post_View objects instead of a list of pointers to Post_View objects in CTX.post.list. This had many annoying consequences, in particular the fact that we needed to be extra careful every time the list was reallocated (as pointers to the list elements would become invalid). I tried very hard to change the code everywhere it should be changed, but I might have missed something. Please let me know if you see anything suspicious (like a crash when you duplicate/remove/combine/... post-processing views). --- Box/Main.cpp | 4 +- Common/CommandLine.cpp | 4 +- Common/Options.cpp | 11 +- Common/Views.cpp | 133 +- Fltk/Callbacks.cpp | 51 +- Fltk/GUI.cpp | 8 +- Fltk/Main.cpp | 6 +- Graphics/Graph2D.cpp | 6 +- Graphics/Post.cpp | 6 +- Graphics/PostElement.cpp | 23 +- Graphics/Scale.cpp | 4 +- Mesh/Generator.cpp | 4 +- Parser/Gmsh.tab.cpp | 13634 ++++++++++++++++++-------------- Parser/Gmsh.tab.hpp | 609 +- Parser/Gmsh.y | 8 +- Parser/Gmsh.yy.cpp | 16 +- Parser/OpenFile.cpp | 6 +- Plugin/CutGrid.cpp | 4 +- Plugin/CutMap.cpp | 12 +- Plugin/CutParametric.cpp | 7 +- Plugin/CutPlane.cpp | 12 +- Plugin/CutSphere.cpp | 4 +- Plugin/DecomposeInSimplex.cpp | 4 +- Plugin/DisplacementRaise.cpp | 6 +- Plugin/Evaluate.cpp | 4 +- Plugin/Extract.cpp | 6 +- Plugin/HarmonicToTime.cpp | 6 +- Plugin/Integrate.cpp | 4 +- Plugin/Levelset.cpp | 9 +- Plugin/Skin.cpp | 4 +- Plugin/Smooth.cpp | 4 +- Plugin/SphericalRaise.cpp | 4 +- Plugin/StreamLines.cpp | 16 +- Plugin/Transform.cpp | 4 +- Plugin/Triangulate.cpp | 4 +- TODO | 9 +- 36 files changed, 8100 insertions(+), 6556 deletions(-) diff --git a/Box/Main.cpp b/Box/Main.cpp index 00bf896400..f872e316f8 100644 --- a/Box/Main.cpp +++ b/Box/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.43 2004-05-22 01:24:16 geuzaine Exp $ +// $Id: Main.cpp,v 1.44 2004-11-25 02:10:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -126,7 +126,7 @@ int main(int argc, char *argv[]) if(TheBgmFileName) { MergeProblem(TheBgmFileName); if(List_Nbr(CTX.post.list)) - BGMWithView((Post_View *) + BGMWithView(*(Post_View **) List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1)); else{ fprintf(stderr, ERROR_STR "Invalid background mesh (no view)\n"); diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp index fe20600c0f..025f47f87c 100644 --- a/Common/CommandLine.cpp +++ b/Common/CommandLine.cpp @@ -1,4 +1,4 @@ -// $Id: CommandLine.cpp,v 1.50 2004-10-03 23:32:02 geuzaine Exp $ +// $Id: CommandLine.cpp,v 1.51 2004-11-25 02:10:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -280,7 +280,7 @@ void Get_Options(int argc, char *argv[], int *nbfiles) OpenProblem(argv[i]); // convert post-processing views to latest (binary) format for(int j = 0; j < List_Nbr(CTX.post.list); j++) - WriteView((Post_View *) List_Pointer(CTX.post.list, j), + WriteView(*(Post_View **) List_Pointer(CTX.post.list, j), argv[i + 1], 1, j ? 1 : 0); // convert any mesh to the latest format if(THEM){ diff --git a/Common/Options.cpp b/Common/Options.cpp index c33568fb13..82b8317d1f 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.206 2004-11-18 23:44:53 geuzaine Exp $ +// $Id: Options.cpp,v 1.207 2004-11-25 02:10:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -157,7 +157,7 @@ void ReInit_Options(int num) CTX.post.list = l; for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); CopyViewOptions(Post_ViewReference, v); } } @@ -778,14 +778,15 @@ int Get_ColorForString(StringX4Int SX4I[], int alpha, // String option routines #define GET_VIEW(error_val) \ - Post_View *v; \ - if(!List_Nbr(CTX.post.list)) \ + Post_View *v, **vv; \ + if(!List_Nbr(CTX.post.list)) \ v = Post_ViewReference ; \ else{ \ - if(!(v = (Post_View*)List_Pointer_Test(CTX.post.list, num))){ \ + if(!(vv = (Post_View **)List_Pointer_Test(CTX.post.list, num))){ \ Msg(WARNING, "View[%d] does not exist", num) ; \ return (error_val) ; \ } \ + v = *vv; \ } char *opt_general_display(OPT_ARGS_STR) diff --git a/Common/Views.cpp b/Common/Views.cpp index a810bff5da..3705f158b2 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.145 2004-11-13 22:52:44 geuzaine Exp $ +// $Id: Views.cpp,v 1.146 2004-11-25 02:10:31 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -42,48 +42,47 @@ Post_View *Post_ViewReference = NULL; int fcmpPostViewNum(const void *v1, const void *v2) { - return (((Post_View *) v1)->Num - ((Post_View *) v2)->Num); + return ((*(Post_View **) v1)->Num - (*(Post_View **) v2)->Num); } int fcmpPostViewDuplicateOf(const void *v1, const void *v2) { - return (((Post_View *) v1)->DuplicateOf - ((Post_View *) v2)->DuplicateOf); + return ((*(Post_View **) v1)->DuplicateOf - (*(Post_View **) v2)->DuplicateOf); } int fcmpPostViewName(const void *v1, const void *v2) { - return strcmp(((Post_View *) v1)->Name, ((Post_View *) v2)->Name); + return strcmp((*(Post_View **) v1)->Name, (*(Post_View **) v2)->Name); } int fcmpPostViewVisibility(const void *v1, const void *v2) { - return (((Post_View *) v2)->Visible - ((Post_View *) v1)->Visible); + return ((*(Post_View **) v2)->Visible - (*(Post_View **) v1)->Visible); } Post_View *BeginView(int allocate) { - Post_View vv, *v; + Post_View *v = (Post_View *)Malloc(sizeof(Post_View)); static int UniqueNum = 0; - int i; if(!CTX.post.list) - CTX.post.list = List_Create(100, 100, sizeof(Post_View)); + CTX.post.list = List_Create(100, 100, sizeof(Post_View *)); // Important notes: // - each view *must* have a unique number // - the view list is assumned to be sorted with increasing nums if(!CTX.post.force_num) { - vv.Num = ++UniqueNum; - List_Add(CTX.post.list, &vv); + v->Num = ++UniqueNum; + List_Add(CTX.post.list, &v); } else { - vv.Num = CTX.post.force_num; - List_Replace(CTX.post.list, &vv, fcmpPostViewNum); + v->Num = CTX.post.force_num; + List_Replace(CTX.post.list, &v, fcmpPostViewNum); } - i = List_ISearch(CTX.post.list, &vv, fcmpPostViewNum); - v = (Post_View *) List_Pointer(CTX.post.list, i); + int i = List_ISearch(CTX.post.list, &v, fcmpPostViewNum); + List_Read(CTX.post.list, i, &v); v->Index = i; v->Dirty = 1; @@ -195,7 +194,7 @@ double ComputeVonMises(double *V) v31 * v31 + v32 * v32 + v33 * v33)); } -void Stat_Element(Post_View * v, int type, int nbnod, int N, +void Stat_Element(Post_View *v, int type, int nbnod, int N, double *X, double *Y, double *Z, double *V) { int i; @@ -414,14 +413,11 @@ void EndView(Post_View * v, int add_in_gui, char *file_name, char *name) void DuplicateView(int num, int withoptions) { - Post_View v, *v2, *v3; + Post_View v, *pv, **ppv; - // Create the new view before getting a pointer to the old one: in - // case post.list got reallocated, the pointer to the old one could - // have changed! - v2 = BeginView(0); + Post_View *v1 = *(Post_View **) List_Pointer(CTX.post.list, num); - Post_View *v1 = (Post_View *) List_Pointer_Test(CTX.post.list, num); + Post_View *v2 = BeginView(0); EndView(v2, 0, v1->FileName, v1->Name); if(!v1->DuplicateOf) { @@ -430,13 +426,14 @@ void DuplicateView(int num, int withoptions) } else { v.Num = v1->DuplicateOf; - if(!(v3 = (Post_View *) List_PQuery(CTX.post.list, &v, fcmpPostViewNum))) { + pv = &v; + if(!(ppv = (Post_View **) List_PQuery(CTX.post.list, &pv, fcmpPostViewNum))) { v2->DuplicateOf = v1->Num; v1->Links++; } else { - v2->DuplicateOf = v3->Num; - v3->Links++; + v2->DuplicateOf = (*ppv)->Num; + (*ppv)->Links++; } } @@ -500,18 +497,17 @@ void DuplicateView(int num, int withoptions) bool RemoveViewByIndex(int index) { - Post_View *v; - if(index < 0 || index >= List_Nbr(CTX.post.list)) { return false; } - v = (Post_View *) List_Pointer(CTX.post.list, index); + + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, index); FreeView(v); List_PSuppress(CTX.post.list, index); // recalculate the indices for(int i = 0; i < List_Nbr(CTX.post.list); i++){ - v = (Post_View *) List_Pointer(CTX.post.list, i); + v = *(Post_View **) List_Pointer(CTX.post.list, i); v->Index = i; } @@ -521,29 +517,30 @@ bool RemoveViewByIndex(int index) bool RemoveViewByNumber(int num) { - Post_View vv; + Post_View v, *pv; - vv.Num = num; - int i = List_ISearch(CTX.post.list, &vv, fcmpPostViewNum); + v.Num = num; + pv = &v; + int i = List_ISearch(CTX.post.list, &pv, fcmpPostViewNum); return RemoveViewByIndex(i); } void FreeView(Post_View * v) { - Post_View vv, *v2; + Post_View vv, *pvv, **ppvv; int i, numdup, free = 1; if(v->DuplicateOf) { vv.Num = v->DuplicateOf; + pvv = &vv; Msg(DEBUG, "This view is a duplicata"); - if(!(v2 = (Post_View *) List_PQuery(CTX.post.list, &vv, fcmpPostViewNum))) { + if(!(ppvv = (Post_View **) List_PQuery(CTX.post.list, &pvv, fcmpPostViewNum))) { Msg(DEBUG, " -the original view is gone"); numdup = 0; for(i = 0; i < List_Nbr(CTX.post.list); i++) - numdup += - (((Post_View *) List_Pointer(CTX.post.list, i))->DuplicateOf == - v->DuplicateOf); + numdup += ((*(Post_View **) List_Pointer(CTX.post.list, i))->DuplicateOf + == v->DuplicateOf); if(numdup == 1) { Msg(DEBUG, " -there are no other duplicata, so I can free"); free = 1; @@ -554,7 +551,7 @@ void FreeView(Post_View * v) } } else { - v2->Links--; + (*ppvv)->Links--; free = 0; Msg(DEBUG, " -the original still exists, so I cannot free"); } @@ -575,28 +572,10 @@ void FreeView(Post_View * v) List_Delete(v->SY); List_Delete(v->VY); List_Delete(v->TY); List_Delete(v->T2D); List_Delete(v->T2C); List_Delete(v->T3D); List_Delete(v->T3C); - //set to NULL in case we don't free v (e.g. when doing a 'reload') - //+ the reload does not work (e.g. the file is gone). This way, - //the next Free stuff will still work gracefully. - v->Time = NULL; - v->TimeStepMin = NULL; - v->TimeStepMax = NULL; - v->SP = v->VP = v->TP = NULL; - v->SL = v->VL = v->TL = NULL; - v->ST = v->VT = v->TT = NULL; - v->SQ = v->VQ = v->TQ = NULL; - v->SS = v->VS = v->TS = NULL; - v->SH = v->VH = v->TH = NULL; - v->SI = v->VI = v->TI = NULL; - v->SY = v->VY = v->TY = NULL; - v->T2D = v->T2C = NULL; - v->T3D = v->T3C = NULL; if(v->normals) delete v->normals; - v->normals = NULL; if(v->TriVertexArray) delete v->TriVertexArray; - v->TriVertexArray = NULL; if(v->adaptive) delete v->adaptive; - v->adaptive = 0; + Free(v); } } @@ -674,26 +653,32 @@ GmshColorTable *Get_ColorTable(int num) { Post_View *v; - if(!CTX.post.list) + if(!CTX.post.list){ v = Post_ViewReference; - else - v = (Post_View *) List_Pointer_Test(CTX.post.list, num); - if(v) - return &v->CT; - else - return NULL; + if(!v) return NULL; + } + else{ + Post_View **vv = (Post_View **) List_Pointer_Test(CTX.post.list, num); + if(!vv) return NULL; + v = *vv; + } + return &v->CT; } void Print_ColorTable(int num, int diff, char *prefix, FILE * file) { char tmp[1024]; Post_View *v; - if(!CTX.post.list) + + if(!CTX.post.list){ v = Post_ViewReference; - else - v = (Post_View *) List_Pointer_Test(CTX.post.list, num); - if(!v) - return; + if(!v) return; + } + else{ + Post_View **vv = (Post_View **) List_Pointer_Test(CTX.post.list, num); + if(!vv) return; + v = *vv; + } if(diff && !ColorTable_Diff(&Post_ViewReference->CT, &v->CT)) return; @@ -1273,7 +1258,7 @@ static void combine_space(struct nameidx *id, List_T *to_remove) int nbt = 0; for(int i = 0; i < List_Nbr(id->indices); i++) { List_Read(id->indices, i, &index); - Post_View *v = (Post_View*)List_Pointer(CTX.post.list, index); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, index); if(!i){ nbt = v->NbTimeStep; } @@ -1288,7 +1273,7 @@ static void combine_space(struct nameidx *id, List_T *to_remove) Post_View *vm = BeginView(1); for(int i = 0; i < List_Nbr(id->indices); i++) { List_Read(id->indices, i, &index); - Post_View *v = (Post_View*)List_Pointer(CTX.post.list, index); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, index); List_Insert(to_remove, &v->Num, fcmp_int); combine(v->SP,vm->SP); vm->NbSP += v->NbSP; combine(v->VP,vm->VP); vm->NbVP += v->NbVP; @@ -1348,7 +1333,7 @@ static void combine_time(struct nameidx *id, List_T *to_remove) // use the first view as the reference List_Read(id->indices, 0, &index); - Post_View *v = (Post_View*)List_Pointer(CTX.post.list, index); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, index); for(int i = 0; i < VIEW_NB_ELEMENT_TYPES; i++){ vm->get_raw_data(i, &list, &nbe, &nbc, &nbn); v->get_raw_data(i, &list2, &nbe2, &nbc2, &nbn2); @@ -1361,7 +1346,7 @@ static void combine_time(struct nameidx *id, List_T *to_remove) for(int j = 0; j < *nbe; j++){ for(int k = 0; k < List_Nbr(id->indices); k++){ List_Read(id->indices, k, &index); - v = (Post_View*)List_Pointer(CTX.post.list, index); + v = *(Post_View **)List_Pointer(CTX.post.list, index); v->get_raw_data(i, &list2, &nbe2, &nbc2, &nbn2); if(*nbe && *nbe == *nbe2){ List_Insert(to_remove, &v->Num, fcmp_int); @@ -1384,7 +1369,7 @@ static void combine_time(struct nameidx *id, List_T *to_remove) // create the time data for(int i = 0; i < List_Nbr(id->indices); i++){ List_Read(id->indices, i, &index); - v = (Post_View*)List_Pointer(CTX.post.list, index); + v = *(Post_View **)List_Pointer(CTX.post.list, index); for(int j = 0; j < List_Nbr(v->Time); j++){ List_Add(vm->Time, List_Pointer(v->Time, j)); } @@ -1435,7 +1420,7 @@ void CombineViews(int time, int how, int remove) struct nameidx *pid; for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); if(how || v->Visible) { nameidx id; // this might potentially lead to unwanted results if there are diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index d9da6f0127..99d29b07be 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.299 2004-11-18 23:44:53 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.300 2004-11-25 02:10:31 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -3121,34 +3121,29 @@ void view_reload_visible_cb(CALLBACK_ARGS) void view_reload_cb(CALLBACK_ARGS) { - Post_View tmp; - char filename[256]; - if(!CTX.post.list) return; - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - strcpy(filename, v->FileName); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); struct stat buf; - if(stat(filename, &buf)){ - Msg(GERROR, "File '%s' does not exist", filename); + if(stat(v->FileName, &buf)){ + Msg(GERROR, "File '%s' does not exist", v->FileName); return; } - CopyViewOptions(v, &tmp); - FreeView(v); - CTX.post.force_num = v->Num; - MergeProblem(filename); + MergeProblem(v->FileName); CTX.post.force_num = 0; - v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - CopyViewOptions(&tmp, v); + Post_View *v2 = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); + CopyViewOptions(v, v2); // In case the reloaded view has a different number of time steps - if(v->TimeStep > v->NbTimeStep - 1) - v->TimeStep = 0; + if(v2->TimeStep > v2->NbTimeStep - 1) + v2->TimeStep = 0; + + FreeView(v); if(!RELOAD_ALL_VIEWS) Draw(); @@ -3187,7 +3182,7 @@ void view_remove_empty_cb(CALLBACK_ARGS) { if(!CTX.post.list) return; for(int i = List_Nbr(CTX.post.list) - 1; i >= 0; i--){ - Post_View *v = (Post_View*) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->empty()) RemoveViewByIndex(i); } @@ -3204,8 +3199,7 @@ void view_remove_cb(CALLBACK_ARGS) void view_save_ascii_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - if(!v) return; + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); test: if(file_chooser(0, 1, "Save view in ASCII format", "*", 0, v->FileName)) { @@ -3225,8 +3219,7 @@ test: void view_save_binary_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - if(!v) return; + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); test: if(file_chooser(0, 1, "Save view in binary format", "*", 0, v->FileName)) { @@ -3246,8 +3239,7 @@ test: void view_save_parsed_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); - if(!v) return; + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); test: if(file_chooser(0, 1, "Save view in parsed format", "*", 0, v->FileName)) { @@ -3322,7 +3314,7 @@ void view_all_visible_cb(CALLBACK_ARGS) void view_applybgmesh_cb(CALLBACK_ARGS) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, (long int)data); if(!v->ScalarOnly || v->TextOnly) { Msg(GERROR, "Background mesh generation impossible with non-scalar view"); return; @@ -3361,8 +3353,11 @@ void view_plugin_run_cb(CALLBACK_ARGS) iView = 0; try { - Post_View *v = (Post_View *) List_Pointer_Test(CTX.post.list, iView); - p->execute(v); + Post_View **vv = (Post_View **) List_Pointer_Test(CTX.post.list, iView); + if(!vv) + p->execute(0); + else + p->execute(*vv); Draw(); } catch(GMSH_Plugin * err) { @@ -3881,8 +3876,8 @@ void view_options_ok_cb(CALLBACK_ARGS) // colorbar window if(force || (WID->view_colorbar_window->changed() && i != current)) { - ColorTable_Copy(&((Post_View *)List_Pointer(CTX.post.list, current))->CT); - ColorTable_Paste(&((Post_View *)List_Pointer(CTX.post.list, i))->CT); + ColorTable_Copy(&(*(Post_View **)List_Pointer(CTX.post.list, current))->CT); + ColorTable_Paste(&(*(Post_View **)List_Pointer(CTX.post.list, i))->CT); } } } diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index aa59bc1fc5..f83a434ec9 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.384 2004-11-24 16:33:39 geuzaine Exp $ +// $Id: GUI.cpp,v 1.385 2004-11-25 02:10:31 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -1064,7 +1064,7 @@ void GUI::set_context(Context_Item * menu_asked, int flag) int nb = 0; if(m_module_butt->value() == 3){ // post-processing context for(nb = 0; nb < List_Nbr(CTX.post.list); nb++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, nb); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, nb); Fl_Light_Button *b1 = new Fl_Light_Button(0, MH + nb * BH, width - popw, BH); b1->callback(view_toggle_cb, (void *)nb); @@ -1323,7 +1323,7 @@ void GUI::check_anim_buttons() } else { for(i = 0; i < List_Nbr(CTX.post.list); i++) { - if(((Post_View *) List_Pointer(CTX.post.list, i))->NbTimeStep > 1) { + if((*(Post_View **) List_Pointer(CTX.post.list, i))->NbTimeStep > 1) { play = 1; break; } @@ -2783,7 +2783,7 @@ void GUI::update_view_window(int num) return; view_number = num; - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, num); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, num); double maxval = MAX(fabs(v->Min), fabs(v->Max)); if(!maxval) maxval = 1.; diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp index 2bd70952a3..526d79efea 100644 --- a/Fltk/Main.cpp +++ b/Fltk/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.73 2004-10-28 08:13:09 geuzaine Exp $ +// $Id: Main.cpp,v 1.74 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) if(TheBgmFileName) { MergeProblem(TheBgmFileName); if(List_Nbr(CTX.post.list)) - BGMWithView((Post_View *) + BGMWithView(*(Post_View **) List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1)); else @@ -234,7 +234,7 @@ int main(int argc, char *argv[]) if(TheBgmFileName) { MergeProblem(TheBgmFileName); if(List_Nbr(CTX.post.list)) - BGMWithView((Post_View *) + BGMWithView(*(Post_View **) List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1)); else Msg(GERROR, "Invalid background mesh (no view)"); diff --git a/Graphics/Graph2D.cpp b/Graphics/Graph2D.cpp index f9e009aa93..76ac3d8716 100644 --- a/Graphics/Graph2D.cpp +++ b/Graphics/Graph2D.cpp @@ -1,4 +1,4 @@ -// $Id: Graph2D.cpp,v 1.37 2004-10-11 19:18:59 geuzaine Exp $ +// $Id: Graph2D.cpp,v 1.38 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -378,7 +378,7 @@ void Draw_Graph2D(void) return; for(i = 0; i < List_Nbr(CTX.post.list); i++) { - v = (Post_View *) List_Pointer(CTX.post.list, i); + v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->Visible && !v->Dirty && v->NbSP && v->Type != DRAW_POST_3D) { tic = 5; dx = dy = 0.; @@ -508,7 +508,7 @@ void Draw_Text2D(void) glColor4ubv((GLubyte *) & CTX.color.text); for(i = 0; i < List_Nbr(CTX.post.list); i++) { - v = (Post_View *) List_Pointer(CTX.post.list, i); + v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->Visible && !v->Dirty && v->DrawStrings) Draw_Text2D3D(2, v->TimeStep, v->NbT2, v->T2D, v->T2C); } diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp index d4c1fbf8ff..c95347fa7d 100644 --- a/Graphics/Post.cpp +++ b/Graphics/Post.cpp @@ -1,4 +1,4 @@ -// $Id: Post.cpp,v 1.84 2004-11-13 22:52:46 geuzaine Exp $ +// $Id: Post.cpp,v 1.85 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -280,7 +280,7 @@ void Draw_Post(void) if(CTX.draw_bbox || !CTX.post.draw) { // draw only the bbox of the visible views for(int iView = 0; iView < List_Nbr(CTX.post.list); iView++) { - v = (Post_View *) List_Pointer(CTX.post.list, iView); + v = *(Post_View **) List_Pointer(CTX.post.list, iView); if(v->Visible && v->Type == DRAW_POST_3D) { glColor4ubv((GLubyte *) & CTX.color.fg); glLineWidth(CTX.line_width); @@ -334,7 +334,7 @@ void Draw_Post(void) for(int iView = 0; iView < List_Nbr(CTX.post.list); iView++) { - v = (Post_View *) List_Pointer(CTX.post.list, iView); + v = *(Post_View **) List_Pointer(CTX.post.list, iView); if(v->Visible && !v->Dirty) { diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp index 0707f98709..841e7d2999 100644 --- a/Graphics/PostElement.cpp +++ b/Graphics/PostElement.cpp @@ -1,4 +1,4 @@ -// $Id: PostElement.cpp,v 1.53 2004-11-13 22:52:46 geuzaine Exp $ +// $Id: PostElement.cpp,v 1.54 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -927,14 +927,17 @@ void Draw_ScalarElement(int type, Post_View * View, int preproNormals, int GetDataFromOtherView(int type, Post_View *v, int *nbcomp, double *norm, double **vals, int *vectype) { - Post_View *v2 = (Post_View*)List_Pointer_Test(CTX.post.list, v->ExternalViewIndex); + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, + v->ExternalViewIndex); - if(!v2){ + if(!vv){ if(!v->ExternalElementIndex) Msg(GERROR, "Nonexistent external view: drawing self instead"); return 0; } + Post_View *v2 = *vv; + int nbelm = 0, comp = 0, nbnod = 0; List_T *l; switch (type) { @@ -996,20 +999,20 @@ int GetDataFromOtherView(int type, Post_View *v, int *nbcomp, } int nb = List_Nbr(l) / nbelm; - double *vv = (double *)List_Pointer(l, v->ExternalElementIndex * nb + 3 * nbnod + + double *vp = (double *)List_Pointer(l, v->ExternalElementIndex * nb + 3 * nbnod + comp * nbnod * v->TimeStep); for(int k = 0; k < nbnod; k++){ if(comp == 1) - norm[k] = vv[k]; + norm[k] = vp[k]; else if(comp == 3) - norm[k] = sqrt(vv[3*k] * vv[3*k] + - vv[3*k+1] * vv[3*k+1] + - vv[3*k+2] * vv[3*k+2]); + norm[k] = sqrt(vp[3*k] * vp[3*k] + + vp[3*k+1] * vp[3*k+1] + + vp[3*k+2] * vp[3*k+2]); else if(comp == 9) - norm[k] = ComputeVonMises(vv + 9*k); + norm[k] = ComputeVonMises(vp + 9*k); } - *vals = vv; + *vals = vp; switch (v->RangeType) { case DRAW_POST_RANGE_DEFAULT: diff --git a/Graphics/Scale.cpp b/Graphics/Scale.cpp index 20da8843bd..b8cc305071 100644 --- a/Graphics/Scale.cpp +++ b/Graphics/Scale.cpp @@ -1,4 +1,4 @@ -// $Id: Scale.cpp,v 1.52 2004-10-26 00:43:23 geuzaine Exp $ +// $Id: Scale.cpp,v 1.53 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -278,7 +278,7 @@ void Draw_Scales(void) List_Reset(todraw); for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); if(v->Visible && !v->Dirty && v->ShowScale && v->Type == DRAW_POST_3D && !v->TextOnly) List_Add(todraw, &v); diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 16789b5004..36c3bdde71 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.61 2004-11-19 18:26:47 geuzaine Exp $ +// $Id: Generator.cpp,v 1.62 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -121,7 +121,7 @@ void GetStatistics(double stat[50]) stat[26] = List_Nbr(CTX.post.list); for(int i = 0; i < List_Nbr(CTX.post.list); i++) { - Post_View *v = (Post_View *) List_Pointer(CTX.post.list, i); + Post_View *v = *(Post_View **) List_Pointer(CTX.post.list, i); stat[27] += v->NbSP + v->NbVP + v->NbTP; stat[28] += v->NbSL + v->NbVL + v->NbTL; stat[29] += v->NbST + v->NbVT + v->NbTT; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 1358e1f5b7..933bcb3f8d 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1,199 +1,440 @@ +/* A Bison parser, made by GNU Bison 1.875c. */ -/* A Bison parser, made from Gmsh.y - by GNU Bison version 1.28 */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define tDOUBLE 257 -#define tSTRING 258 -#define tBIGSTR 259 -#define tEND 260 -#define tAFFECT 261 -#define tDOTS 262 -#define tPi 263 -#define tMPI_Rank 264 -#define tMPI_Size 265 -#define tExp 266 -#define tLog 267 -#define tLog10 268 -#define tSqrt 269 -#define tSin 270 -#define tAsin 271 -#define tCos 272 -#define tAcos 273 -#define tTan 274 -#define tRand 275 -#define tAtan 276 -#define tAtan2 277 -#define tSinh 278 -#define tCosh 279 -#define tTanh 280 -#define tFabs 281 -#define tFloor 282 -#define tCeil 283 -#define tFmod 284 -#define tModulo 285 -#define tHypot 286 -#define tPrintf 287 -#define tSprintf 288 -#define tStrCat 289 -#define tStrPrefix 290 -#define tBoundingBox 291 -#define tDraw 292 -#define tPoint 293 -#define tCircle 294 -#define tEllipse 295 -#define tLine 296 -#define tSurface 297 -#define tSpline 298 -#define tVolume 299 -#define tCharacteristic 300 -#define tLength 301 -#define tParametric 302 -#define tElliptic 303 -#define tPlane 304 -#define tRuled 305 -#define tTriangulation 306 -#define tTransfinite 307 -#define tComplex 308 -#define tPhysical 309 -#define tUsing 310 -#define tBump 311 -#define tProgression 312 -#define tPlugin 313 -#define tRotate 314 -#define tTranslate 315 -#define tSymmetry 316 -#define tDilate 317 -#define tExtrude 318 -#define tDuplicata 319 -#define tLoop 320 -#define tRecombine 321 -#define tDelete 322 -#define tCoherence 323 -#define tIntersect 324 -#define tAttractor 325 -#define tLayers 326 -#define tScalarPoint 327 -#define tVectorPoint 328 -#define tTensorPoint 329 -#define tScalarLine 330 -#define tVectorLine 331 -#define tTensorLine 332 -#define tScalarTriangle 333 -#define tVectorTriangle 334 -#define tTensorTriangle 335 -#define tScalarQuadrangle 336 -#define tVectorQuadrangle 337 -#define tTensorQuadrangle 338 -#define tScalarTetrahedron 339 -#define tVectorTetrahedron 340 -#define tTensorTetrahedron 341 -#define tScalarHexahedron 342 -#define tVectorHexahedron 343 -#define tTensorHexahedron 344 -#define tScalarPrism 345 -#define tVectorPrism 346 -#define tTensorPrism 347 -#define tScalarPyramid 348 -#define tVectorPyramid 349 -#define tTensorPyramid 350 -#define tText2D 351 -#define tText3D 352 -#define tInterpolationScheme 353 -#define tCombine 354 -#define tBSpline 355 -#define tBezier 356 -#define tNurbs 357 -#define tOrder 358 -#define tWith 359 -#define tBounds 360 -#define tKnots 361 -#define tColor 362 -#define tColorTable 363 -#define tFor 364 -#define tIn 365 -#define tEndFor 366 -#define tIf 367 -#define tEndIf 368 -#define tExit 369 -#define tReturn 370 -#define tCall 371 -#define tFunction 372 -#define tTrimmed 373 -#define tShow 374 -#define tHide 375 -#define tB_SPLINE_SURFACE_WITH_KNOTS 376 -#define tB_SPLINE_CURVE_WITH_KNOTS 377 -#define tCARTESIAN_POINT 378 -#define tTRUE 379 -#define tFALSE 380 -#define tUNSPECIFIED 381 -#define tU 382 -#define tV 383 -#define tEDGE_CURVE 384 -#define tVERTEX_POINT 385 -#define tORIENTED_EDGE 386 -#define tPLANE 387 -#define tFACE_OUTER_BOUND 388 -#define tEDGE_LOOP 389 -#define tADVANCED_FACE 390 -#define tVECTOR 391 -#define tDIRECTION 392 -#define tAXIS2_PLACEMENT_3D 393 -#define tISO 394 -#define tENDISO 395 -#define tENDSEC 396 -#define tDATA 397 -#define tHEADER 398 -#define tFILE_DESCRIPTION 399 -#define tFILE_SCHEMA 400 -#define tFILE_NAME 401 -#define tMANIFOLD_SOLID_BREP 402 -#define tCLOSED_SHELL 403 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 404 -#define tFACE_BOUND 405 -#define tCYLINDRICAL_SURFACE 406 -#define tCONICAL_SURFACE 407 -#define tCIRCLE 408 -#define tTRIMMED_CURVE 409 -#define tGEOMETRIC_SET 410 -#define tCOMPOSITE_CURVE_SEGMENT 411 -#define tCONTINUOUS 412 -#define tCOMPOSITE_CURVE 413 -#define tTOROIDAL_SURFACE 414 -#define tPRODUCT_DEFINITION 415 -#define tPRODUCT_DEFINITION_SHAPE 416 -#define tSHAPE_DEFINITION_REPRESENTATION 417 -#define tELLIPSE 418 -#define tSolid 419 -#define tEndSolid 420 -#define tVertex 421 -#define tFacet 422 -#define tNormal 423 -#define tOuter 424 -#define tLoopSTL 425 -#define tEndLoop 426 -#define tEndFacet 427 -#define tAFFECTPLUS 428 -#define tAFFECTMINUS 429 -#define tAFFECTTIMES 430 -#define tAFFECTDIVIDE 431 -#define tOR 432 -#define tAND 433 -#define tEQUAL 434 -#define tNOTEQUAL 435 -#define tAPPROXEQUAL 436 -#define tLESSOREQUAL 437 -#define tGREATEROREQUAL 438 -#define tCROSSPRODUCT 439 -#define tPLUSPLUS 440 -#define tMINUSMINUS 441 -#define UNARYPREC 442 +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Written by Richard Stallman by simplifying the original so called + ``semantic'' parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Using locations. */ +#define YYLSP_NEEDED 0 + + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + tDOUBLE = 258, + tSTRING = 259, + tBIGSTR = 260, + tEND = 261, + tAFFECT = 262, + tDOTS = 263, + tPi = 264, + tMPI_Rank = 265, + tMPI_Size = 266, + tExp = 267, + tLog = 268, + tLog10 = 269, + tSqrt = 270, + tSin = 271, + tAsin = 272, + tCos = 273, + tAcos = 274, + tTan = 275, + tRand = 276, + tAtan = 277, + tAtan2 = 278, + tSinh = 279, + tCosh = 280, + tTanh = 281, + tFabs = 282, + tFloor = 283, + tCeil = 284, + tFmod = 285, + tModulo = 286, + tHypot = 287, + tPrintf = 288, + tSprintf = 289, + tStrCat = 290, + tStrPrefix = 291, + tBoundingBox = 292, + tDraw = 293, + tPoint = 294, + tCircle = 295, + tEllipse = 296, + tLine = 297, + tSurface = 298, + tSpline = 299, + tVolume = 300, + tCharacteristic = 301, + tLength = 302, + tParametric = 303, + tElliptic = 304, + tPlane = 305, + tRuled = 306, + tTriangulation = 307, + tTransfinite = 308, + tComplex = 309, + tPhysical = 310, + tUsing = 311, + tBump = 312, + tProgression = 313, + tPlugin = 314, + tRotate = 315, + tTranslate = 316, + tSymmetry = 317, + tDilate = 318, + tExtrude = 319, + tDuplicata = 320, + tLoop = 321, + tRecombine = 322, + tDelete = 323, + tCoherence = 324, + tIntersect = 325, + tAttractor = 326, + tLayers = 327, + tScalarPoint = 328, + tVectorPoint = 329, + tTensorPoint = 330, + tScalarLine = 331, + tVectorLine = 332, + tTensorLine = 333, + tScalarTriangle = 334, + tVectorTriangle = 335, + tTensorTriangle = 336, + tScalarQuadrangle = 337, + tVectorQuadrangle = 338, + tTensorQuadrangle = 339, + tScalarTetrahedron = 340, + tVectorTetrahedron = 341, + tTensorTetrahedron = 342, + tScalarHexahedron = 343, + tVectorHexahedron = 344, + tTensorHexahedron = 345, + tScalarPrism = 346, + tVectorPrism = 347, + tTensorPrism = 348, + tScalarPyramid = 349, + tVectorPyramid = 350, + tTensorPyramid = 351, + tText2D = 352, + tText3D = 353, + tInterpolationScheme = 354, + tCombine = 355, + tBSpline = 356, + tBezier = 357, + tNurbs = 358, + tOrder = 359, + tWith = 360, + tBounds = 361, + tKnots = 362, + tColor = 363, + tColorTable = 364, + tFor = 365, + tIn = 366, + tEndFor = 367, + tIf = 368, + tEndIf = 369, + tExit = 370, + tReturn = 371, + tCall = 372, + tFunction = 373, + tTrimmed = 374, + tShow = 375, + tHide = 376, + tB_SPLINE_SURFACE_WITH_KNOTS = 377, + tB_SPLINE_CURVE_WITH_KNOTS = 378, + tCARTESIAN_POINT = 379, + tTRUE = 380, + tFALSE = 381, + tUNSPECIFIED = 382, + tU = 383, + tV = 384, + tEDGE_CURVE = 385, + tVERTEX_POINT = 386, + tORIENTED_EDGE = 387, + tPLANE = 388, + tFACE_OUTER_BOUND = 389, + tEDGE_LOOP = 390, + tADVANCED_FACE = 391, + tVECTOR = 392, + tDIRECTION = 393, + tAXIS2_PLACEMENT_3D = 394, + tISO = 395, + tENDISO = 396, + tENDSEC = 397, + tDATA = 398, + tHEADER = 399, + tFILE_DESCRIPTION = 400, + tFILE_SCHEMA = 401, + tFILE_NAME = 402, + tMANIFOLD_SOLID_BREP = 403, + tCLOSED_SHELL = 404, + tADVANCED_BREP_SHAPE_REPRESENTATION = 405, + tFACE_BOUND = 406, + tCYLINDRICAL_SURFACE = 407, + tCONICAL_SURFACE = 408, + tCIRCLE = 409, + tTRIMMED_CURVE = 410, + tGEOMETRIC_SET = 411, + tCOMPOSITE_CURVE_SEGMENT = 412, + tCONTINUOUS = 413, + tCOMPOSITE_CURVE = 414, + tTOROIDAL_SURFACE = 415, + tPRODUCT_DEFINITION = 416, + tPRODUCT_DEFINITION_SHAPE = 417, + tSHAPE_DEFINITION_REPRESENTATION = 418, + tELLIPSE = 419, + tSolid = 420, + tEndSolid = 421, + tVertex = 422, + tFacet = 423, + tNormal = 424, + tOuter = 425, + tLoopSTL = 426, + tEndLoop = 427, + tEndFacet = 428, + tAFFECTDIVIDE = 429, + tAFFECTTIMES = 430, + tAFFECTMINUS = 431, + tAFFECTPLUS = 432, + tOR = 433, + tAND = 434, + tAPPROXEQUAL = 435, + tNOTEQUAL = 436, + tEQUAL = 437, + tGREATEROREQUAL = 438, + tLESSOREQUAL = 439, + tCROSSPRODUCT = 440, + UNARYPREC = 441, + tMINUSMINUS = 442, + tPLUSPLUS = 443 + }; +#endif +#define tDOUBLE 258 +#define tSTRING 259 +#define tBIGSTR 260 +#define tEND 261 +#define tAFFECT 262 +#define tDOTS 263 +#define tPi 264 +#define tMPI_Rank 265 +#define tMPI_Size 266 +#define tExp 267 +#define tLog 268 +#define tLog10 269 +#define tSqrt 270 +#define tSin 271 +#define tAsin 272 +#define tCos 273 +#define tAcos 274 +#define tTan 275 +#define tRand 276 +#define tAtan 277 +#define tAtan2 278 +#define tSinh 279 +#define tCosh 280 +#define tTanh 281 +#define tFabs 282 +#define tFloor 283 +#define tCeil 284 +#define tFmod 285 +#define tModulo 286 +#define tHypot 287 +#define tPrintf 288 +#define tSprintf 289 +#define tStrCat 290 +#define tStrPrefix 291 +#define tBoundingBox 292 +#define tDraw 293 +#define tPoint 294 +#define tCircle 295 +#define tEllipse 296 +#define tLine 297 +#define tSurface 298 +#define tSpline 299 +#define tVolume 300 +#define tCharacteristic 301 +#define tLength 302 +#define tParametric 303 +#define tElliptic 304 +#define tPlane 305 +#define tRuled 306 +#define tTriangulation 307 +#define tTransfinite 308 +#define tComplex 309 +#define tPhysical 310 +#define tUsing 311 +#define tBump 312 +#define tProgression 313 +#define tPlugin 314 +#define tRotate 315 +#define tTranslate 316 +#define tSymmetry 317 +#define tDilate 318 +#define tExtrude 319 +#define tDuplicata 320 +#define tLoop 321 +#define tRecombine 322 +#define tDelete 323 +#define tCoherence 324 +#define tIntersect 325 +#define tAttractor 326 +#define tLayers 327 +#define tScalarPoint 328 +#define tVectorPoint 329 +#define tTensorPoint 330 +#define tScalarLine 331 +#define tVectorLine 332 +#define tTensorLine 333 +#define tScalarTriangle 334 +#define tVectorTriangle 335 +#define tTensorTriangle 336 +#define tScalarQuadrangle 337 +#define tVectorQuadrangle 338 +#define tTensorQuadrangle 339 +#define tScalarTetrahedron 340 +#define tVectorTetrahedron 341 +#define tTensorTetrahedron 342 +#define tScalarHexahedron 343 +#define tVectorHexahedron 344 +#define tTensorHexahedron 345 +#define tScalarPrism 346 +#define tVectorPrism 347 +#define tTensorPrism 348 +#define tScalarPyramid 349 +#define tVectorPyramid 350 +#define tTensorPyramid 351 +#define tText2D 352 +#define tText3D 353 +#define tInterpolationScheme 354 +#define tCombine 355 +#define tBSpline 356 +#define tBezier 357 +#define tNurbs 358 +#define tOrder 359 +#define tWith 360 +#define tBounds 361 +#define tKnots 362 +#define tColor 363 +#define tColorTable 364 +#define tFor 365 +#define tIn 366 +#define tEndFor 367 +#define tIf 368 +#define tEndIf 369 +#define tExit 370 +#define tReturn 371 +#define tCall 372 +#define tFunction 373 +#define tTrimmed 374 +#define tShow 375 +#define tHide 376 +#define tB_SPLINE_SURFACE_WITH_KNOTS 377 +#define tB_SPLINE_CURVE_WITH_KNOTS 378 +#define tCARTESIAN_POINT 379 +#define tTRUE 380 +#define tFALSE 381 +#define tUNSPECIFIED 382 +#define tU 383 +#define tV 384 +#define tEDGE_CURVE 385 +#define tVERTEX_POINT 386 +#define tORIENTED_EDGE 387 +#define tPLANE 388 +#define tFACE_OUTER_BOUND 389 +#define tEDGE_LOOP 390 +#define tADVANCED_FACE 391 +#define tVECTOR 392 +#define tDIRECTION 393 +#define tAXIS2_PLACEMENT_3D 394 +#define tISO 395 +#define tENDISO 396 +#define tENDSEC 397 +#define tDATA 398 +#define tHEADER 399 +#define tFILE_DESCRIPTION 400 +#define tFILE_SCHEMA 401 +#define tFILE_NAME 402 +#define tMANIFOLD_SOLID_BREP 403 +#define tCLOSED_SHELL 404 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 405 +#define tFACE_BOUND 406 +#define tCYLINDRICAL_SURFACE 407 +#define tCONICAL_SURFACE 408 +#define tCIRCLE 409 +#define tTRIMMED_CURVE 410 +#define tGEOMETRIC_SET 411 +#define tCOMPOSITE_CURVE_SEGMENT 412 +#define tCONTINUOUS 413 +#define tCOMPOSITE_CURVE 414 +#define tTOROIDAL_SURFACE 415 +#define tPRODUCT_DEFINITION 416 +#define tPRODUCT_DEFINITION_SHAPE 417 +#define tSHAPE_DEFINITION_REPRESENTATION 418 +#define tELLIPSE 419 +#define tSolid 420 +#define tEndSolid 421 +#define tVertex 422 +#define tFacet 423 +#define tNormal 424 +#define tOuter 425 +#define tLoopSTL 426 +#define tEndLoop 427 +#define tEndFacet 428 +#define tAFFECTDIVIDE 429 +#define tAFFECTTIMES 430 +#define tAFFECTMINUS 431 +#define tAFFECTPLUS 432 +#define tOR 433 +#define tAND 434 +#define tAPPROXEQUAL 435 +#define tNOTEQUAL 436 +#define tEQUAL 437 +#define tGREATEROREQUAL 438 +#define tLESSOREQUAL 439 +#define tCROSSPRODUCT 440 +#define UNARYPREC 441 +#define tMINUSMINUS 442 +#define tPLUSPLUS 443 + + + + +/* Copy the first part of user declarations. */ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.209 2004-11-19 22:54:39 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.210 2004-11-25 02:10:32 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -271,8 +512,23 @@ void skip_until(char *skip, char *until); int PrintListOfDouble(char *format, List_T *list, char *buffer); int CheckViewErrorFlags(Post_View *v); + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 81 "Gmsh.y" -typedef union { +typedef union YYSTYPE { char *c; int i; unsigned int u; @@ -281,4158 +537,4837 @@ typedef union { Shape s; List_T *l; } YYSTYPE; -#include <stdio.h> - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif +/* Line 191 of yacc.c. */ +#line 542 "Gmsh.tab.cpp" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 #endif -#define YYFINAL 2364 -#define YYFLAG -32768 -#define YYNTBASE 208 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 442 ? yytranslate[x] : 344) - -static const short 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, 194, 2, 204, 2, 192, 2, 2, 199, - 200, 190, 188, 205, 189, 203, 191, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 184, - 2, 186, 178, 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, - 201, 2, 202, 198, 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, 206, 2, 207, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 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, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 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, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 179, 180, 181, 182, 183, 185, 187, 193, 195, - 196, 197 -}; +/* Copy the second part of user declarations. */ + + +/* Line 214 of yacc.c. */ +#line 554 "Gmsh.tab.cpp" + +#if ! defined (yyoverflow) || YYERROR_VERBOSE + +# ifndef YYFREE +# define YYFREE free +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# endif + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# endif +# else +# if defined (alloca) || defined (_ALLOCA_H) +# define YYSTACK_ALLOC alloca +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# else +# if defined (__STDC__) || defined (__cplusplus) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# endif +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ + + +#if (! defined (yyoverflow) \ + && (! defined (__cplusplus) \ + || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + short yyss; + YYSTYPE yyvs; + }; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined (__GNUC__) && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + register YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (0) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short yysigned_char; +#endif -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 4, 6, 9, 11, 14, 15, 18, 20, - 42, 44, 45, 48, 50, 52, 54, 57, 60, 63, - 66, 69, 77, 83, 101, 111, 135, 167, 183, 195, - 207, 223, 233, 247, 257, 269, 283, 293, 303, 315, - 325, 337, 347, 359, 373, 387, 399, 413, 431, 441, - 453, 465, 479, 491, 501, 502, 505, 507, 509, 511, - 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, - 533, 539, 547, 554, 563, 564, 567, 570, 573, 576, - 579, 582, 585, 588, 591, 594, 597, 600, 603, 606, - 609, 612, 615, 618, 621, 624, 627, 630, 633, 636, - 639, 642, 645, 647, 651, 652, 666, 668, 672, 673, - 687, 689, 693, 694, 708, 710, 714, 715, 735, 737, - 741, 742, 762, 764, 768, 769, 789, 791, 795, 796, - 822, 824, 828, 829, 855, 857, 861, 862, 888, 890, - 894, 895, 927, 929, 933, 934, 966, 968, 972, 973, - 1005, 1007, 1011, 1012, 1044, 1046, 1050, 1051, 1083, 1085, - 1089, 1090, 1122, 1124, 1128, 1129, 1185, 1187, 1191, 1192, - 1248, 1250, 1254, 1255, 1311, 1313, 1317, 1318, 1362, 1364, - 1368, 1369, 1413, 1415, 1419, 1420, 1464, 1466, 1470, 1471, - 1509, 1511, 1515, 1516, 1554, 1556, 1560, 1561, 1599, 1601, - 1605, 1606, 1620, 1622, 1626, 1627, 1643, 1652, 1654, 1656, - 1658, 1660, 1662, 1664, 1666, 1671, 1679, 1689, 1696, 1700, - 1707, 1714, 1724, 1731, 1741, 1747, 1756, 1765, 1777, 1784, - 1794, 1804, 1814, 1822, 1831, 1844, 1851, 1859, 1867, 1875, - 1885, 1893, 1903, 1921, 1929, 1937, 1949, 1958, 1971, 1980, - 1989, 1998, 2011, 2026, 2041, 2064, 2085, 2094, 2103, 2112, - 2120, 2129, 2135, 2147, 2153, 2163, 2165, 2167, 2169, 2170, - 2173, 2180, 2187, 2194, 2201, 2206, 2213, 2218, 2225, 2229, - 2235, 2239, 2243, 2248, 2253, 2257, 2265, 2269, 2277, 2281, - 2284, 2287, 2303, 2306, 2313, 2322, 2331, 2342, 2344, 2347, - 2349, 2353, 2358, 2360, 2369, 2382, 2397, 2398, 2411, 2412, - 2429, 2430, 2449, 2458, 2471, 2486, 2487, 2500, 2501, 2518, - 2519, 2538, 2547, 2560, 2575, 2576, 2589, 2590, 2607, 2608, - 2627, 2629, 2632, 2642, 2650, 2653, 2660, 2670, 2680, 2689, - 2698, 2707, 2714, 2719, 2722, 2725, 2727, 2729, 2731, 2733, - 2735, 2737, 2741, 2744, 2747, 2750, 2754, 2758, 2762, 2766, - 2770, 2774, 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806, - 2812, 2817, 2822, 2827, 2832, 2837, 2842, 2847, 2852, 2857, - 2862, 2869, 2874, 2879, 2884, 2889, 2894, 2899, 2906, 2913, - 2920, 2925, 2930, 2935, 2940, 2945, 2950, 2955, 2960, 2965, - 2970, 2975, 2982, 2987, 2992, 2997, 3002, 3007, 3012, 3019, - 3026, 3033, 3038, 3040, 3042, 3044, 3046, 3048, 3053, 3058, - 3061, 3067, 3071, 3078, 3083, 3091, 3093, 3096, 3099, 3103, - 3107, 3119, 3129, 3137, 3145, 3146, 3150, 3152, 3156, 3157, - 3161, 3165, 3167, 3171, 3173, 3175, 3179, 3184, 3188, 3194, - 3199, 3201, 3203, 3205, 3209, 3214, 3221, 3229, 3231, 3233, - 3237, 3241, 3251, 3259, 3261, 3267, 3271, 3278, 3280, 3284, - 3286, 3293, 3298, 3303, 3310, 3317 +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 7 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 13940 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 208 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 137 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 477 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 2364 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 443 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +static const unsigned char 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, 194, 2, 204, 2, 192, 2, 2, + 199, 200, 190, 188, 205, 189, 203, 191, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 184, 2, 185, 178, 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, 201, 2, 202, 198, 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, 206, 2, 207, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 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, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 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, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 179, 180, 181, 182, 183, 186, 187, + 193, 195, 196, 197 }; -static const short yyrhs[] = { 212, - 0, 210, 0, 217, 0, 1, 6, 0, 3, 0, - 189, 3, 0, 0, 210, 211, 0, 165, 0, 168, - 169, 209, 209, 209, 170, 171, 167, 209, 209, 209, - 167, 209, 209, 209, 167, 209, 209, 209, 172, 173, - 0, 166, 0, 0, 212, 213, 0, 214, 0, 216, - 0, 215, 0, 140, 6, 0, 141, 6, 0, 143, - 6, 0, 142, 6, 0, 144, 6, 0, 145, 199, - 333, 205, 5, 200, 6, 0, 146, 199, 333, 200, - 6, 0, 147, 199, 5, 205, 5, 205, 333, 205, - 333, 205, 5, 205, 5, 205, 5, 200, 6, 0, - 3, 7, 124, 199, 5, 205, 331, 200, 6, 0, - 3, 7, 123, 199, 5, 205, 329, 205, 337, 205, - 328, 205, 328, 205, 328, 205, 337, 205, 337, 205, - 328, 200, 6, 0, 3, 7, 122, 199, 5, 205, - 329, 205, 329, 205, 335, 205, 328, 205, 328, 205, - 328, 205, 328, 205, 337, 205, 337, 205, 337, 205, - 337, 205, 328, 200, 6, 0, 3, 7, 130, 199, - 5, 205, 3, 205, 3, 205, 3, 205, 328, 200, - 6, 0, 3, 7, 134, 199, 5, 205, 3, 205, - 328, 200, 6, 0, 3, 7, 151, 199, 5, 205, - 3, 205, 328, 200, 6, 0, 3, 7, 132, 199, - 5, 205, 190, 205, 190, 205, 329, 205, 328, 200, - 6, 0, 3, 7, 135, 199, 5, 205, 337, 200, - 6, 0, 3, 7, 136, 199, 5, 205, 337, 205, - 3, 205, 328, 200, 6, 0, 3, 7, 131, 199, - 5, 205, 3, 200, 6, 0, 3, 7, 137, 199, - 5, 205, 3, 205, 329, 200, 6, 0, 3, 7, - 139, 199, 5, 205, 3, 205, 3, 205, 3, 200, - 6, 0, 3, 7, 138, 199, 5, 205, 331, 200, - 6, 0, 3, 7, 133, 199, 5, 205, 3, 200, - 6, 0, 3, 7, 42, 199, 5, 205, 3, 205, - 3, 200, 6, 0, 3, 7, 149, 199, 5, 205, - 337, 200, 6, 0, 3, 7, 150, 199, 5, 205, - 337, 205, 3, 200, 6, 0, 3, 7, 148, 199, - 5, 205, 3, 200, 6, 0, 3, 7, 152, 199, - 5, 205, 3, 205, 329, 200, 6, 0, 3, 7, - 153, 199, 5, 205, 3, 205, 329, 205, 329, 200, - 6, 0, 3, 7, 160, 199, 5, 205, 3, 205, - 329, 205, 329, 200, 6, 0, 3, 7, 154, 199, - 5, 205, 3, 205, 329, 200, 6, 0, 3, 7, - 164, 199, 5, 205, 3, 205, 329, 205, 329, 200, - 6, 0, 3, 7, 155, 199, 5, 205, 3, 205, - 337, 205, 337, 205, 328, 205, 328, 200, 6, 0, - 3, 7, 156, 199, 5, 205, 337, 200, 6, 0, - 3, 7, 157, 199, 158, 205, 328, 205, 3, 200, - 6, 0, 3, 7, 159, 199, 5, 205, 337, 205, - 328, 200, 6, 0, 3, 7, 161, 199, 5, 205, - 5, 205, 3, 205, 3, 200, 6, 0, 3, 7, - 162, 199, 5, 205, 5, 205, 3, 200, 6, 0, - 3, 7, 163, 199, 3, 205, 3, 200, 6, 0, - 0, 217, 218, 0, 220, 0, 219, 0, 303, 0, - 304, 0, 305, 0, 308, 0, 309, 0, 310, 0, - 311, 0, 314, 0, 326, 0, 327, 0, 313, 0, - 312, 0, 33, 199, 5, 200, 6, 0, 33, 199, - 5, 205, 339, 200, 6, 0, 4, 5, 206, 221, - 207, 6, 0, 4, 5, 4, 331, 206, 221, 207, - 6, 0, 0, 221, 223, 0, 221, 226, 0, 221, - 229, 0, 221, 232, 0, 221, 235, 0, 221, 238, - 0, 221, 241, 0, 221, 244, 0, 221, 247, 0, - 221, 250, 0, 221, 253, 0, 221, 256, 0, 221, - 259, 0, 221, 262, 0, 221, 265, 0, 221, 268, - 0, 221, 271, 0, 221, 274, 0, 221, 277, 0, - 221, 280, 0, 221, 283, 0, 221, 286, 0, 221, - 289, 0, 221, 292, 0, 221, 295, 0, 221, 298, - 0, 221, 300, 0, 329, 0, 222, 205, 329, 0, - 0, 73, 199, 329, 205, 329, 205, 329, 200, 224, - 206, 222, 207, 6, 0, 329, 0, 225, 205, 329, - 0, 0, 74, 199, 329, 205, 329, 205, 329, 200, - 227, 206, 225, 207, 6, 0, 329, 0, 228, 205, - 329, 0, 0, 75, 199, 329, 205, 329, 205, 329, - 200, 230, 206, 228, 207, 6, 0, 329, 0, 231, - 205, 329, 0, 0, 76, 199, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 233, 206, - 231, 207, 6, 0, 329, 0, 234, 205, 329, 0, - 0, 77, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 236, 206, 234, 207, 6, - 0, 329, 0, 237, 205, 329, 0, 0, 78, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 200, 239, 206, 237, 207, 6, 0, 329, 0, - 240, 205, 329, 0, 0, 79, 199, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 242, 206, 240, 207, 6, - 0, 329, 0, 243, 205, 329, 0, 0, 80, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 245, 206, - 243, 207, 6, 0, 329, 0, 246, 205, 329, 0, - 0, 81, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 200, 248, 206, 246, 207, 6, 0, 329, 0, 249, - 205, 329, 0, 0, 82, 199, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 200, - 251, 206, 249, 207, 6, 0, 329, 0, 252, 205, - 329, 0, 0, 83, 199, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 200, 254, - 206, 252, 207, 6, 0, 329, 0, 255, 205, 329, - 0, 0, 84, 199, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 257, 206, - 255, 207, 6, 0, 329, 0, 258, 205, 329, 0, - 0, 85, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 200, 260, 206, 258, - 207, 6, 0, 329, 0, 261, 205, 329, 0, 0, - 86, 199, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 200, 263, 206, 261, 207, - 6, 0, 329, 0, 264, 205, 329, 0, 0, 87, - 199, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 266, 206, 264, 207, 6, - 0, 329, 0, 267, 205, 329, 0, 0, 88, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 200, 269, 206, - 267, 207, 6, 0, 329, 0, 270, 205, 329, 0, - 0, 89, 199, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 200, 272, 206, 270, 207, 6, 0, 329, 0, 273, - 205, 329, 0, 0, 90, 199, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 200, 275, 206, 273, 207, 6, 0, - 329, 0, 276, 205, 329, 0, 0, 91, 199, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 200, 278, 206, 276, 207, 6, - 0, 329, 0, 279, 205, 329, 0, 0, 92, 199, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 200, 281, 206, 279, 207, - 6, 0, 329, 0, 282, 205, 329, 0, 0, 93, - 199, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 200, 284, 206, 282, - 207, 6, 0, 329, 0, 285, 205, 329, 0, 0, - 94, 199, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 200, 287, 206, 285, 207, 6, 0, 329, 0, - 288, 205, 329, 0, 0, 95, 199, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 205, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 200, 290, 206, 288, - 207, 6, 0, 329, 0, 291, 205, 329, 0, 0, - 96, 199, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 205, - 329, 200, 293, 206, 291, 207, 6, 0, 343, 0, - 294, 205, 343, 0, 0, 97, 199, 329, 205, 329, - 205, 329, 200, 296, 206, 294, 207, 6, 0, 343, - 0, 297, 205, 343, 0, 0, 98, 199, 329, 205, - 329, 205, 329, 205, 329, 200, 299, 206, 297, 207, - 6, 0, 99, 206, 336, 207, 206, 336, 207, 6, - 0, 7, 0, 174, 0, 175, 0, 176, 0, 177, - 0, 195, 0, 196, 0, 4, 301, 329, 6, 0, - 4, 201, 329, 202, 301, 329, 6, 0, 4, 201, - 206, 339, 207, 202, 301, 337, 6, 0, 4, 201, - 202, 7, 337, 6, 0, 4, 302, 6, 0, 4, - 201, 329, 202, 302, 6, 0, 4, 203, 4, 7, - 343, 6, 0, 4, 201, 329, 202, 203, 4, 7, - 343, 6, 0, 4, 203, 4, 301, 329, 6, 0, - 4, 201, 329, 202, 203, 4, 301, 329, 6, 0, - 4, 203, 4, 302, 6, 0, 4, 201, 329, 202, - 203, 4, 302, 6, 0, 4, 203, 108, 203, 4, - 7, 340, 6, 0, 4, 201, 329, 202, 203, 108, - 203, 4, 7, 340, 6, 0, 4, 203, 109, 7, - 341, 6, 0, 4, 201, 329, 202, 203, 109, 7, - 341, 6, 0, 59, 199, 4, 200, 203, 4, 7, - 329, 6, 0, 59, 199, 4, 200, 203, 4, 7, - 343, 6, 0, 39, 199, 329, 200, 7, 331, 6, - 0, 55, 39, 199, 329, 200, 7, 337, 6, 0, - 71, 39, 337, 7, 206, 329, 205, 329, 205, 329, - 207, 6, 0, 46, 47, 337, 7, 329, 6, 0, - 42, 199, 329, 200, 7, 337, 6, 0, 44, 199, - 329, 200, 7, 337, 6, 0, 40, 199, 329, 200, - 7, 337, 6, 0, 40, 199, 329, 200, 7, 337, - 50, 331, 6, 0, 41, 199, 329, 200, 7, 337, - 6, 0, 41, 199, 329, 200, 7, 337, 50, 331, - 6, 0, 48, 199, 329, 200, 7, 206, 329, 205, - 329, 205, 5, 205, 5, 205, 5, 207, 6, 0, - 101, 199, 329, 200, 7, 337, 6, 0, 102, 199, - 329, 200, 7, 337, 6, 0, 103, 199, 329, 200, - 7, 337, 107, 337, 104, 329, 6, 0, 42, 66, - 199, 329, 200, 7, 337, 6, 0, 71, 42, 337, - 7, 206, 329, 205, 329, 205, 329, 207, 6, 0, - 55, 42, 199, 329, 200, 7, 337, 6, 0, 50, - 43, 199, 329, 200, 7, 337, 6, 0, 51, 43, - 199, 329, 200, 7, 337, 6, 0, 119, 43, 199, - 329, 200, 7, 206, 329, 205, 337, 207, 6, 0, - 52, 43, 206, 329, 207, 7, 199, 329, 205, 329, - 200, 337, 337, 6, 0, 52, 43, 199, 329, 200, - 7, 199, 329, 205, 329, 200, 337, 337, 6, 0, - 103, 43, 105, 106, 199, 329, 200, 7, 335, 107, - 206, 337, 205, 337, 207, 104, 206, 329, 205, 329, - 207, 6, 0, 103, 43, 199, 329, 200, 7, 335, - 107, 206, 337, 205, 337, 207, 104, 206, 329, 205, - 329, 207, 6, 0, 43, 66, 199, 329, 200, 7, - 337, 6, 0, 55, 43, 199, 329, 200, 7, 337, - 6, 0, 54, 45, 199, 329, 200, 7, 337, 6, - 0, 45, 199, 329, 200, 7, 337, 6, 0, 55, - 45, 199, 329, 200, 7, 337, 6, 0, 61, 331, - 206, 306, 207, 0, 60, 206, 331, 205, 331, 205, - 329, 207, 206, 306, 207, 0, 62, 331, 206, 306, - 207, 0, 63, 206, 331, 205, 329, 207, 206, 306, - 207, 0, 308, 0, 307, 0, 305, 0, 0, 307, - 304, 0, 307, 39, 206, 339, 207, 6, 0, 307, - 42, 206, 339, 207, 6, 0, 307, 43, 206, 339, - 207, 6, 0, 307, 45, 206, 339, 207, 6, 0, - 65, 206, 307, 207, 0, 65, 4, 201, 329, 202, - 6, 0, 68, 206, 307, 207, 0, 68, 4, 201, - 329, 202, 6, 0, 68, 4, 6, 0, 108, 340, - 206, 307, 207, 0, 120, 343, 6, 0, 121, 343, - 6, 0, 120, 206, 307, 207, 0, 121, 206, 307, - 207, 0, 4, 343, 6, 0, 4, 4, 201, 329, - 202, 343, 6, 0, 4, 329, 6, 0, 59, 199, - 4, 200, 203, 4, 6, 0, 100, 4, 6, 0, - 115, 6, 0, 37, 6, 0, 37, 206, 329, 205, - 329, 205, 329, 205, 329, 205, 329, 205, 329, 207, - 6, 0, 38, 6, 0, 110, 199, 329, 8, 329, - 200, 0, 110, 199, 329, 8, 329, 8, 329, 200, - 0, 110, 4, 111, 206, 329, 8, 329, 207, 0, - 110, 4, 111, 206, 329, 8, 329, 8, 329, 207, - 0, 112, 0, 118, 4, 0, 116, 0, 117, 4, - 6, 0, 113, 199, 329, 200, 0, 114, 0, 64, - 39, 206, 329, 205, 331, 207, 6, 0, 64, 39, - 206, 329, 205, 331, 205, 331, 205, 329, 207, 6, - 0, 64, 39, 206, 329, 205, 331, 205, 331, 205, - 331, 205, 329, 207, 6, 0, 0, 64, 39, 206, - 329, 205, 331, 207, 315, 206, 324, 207, 6, 0, - 0, 64, 39, 206, 329, 205, 331, 205, 331, 205, - 329, 207, 316, 206, 324, 207, 6, 0, 0, 64, - 39, 206, 329, 205, 331, 205, 331, 205, 331, 205, - 329, 207, 317, 206, 324, 207, 6, 0, 64, 42, - 206, 329, 205, 331, 207, 6, 0, 64, 42, 206, - 329, 205, 331, 205, 331, 205, 329, 207, 6, 0, - 64, 42, 206, 329, 205, 331, 205, 331, 205, 331, - 205, 329, 207, 6, 0, 0, 64, 42, 206, 329, - 205, 331, 207, 318, 206, 324, 207, 6, 0, 0, - 64, 42, 206, 329, 205, 331, 205, 331, 205, 329, - 207, 319, 206, 324, 207, 6, 0, 0, 64, 42, - 206, 329, 205, 331, 205, 331, 205, 331, 205, 329, - 207, 320, 206, 324, 207, 6, 0, 64, 43, 206, - 329, 205, 331, 207, 6, 0, 64, 43, 206, 329, - 205, 331, 205, 331, 205, 329, 207, 6, 0, 64, - 43, 206, 329, 205, 331, 205, 331, 205, 331, 205, - 329, 207, 6, 0, 0, 64, 43, 206, 329, 205, - 331, 207, 321, 206, 324, 207, 6, 0, 0, 64, - 43, 206, 329, 205, 331, 205, 331, 205, 329, 207, - 322, 206, 324, 207, 6, 0, 0, 64, 43, 206, - 329, 205, 331, 205, 331, 205, 331, 205, 329, 207, - 323, 206, 324, 207, 6, 0, 325, 0, 324, 325, - 0, 72, 206, 337, 205, 337, 205, 337, 207, 6, - 0, 72, 206, 337, 205, 337, 207, 6, 0, 67, - 6, 0, 53, 42, 337, 7, 329, 6, 0, 53, - 42, 337, 7, 329, 56, 58, 329, 6, 0, 53, - 42, 337, 7, 329, 56, 57, 329, 6, 0, 53, - 43, 206, 329, 207, 7, 337, 6, 0, 49, 43, - 206, 329, 207, 7, 337, 6, 0, 53, 45, 206, - 329, 207, 7, 337, 6, 0, 67, 43, 337, 7, - 329, 6, 0, 67, 43, 337, 6, 0, 69, 6, - 0, 70, 6, 0, 125, 0, 126, 0, 127, 0, - 128, 0, 129, 0, 330, 0, 199, 329, 200, 0, - 189, 329, 0, 188, 329, 0, 194, 329, 0, 329, - 189, 329, 0, 329, 188, 329, 0, 329, 190, 329, - 0, 329, 191, 329, 0, 329, 192, 329, 0, 329, - 198, 329, 0, 329, 184, 329, 0, 329, 186, 329, - 0, 329, 185, 329, 0, 329, 187, 329, 0, 329, - 181, 329, 0, 329, 182, 329, 0, 329, 180, 329, - 0, 329, 179, 329, 0, 329, 178, 329, 8, 329, - 0, 12, 199, 329, 200, 0, 13, 199, 329, 200, - 0, 14, 199, 329, 200, 0, 15, 199, 329, 200, - 0, 16, 199, 329, 200, 0, 17, 199, 329, 200, - 0, 18, 199, 329, 200, 0, 19, 199, 329, 200, - 0, 20, 199, 329, 200, 0, 22, 199, 329, 200, - 0, 23, 199, 329, 205, 329, 200, 0, 24, 199, - 329, 200, 0, 25, 199, 329, 200, 0, 26, 199, - 329, 200, 0, 27, 199, 329, 200, 0, 28, 199, - 329, 200, 0, 29, 199, 329, 200, 0, 30, 199, - 329, 205, 329, 200, 0, 31, 199, 329, 205, 329, - 200, 0, 32, 199, 329, 205, 329, 200, 0, 21, - 199, 329, 200, 0, 12, 201, 329, 202, 0, 13, - 201, 329, 202, 0, 14, 201, 329, 202, 0, 15, - 201, 329, 202, 0, 16, 201, 329, 202, 0, 17, - 201, 329, 202, 0, 18, 201, 329, 202, 0, 19, - 201, 329, 202, 0, 20, 201, 329, 202, 0, 22, - 201, 329, 202, 0, 23, 201, 329, 205, 329, 202, - 0, 24, 201, 329, 202, 0, 25, 201, 329, 202, - 0, 26, 201, 329, 202, 0, 27, 201, 329, 202, - 0, 28, 201, 329, 202, 0, 29, 201, 329, 202, - 0, 30, 201, 329, 205, 329, 202, 0, 31, 201, - 329, 205, 329, 202, 0, 32, 201, 329, 205, 329, - 202, 0, 21, 201, 329, 202, 0, 3, 0, 9, - 0, 10, 0, 11, 0, 4, 0, 4, 201, 329, - 202, 0, 204, 4, 201, 202, 0, 4, 302, 0, - 4, 201, 329, 202, 302, 0, 4, 203, 4, 0, - 4, 201, 329, 202, 203, 4, 0, 4, 203, 4, - 302, 0, 4, 201, 329, 202, 203, 4, 302, 0, - 332, 0, 189, 331, 0, 188, 331, 0, 331, 189, - 331, 0, 331, 188, 331, 0, 206, 329, 205, 329, - 205, 329, 205, 329, 205, 329, 207, 0, 206, 329, - 205, 329, 205, 329, 205, 329, 207, 0, 206, 329, - 205, 329, 205, 329, 207, 0, 199, 329, 205, 329, - 205, 329, 200, 0, 0, 199, 334, 200, 0, 5, - 0, 334, 205, 5, 0, 0, 206, 336, 207, 0, - 199, 336, 200, 0, 337, 0, 336, 205, 337, 0, - 329, 0, 338, 0, 206, 339, 207, 0, 189, 206, - 339, 207, 0, 329, 8, 329, 0, 329, 8, 329, - 8, 329, 0, 39, 206, 329, 207, 0, 305, 0, - 308, 0, 314, 0, 4, 201, 202, 0, 189, 4, - 201, 202, 0, 4, 201, 206, 339, 207, 202, 0, - 189, 4, 201, 206, 339, 207, 202, 0, 329, 0, - 338, 0, 339, 205, 329, 0, 339, 205, 338, 0, - 206, 329, 205, 329, 205, 329, 205, 329, 207, 0, - 206, 329, 205, 329, 205, 329, 207, 0, 4, 0, - 4, 203, 108, 203, 4, 0, 206, 342, 207, 0, - 4, 201, 329, 202, 203, 109, 0, 340, 0, 342, - 205, 340, 0, 5, 0, 35, 199, 343, 205, 343, - 200, 0, 36, 199, 343, 200, 0, 34, 199, 343, - 200, 0, 34, 199, 343, 205, 339, 200, 0, 34, - 199, 4, 203, 4, 200, 0, 34, 199, 4, 201, - 329, 202, 203, 4, 200, 0 +#if YYDEBUG +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const unsigned short yyprhs[] = +{ + 0, 0, 3, 5, 7, 9, 12, 14, 17, 18, + 21, 23, 45, 47, 48, 51, 53, 55, 57, 60, + 63, 66, 69, 72, 80, 86, 104, 114, 138, 170, + 186, 198, 210, 226, 236, 250, 260, 272, 286, 296, + 306, 318, 328, 340, 350, 362, 376, 390, 402, 416, + 434, 444, 456, 468, 482, 494, 504, 505, 508, 510, + 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, + 532, 534, 536, 542, 550, 557, 566, 567, 570, 573, + 576, 579, 582, 585, 588, 591, 594, 597, 600, 603, + 606, 609, 612, 615, 618, 621, 624, 627, 630, 633, + 636, 639, 642, 645, 648, 650, 654, 655, 669, 671, + 675, 676, 690, 692, 696, 697, 711, 713, 717, 718, + 738, 740, 744, 745, 765, 767, 771, 772, 792, 794, + 798, 799, 825, 827, 831, 832, 858, 860, 864, 865, + 891, 893, 897, 898, 930, 932, 936, 937, 969, 971, + 975, 976, 1008, 1010, 1014, 1015, 1047, 1049, 1053, 1054, + 1086, 1088, 1092, 1093, 1125, 1127, 1131, 1132, 1188, 1190, + 1194, 1195, 1251, 1253, 1257, 1258, 1314, 1316, 1320, 1321, + 1365, 1367, 1371, 1372, 1416, 1418, 1422, 1423, 1467, 1469, + 1473, 1474, 1512, 1514, 1518, 1519, 1557, 1559, 1563, 1564, + 1602, 1604, 1608, 1609, 1623, 1625, 1629, 1630, 1646, 1655, + 1657, 1659, 1661, 1663, 1665, 1667, 1669, 1674, 1682, 1692, + 1699, 1703, 1710, 1717, 1727, 1734, 1744, 1750, 1759, 1768, + 1780, 1787, 1797, 1807, 1817, 1825, 1834, 1847, 1854, 1862, + 1870, 1878, 1888, 1896, 1906, 1924, 1932, 1940, 1952, 1961, + 1974, 1983, 1992, 2001, 2014, 2029, 2044, 2067, 2088, 2097, + 2106, 2115, 2123, 2132, 2138, 2150, 2156, 2166, 2168, 2170, + 2172, 2173, 2176, 2183, 2190, 2197, 2204, 2209, 2216, 2221, + 2228, 2232, 2238, 2242, 2246, 2251, 2256, 2260, 2268, 2272, + 2280, 2284, 2287, 2290, 2306, 2309, 2316, 2325, 2334, 2345, + 2347, 2350, 2352, 2356, 2361, 2363, 2372, 2385, 2400, 2401, + 2414, 2415, 2432, 2433, 2452, 2461, 2474, 2489, 2490, 2503, + 2504, 2521, 2522, 2541, 2550, 2563, 2578, 2579, 2592, 2593, + 2610, 2611, 2630, 2632, 2635, 2645, 2653, 2656, 2663, 2673, + 2683, 2692, 2701, 2710, 2717, 2722, 2725, 2728, 2730, 2732, + 2734, 2736, 2738, 2740, 2744, 2747, 2750, 2753, 2757, 2761, + 2765, 2769, 2773, 2777, 2781, 2785, 2789, 2793, 2797, 2801, + 2805, 2809, 2815, 2820, 2825, 2830, 2835, 2840, 2845, 2850, + 2855, 2860, 2865, 2872, 2877, 2882, 2887, 2892, 2897, 2902, + 2909, 2916, 2923, 2928, 2933, 2938, 2943, 2948, 2953, 2958, + 2963, 2968, 2973, 2978, 2985, 2990, 2995, 3000, 3005, 3010, + 3015, 3022, 3029, 3036, 3041, 3043, 3045, 3047, 3049, 3051, + 3056, 3061, 3064, 3070, 3074, 3081, 3086, 3094, 3096, 3099, + 3102, 3106, 3110, 3122, 3132, 3140, 3148, 3149, 3153, 3155, + 3159, 3160, 3164, 3168, 3170, 3174, 3176, 3178, 3182, 3187, + 3191, 3197, 3202, 3204, 3206, 3208, 3212, 3217, 3224, 3232, + 3234, 3236, 3240, 3244, 3254, 3262, 3264, 3270, 3274, 3281, + 3283, 3287, 3289, 3296, 3301, 3306, 3313, 3320 }; -#endif +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const short yyrhs[] = +{ + 209, 0, -1, 213, -1, 211, -1, 218, -1, 1, + 6, -1, 3, -1, 189, 3, -1, -1, 211, 212, + -1, 165, -1, 168, 169, 210, 210, 210, 170, 171, + 167, 210, 210, 210, 167, 210, 210, 210, 167, 210, + 210, 210, 172, 173, -1, 166, -1, -1, 213, 214, + -1, 215, -1, 217, -1, 216, -1, 140, 6, -1, + 141, 6, -1, 143, 6, -1, 142, 6, -1, 144, + 6, -1, 145, 199, 334, 205, 5, 200, 6, -1, + 146, 199, 334, 200, 6, -1, 147, 199, 5, 205, + 5, 205, 334, 205, 334, 205, 5, 205, 5, 205, + 5, 200, 6, -1, 3, 7, 124, 199, 5, 205, + 332, 200, 6, -1, 3, 7, 123, 199, 5, 205, + 330, 205, 338, 205, 329, 205, 329, 205, 329, 205, + 338, 205, 338, 205, 329, 200, 6, -1, 3, 7, + 122, 199, 5, 205, 330, 205, 330, 205, 336, 205, + 329, 205, 329, 205, 329, 205, 329, 205, 338, 205, + 338, 205, 338, 205, 338, 205, 329, 200, 6, -1, + 3, 7, 130, 199, 5, 205, 3, 205, 3, 205, + 3, 205, 329, 200, 6, -1, 3, 7, 134, 199, + 5, 205, 3, 205, 329, 200, 6, -1, 3, 7, + 151, 199, 5, 205, 3, 205, 329, 200, 6, -1, + 3, 7, 132, 199, 5, 205, 190, 205, 190, 205, + 330, 205, 329, 200, 6, -1, 3, 7, 135, 199, + 5, 205, 338, 200, 6, -1, 3, 7, 136, 199, + 5, 205, 338, 205, 3, 205, 329, 200, 6, -1, + 3, 7, 131, 199, 5, 205, 3, 200, 6, -1, + 3, 7, 137, 199, 5, 205, 3, 205, 330, 200, + 6, -1, 3, 7, 139, 199, 5, 205, 3, 205, + 3, 205, 3, 200, 6, -1, 3, 7, 138, 199, + 5, 205, 332, 200, 6, -1, 3, 7, 133, 199, + 5, 205, 3, 200, 6, -1, 3, 7, 42, 199, + 5, 205, 3, 205, 3, 200, 6, -1, 3, 7, + 149, 199, 5, 205, 338, 200, 6, -1, 3, 7, + 150, 199, 5, 205, 338, 205, 3, 200, 6, -1, + 3, 7, 148, 199, 5, 205, 3, 200, 6, -1, + 3, 7, 152, 199, 5, 205, 3, 205, 330, 200, + 6, -1, 3, 7, 153, 199, 5, 205, 3, 205, + 330, 205, 330, 200, 6, -1, 3, 7, 160, 199, + 5, 205, 3, 205, 330, 205, 330, 200, 6, -1, + 3, 7, 154, 199, 5, 205, 3, 205, 330, 200, + 6, -1, 3, 7, 164, 199, 5, 205, 3, 205, + 330, 205, 330, 200, 6, -1, 3, 7, 155, 199, + 5, 205, 3, 205, 338, 205, 338, 205, 329, 205, + 329, 200, 6, -1, 3, 7, 156, 199, 5, 205, + 338, 200, 6, -1, 3, 7, 157, 199, 158, 205, + 329, 205, 3, 200, 6, -1, 3, 7, 159, 199, + 5, 205, 338, 205, 329, 200, 6, -1, 3, 7, + 161, 199, 5, 205, 5, 205, 3, 205, 3, 200, + 6, -1, 3, 7, 162, 199, 5, 205, 5, 205, + 3, 200, 6, -1, 3, 7, 163, 199, 3, 205, + 3, 200, 6, -1, -1, 218, 219, -1, 221, -1, + 220, -1, 304, -1, 305, -1, 306, -1, 309, -1, + 310, -1, 311, -1, 312, -1, 315, -1, 327, -1, + 328, -1, 314, -1, 313, -1, 33, 199, 5, 200, + 6, -1, 33, 199, 5, 205, 340, 200, 6, -1, + 4, 5, 206, 222, 207, 6, -1, 4, 5, 4, + 332, 206, 222, 207, 6, -1, -1, 222, 224, -1, + 222, 227, -1, 222, 230, -1, 222, 233, -1, 222, + 236, -1, 222, 239, -1, 222, 242, -1, 222, 245, + -1, 222, 248, -1, 222, 251, -1, 222, 254, -1, + 222, 257, -1, 222, 260, -1, 222, 263, -1, 222, + 266, -1, 222, 269, -1, 222, 272, -1, 222, 275, + -1, 222, 278, -1, 222, 281, -1, 222, 284, -1, + 222, 287, -1, 222, 290, -1, 222, 293, -1, 222, + 296, -1, 222, 299, -1, 222, 301, -1, 330, -1, + 223, 205, 330, -1, -1, 73, 199, 330, 205, 330, + 205, 330, 200, 225, 206, 223, 207, 6, -1, 330, + -1, 226, 205, 330, -1, -1, 74, 199, 330, 205, + 330, 205, 330, 200, 228, 206, 226, 207, 6, -1, + 330, -1, 229, 205, 330, -1, -1, 75, 199, 330, + 205, 330, 205, 330, 200, 231, 206, 229, 207, 6, + -1, 330, -1, 232, 205, 330, -1, -1, 76, 199, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 234, 206, 232, 207, 6, -1, 330, -1, + 235, 205, 330, -1, -1, 77, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 237, + 206, 235, 207, 6, -1, 330, -1, 238, 205, 330, + -1, -1, 78, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 200, 240, 206, 238, 207, + 6, -1, 330, -1, 241, 205, 330, -1, -1, 79, + 199, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 243, + 206, 241, 207, 6, -1, 330, -1, 244, 205, 330, + -1, -1, 80, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 246, 206, 244, 207, 6, -1, 330, -1, + 247, 205, 330, -1, -1, 81, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 200, 249, 206, 247, 207, 6, + -1, 330, -1, 250, 205, 330, -1, -1, 82, 199, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 200, 252, 206, 250, 207, 6, -1, + 330, -1, 253, 205, 330, -1, -1, 83, 199, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 200, 255, 206, 253, 207, 6, -1, 330, + -1, 256, 205, 330, -1, -1, 84, 199, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 258, 206, 256, 207, 6, -1, 330, -1, + 259, 205, 330, -1, -1, 85, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 200, 261, 206, 259, 207, 6, -1, 330, -1, 262, + 205, 330, -1, -1, 86, 199, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 200, + 264, 206, 262, 207, 6, -1, 330, -1, 265, 205, + 330, -1, -1, 87, 199, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 267, + 206, 265, 207, 6, -1, 330, -1, 268, 205, 330, + -1, -1, 88, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 200, 270, 206, 268, 207, 6, -1, 330, -1, + 271, 205, 330, -1, -1, 89, 199, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 200, 273, 206, 271, 207, 6, + -1, 330, -1, 274, 205, 330, -1, -1, 90, 199, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 200, 276, 206, + 274, 207, 6, -1, 330, -1, 277, 205, 330, -1, + -1, 91, 199, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 200, 279, + 206, 277, 207, 6, -1, 330, -1, 280, 205, 330, + -1, -1, 92, 199, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 200, + 282, 206, 280, 207, 6, -1, 330, -1, 283, 205, + 330, -1, -1, 93, 199, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 200, 285, 206, 283, 207, 6, -1, 330, -1, 286, + 205, 330, -1, -1, 94, 199, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 200, 288, 206, 286, 207, + 6, -1, 330, -1, 289, 205, 330, -1, -1, 95, + 199, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 205, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 200, 291, 206, 289, 207, 6, -1, 330, -1, 292, + 205, 330, -1, -1, 96, 199, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 205, 330, 200, 294, 206, 292, 207, + 6, -1, 344, -1, 295, 205, 344, -1, -1, 97, + 199, 330, 205, 330, 205, 330, 200, 297, 206, 295, + 207, 6, -1, 344, -1, 298, 205, 344, -1, -1, + 98, 199, 330, 205, 330, 205, 330, 205, 330, 200, + 300, 206, 298, 207, 6, -1, 99, 206, 337, 207, + 206, 337, 207, 6, -1, 7, -1, 177, -1, 176, + -1, 175, -1, 174, -1, 197, -1, 196, -1, 4, + 302, 330, 6, -1, 4, 201, 330, 202, 302, 330, + 6, -1, 4, 201, 206, 340, 207, 202, 302, 338, + 6, -1, 4, 201, 202, 7, 338, 6, -1, 4, + 303, 6, -1, 4, 201, 330, 202, 303, 6, -1, + 4, 203, 4, 7, 344, 6, -1, 4, 201, 330, + 202, 203, 4, 7, 344, 6, -1, 4, 203, 4, + 302, 330, 6, -1, 4, 201, 330, 202, 203, 4, + 302, 330, 6, -1, 4, 203, 4, 303, 6, -1, + 4, 201, 330, 202, 203, 4, 303, 6, -1, 4, + 203, 108, 203, 4, 7, 341, 6, -1, 4, 201, + 330, 202, 203, 108, 203, 4, 7, 341, 6, -1, + 4, 203, 109, 7, 342, 6, -1, 4, 201, 330, + 202, 203, 109, 7, 342, 6, -1, 59, 199, 4, + 200, 203, 4, 7, 330, 6, -1, 59, 199, 4, + 200, 203, 4, 7, 344, 6, -1, 39, 199, 330, + 200, 7, 332, 6, -1, 55, 39, 199, 330, 200, + 7, 338, 6, -1, 71, 39, 338, 7, 206, 330, + 205, 330, 205, 330, 207, 6, -1, 46, 47, 338, + 7, 330, 6, -1, 42, 199, 330, 200, 7, 338, + 6, -1, 44, 199, 330, 200, 7, 338, 6, -1, + 40, 199, 330, 200, 7, 338, 6, -1, 40, 199, + 330, 200, 7, 338, 50, 332, 6, -1, 41, 199, + 330, 200, 7, 338, 6, -1, 41, 199, 330, 200, + 7, 338, 50, 332, 6, -1, 48, 199, 330, 200, + 7, 206, 330, 205, 330, 205, 5, 205, 5, 205, + 5, 207, 6, -1, 101, 199, 330, 200, 7, 338, + 6, -1, 102, 199, 330, 200, 7, 338, 6, -1, + 103, 199, 330, 200, 7, 338, 107, 338, 104, 330, + 6, -1, 42, 66, 199, 330, 200, 7, 338, 6, + -1, 71, 42, 338, 7, 206, 330, 205, 330, 205, + 330, 207, 6, -1, 55, 42, 199, 330, 200, 7, + 338, 6, -1, 50, 43, 199, 330, 200, 7, 338, + 6, -1, 51, 43, 199, 330, 200, 7, 338, 6, + -1, 119, 43, 199, 330, 200, 7, 206, 330, 205, + 338, 207, 6, -1, 52, 43, 206, 330, 207, 7, + 199, 330, 205, 330, 200, 338, 338, 6, -1, 52, + 43, 199, 330, 200, 7, 199, 330, 205, 330, 200, + 338, 338, 6, -1, 103, 43, 105, 106, 199, 330, + 200, 7, 336, 107, 206, 338, 205, 338, 207, 104, + 206, 330, 205, 330, 207, 6, -1, 103, 43, 199, + 330, 200, 7, 336, 107, 206, 338, 205, 338, 207, + 104, 206, 330, 205, 330, 207, 6, -1, 43, 66, + 199, 330, 200, 7, 338, 6, -1, 55, 43, 199, + 330, 200, 7, 338, 6, -1, 54, 45, 199, 330, + 200, 7, 338, 6, -1, 45, 199, 330, 200, 7, + 338, 6, -1, 55, 45, 199, 330, 200, 7, 338, + 6, -1, 61, 332, 206, 307, 207, -1, 60, 206, + 332, 205, 332, 205, 330, 207, 206, 307, 207, -1, + 62, 332, 206, 307, 207, -1, 63, 206, 332, 205, + 330, 207, 206, 307, 207, -1, 309, -1, 308, -1, + 306, -1, -1, 308, 305, -1, 308, 39, 206, 340, + 207, 6, -1, 308, 42, 206, 340, 207, 6, -1, + 308, 43, 206, 340, 207, 6, -1, 308, 45, 206, + 340, 207, 6, -1, 65, 206, 308, 207, -1, 65, + 4, 201, 330, 202, 6, -1, 68, 206, 308, 207, + -1, 68, 4, 201, 330, 202, 6, -1, 68, 4, + 6, -1, 108, 341, 206, 308, 207, -1, 120, 344, + 6, -1, 121, 344, 6, -1, 120, 206, 308, 207, + -1, 121, 206, 308, 207, -1, 4, 344, 6, -1, + 4, 4, 201, 330, 202, 344, 6, -1, 4, 330, + 6, -1, 59, 199, 4, 200, 203, 4, 6, -1, + 100, 4, 6, -1, 115, 6, -1, 37, 6, -1, + 37, 206, 330, 205, 330, 205, 330, 205, 330, 205, + 330, 205, 330, 207, 6, -1, 38, 6, -1, 110, + 199, 330, 8, 330, 200, -1, 110, 199, 330, 8, + 330, 8, 330, 200, -1, 110, 4, 111, 206, 330, + 8, 330, 207, -1, 110, 4, 111, 206, 330, 8, + 330, 8, 330, 207, -1, 112, -1, 118, 4, -1, + 116, -1, 117, 4, 6, -1, 113, 199, 330, 200, + -1, 114, -1, 64, 39, 206, 330, 205, 332, 207, + 6, -1, 64, 39, 206, 330, 205, 332, 205, 332, + 205, 330, 207, 6, -1, 64, 39, 206, 330, 205, + 332, 205, 332, 205, 332, 205, 330, 207, 6, -1, + -1, 64, 39, 206, 330, 205, 332, 207, 316, 206, + 325, 207, 6, -1, -1, 64, 39, 206, 330, 205, + 332, 205, 332, 205, 330, 207, 317, 206, 325, 207, + 6, -1, -1, 64, 39, 206, 330, 205, 332, 205, + 332, 205, 332, 205, 330, 207, 318, 206, 325, 207, + 6, -1, 64, 42, 206, 330, 205, 332, 207, 6, + -1, 64, 42, 206, 330, 205, 332, 205, 332, 205, + 330, 207, 6, -1, 64, 42, 206, 330, 205, 332, + 205, 332, 205, 332, 205, 330, 207, 6, -1, -1, + 64, 42, 206, 330, 205, 332, 207, 319, 206, 325, + 207, 6, -1, -1, 64, 42, 206, 330, 205, 332, + 205, 332, 205, 330, 207, 320, 206, 325, 207, 6, + -1, -1, 64, 42, 206, 330, 205, 332, 205, 332, + 205, 332, 205, 330, 207, 321, 206, 325, 207, 6, + -1, 64, 43, 206, 330, 205, 332, 207, 6, -1, + 64, 43, 206, 330, 205, 332, 205, 332, 205, 330, + 207, 6, -1, 64, 43, 206, 330, 205, 332, 205, + 332, 205, 332, 205, 330, 207, 6, -1, -1, 64, + 43, 206, 330, 205, 332, 207, 322, 206, 325, 207, + 6, -1, -1, 64, 43, 206, 330, 205, 332, 205, + 332, 205, 330, 207, 323, 206, 325, 207, 6, -1, + -1, 64, 43, 206, 330, 205, 332, 205, 332, 205, + 332, 205, 330, 207, 324, 206, 325, 207, 6, -1, + 326, -1, 325, 326, -1, 72, 206, 338, 205, 338, + 205, 338, 207, 6, -1, 72, 206, 338, 205, 338, + 207, 6, -1, 67, 6, -1, 53, 42, 338, 7, + 330, 6, -1, 53, 42, 338, 7, 330, 56, 58, + 330, 6, -1, 53, 42, 338, 7, 330, 56, 57, + 330, 6, -1, 53, 43, 206, 330, 207, 7, 338, + 6, -1, 49, 43, 206, 330, 207, 7, 338, 6, + -1, 53, 45, 206, 330, 207, 7, 338, 6, -1, + 67, 43, 338, 7, 330, 6, -1, 67, 43, 338, + 6, -1, 69, 6, -1, 70, 6, -1, 125, -1, + 126, -1, 127, -1, 128, -1, 129, -1, 331, -1, + 199, 330, 200, -1, 189, 330, -1, 188, 330, -1, + 194, 330, -1, 330, 189, 330, -1, 330, 188, 330, + -1, 330, 190, 330, -1, 330, 191, 330, -1, 330, + 192, 330, -1, 330, 198, 330, -1, 330, 184, 330, + -1, 330, 185, 330, -1, 330, 187, 330, -1, 330, + 186, 330, -1, 330, 183, 330, -1, 330, 182, 330, + -1, 330, 180, 330, -1, 330, 179, 330, -1, 330, + 178, 330, 8, 330, -1, 12, 199, 330, 200, -1, + 13, 199, 330, 200, -1, 14, 199, 330, 200, -1, + 15, 199, 330, 200, -1, 16, 199, 330, 200, -1, + 17, 199, 330, 200, -1, 18, 199, 330, 200, -1, + 19, 199, 330, 200, -1, 20, 199, 330, 200, -1, + 22, 199, 330, 200, -1, 23, 199, 330, 205, 330, + 200, -1, 24, 199, 330, 200, -1, 25, 199, 330, + 200, -1, 26, 199, 330, 200, -1, 27, 199, 330, + 200, -1, 28, 199, 330, 200, -1, 29, 199, 330, + 200, -1, 30, 199, 330, 205, 330, 200, -1, 31, + 199, 330, 205, 330, 200, -1, 32, 199, 330, 205, + 330, 200, -1, 21, 199, 330, 200, -1, 12, 201, + 330, 202, -1, 13, 201, 330, 202, -1, 14, 201, + 330, 202, -1, 15, 201, 330, 202, -1, 16, 201, + 330, 202, -1, 17, 201, 330, 202, -1, 18, 201, + 330, 202, -1, 19, 201, 330, 202, -1, 20, 201, + 330, 202, -1, 22, 201, 330, 202, -1, 23, 201, + 330, 205, 330, 202, -1, 24, 201, 330, 202, -1, + 25, 201, 330, 202, -1, 26, 201, 330, 202, -1, + 27, 201, 330, 202, -1, 28, 201, 330, 202, -1, + 29, 201, 330, 202, -1, 30, 201, 330, 205, 330, + 202, -1, 31, 201, 330, 205, 330, 202, -1, 32, + 201, 330, 205, 330, 202, -1, 21, 201, 330, 202, + -1, 3, -1, 9, -1, 10, -1, 11, -1, 4, + -1, 4, 201, 330, 202, -1, 204, 4, 201, 202, + -1, 4, 303, -1, 4, 201, 330, 202, 303, -1, + 4, 203, 4, -1, 4, 201, 330, 202, 203, 4, + -1, 4, 203, 4, 303, -1, 4, 201, 330, 202, + 203, 4, 303, -1, 333, -1, 189, 332, -1, 188, + 332, -1, 332, 189, 332, -1, 332, 188, 332, -1, + 206, 330, 205, 330, 205, 330, 205, 330, 205, 330, + 207, -1, 206, 330, 205, 330, 205, 330, 205, 330, + 207, -1, 206, 330, 205, 330, 205, 330, 207, -1, + 199, 330, 205, 330, 205, 330, 200, -1, -1, 199, + 335, 200, -1, 5, -1, 335, 205, 5, -1, -1, + 206, 337, 207, -1, 199, 337, 200, -1, 338, -1, + 337, 205, 338, -1, 330, -1, 339, -1, 206, 340, + 207, -1, 189, 206, 340, 207, -1, 330, 8, 330, + -1, 330, 8, 330, 8, 330, -1, 39, 206, 330, + 207, -1, 306, -1, 309, -1, 315, -1, 4, 201, + 202, -1, 189, 4, 201, 202, -1, 4, 201, 206, + 340, 207, 202, -1, 189, 4, 201, 206, 340, 207, + 202, -1, 330, -1, 339, -1, 340, 205, 330, -1, + 340, 205, 339, -1, 206, 330, 205, 330, 205, 330, + 205, 330, 207, -1, 206, 330, 205, 330, 205, 330, + 207, -1, 4, -1, 4, 203, 108, 203, 4, -1, + 206, 343, 207, -1, 4, 201, 330, 202, 203, 109, + -1, 341, -1, 343, 205, 341, -1, 5, -1, 35, + 199, 344, 205, 344, 200, -1, 36, 199, 344, 200, + -1, 34, 199, 344, 200, -1, 34, 199, 344, 205, + 340, 200, -1, 34, 199, 4, 203, 4, 200, -1, + 34, 199, 4, 201, 330, 202, 203, 4, 200, -1 +}; -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 167, 169, 170, 171, 176, 178, 181, 183, 186, 194, - 208, 225, 227, 230, 232, 233, 236, 242, 247, 248, - 249, 252, 256, 259, 265, 270, 276, 284, 289, 293, - 299, 304, 308, 313, 317, 320, 325, 329, 333, 337, - 342, 346, 349, 353, 357, 361, 365, 369, 373, 376, - 380, 383, 387, 390, 397, 399, 402, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 419, 424, 440, 446, 453, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 490, 493, 497, 503, 509, 512, 516, 523, - 530, 533, 537, 544, 551, 554, 558, 567, 574, 577, - 581, 590, 597, 600, 604, 613, 620, 623, 627, 640, - 647, 650, 654, 667, 674, 677, 681, 694, 701, 704, - 708, 722, 729, 732, 736, 750, 757, 760, 764, 778, - 785, 788, 792, 806, 813, 816, 820, 834, 841, 844, - 848, 862, 869, 872, 876, 900, 907, 910, 914, 938, - 945, 948, 952, 976, 983, 986, 990, 1009, 1016, 1019, - 1023, 1042, 1049, 1052, 1056, 1075, 1082, 1085, 1089, 1107, - 1114, 1117, 1121, 1139, 1146, 1149, 1153, 1171, 1178, 1184, - 1191, 1199, 1205, 1211, 1218, 1226, 1232, 1242, 1244, 1245, - 1246, 1247, 1250, 1252, 1255, 1287, 1323, 1372, 1388, 1398, - 1416, 1429, 1445, 1470, 1496, 1509, 1525, 1538, 1554, 1573, - 1595, 1604, 1618, 1638, 1654, 1673, 1692, 1710, 1728, 1746, - 1772, 1790, 1816, 1835, 1859, 1883, 1909, 1926, 1944, 1963, - 1982, 2021, 2046, 2068, 2084, 2103, 2122, 2138, 2157, 2174, - 2191, 2211, 2217, 2222, 2227, 2234, 2236, 2237, 2240, 2245, - 2249, 2265, 2281, 2297, 2317, 2331, 2341, 2351, 2361, 2370, - 2384, 2392, 2397, 2408, 2421, 2465, 2479, 2494, 2503, 2513, - 2517, 2521, 2525, 2536, 2552, 2566, 2591, 2616, 2643, 2649, - 2654, 2659, 2663, 2671, 2690, 2706, 2722, 2727, 2743, 2748, - 2764, 2769, 2787, 2810, 2833, 2856, 2861, 2884, 2889, 2912, - 2917, 2943, 2966, 2989, 3012, 3017, 3040, 3046, 3069, 3075, - 3100, 3104, 3109, 3136, 3160, 3168, 3187, 3205, 3223, 3250, - 3276, 3302, 3316, 3334, 3339, 3348, 3350, 3351, 3352, 3353, - 3356, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3372, - 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, - 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, - 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, - 3403, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, - 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, - 3424, 3425, 3430, 3435, 3436, 3437, 3441, 3453, 3472, 3485, - 3497, 3519, 3536, 3553, 3570, 3589, 3594, 3598, 3602, 3606, - 3612, 3617, 3621, 3625, 3631, 3635, 3640, 3644, 3649, 3653, - 3657, 3663, 3669, 3676, 3682, 3686, 3690, 3701, 3708, 3719, - 3739, 3749, 3759, 3771, 3787, 3805, 3828, 3855, 3861, 3865, - 3869, 3881, 3886, 3898, 3904, 3924, 3929, 3942, 3948, 3954, - 3959, 3967, 3981, 3985, 4004, 4020 +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const unsigned short yyrline[] = +{ + 0, 168, 168, 169, 170, 171, 177, 178, 181, 183, + 187, 194, 208, 225, 227, 231, 232, 233, 237, 242, + 247, 248, 249, 253, 256, 259, 266, 270, 276, 284, + 289, 293, 299, 304, 308, 313, 317, 320, 325, 329, + 333, 337, 342, 346, 349, 353, 357, 361, 365, 369, + 373, 376, 380, 383, 387, 390, 397, 399, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 420, 424, 441, 446, 455, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 491, 493, 499, 498, 510, 512, + 518, 517, 531, 533, 539, 538, 552, 554, 561, 559, + 575, 577, 584, 582, 598, 600, 607, 605, 621, 623, + 631, 628, 648, 650, 658, 655, 675, 677, 685, 682, + 702, 704, 713, 709, 730, 732, 741, 737, 758, 760, + 769, 765, 786, 788, 797, 793, 814, 816, 825, 821, + 842, 844, 853, 849, 870, 872, 885, 877, 908, 910, + 923, 915, 946, 948, 961, 953, 984, 986, 997, 991, + 1017, 1019, 1030, 1024, 1050, 1052, 1063, 1057, 1083, 1085, + 1095, 1090, 1115, 1117, 1127, 1122, 1147, 1149, 1159, 1154, + 1179, 1184, 1193, 1192, 1206, 1211, 1220, 1219, 1233, 1243, + 1244, 1245, 1246, 1247, 1251, 1252, 1259, 1287, 1323, 1372, + 1388, 1398, 1416, 1429, 1445, 1470, 1496, 1509, 1525, 1538, + 1554, 1573, 1595, 1604, 1622, 1638, 1654, 1673, 1692, 1710, + 1728, 1746, 1772, 1790, 1816, 1835, 1859, 1883, 1909, 1926, + 1944, 1963, 1982, 2021, 2046, 2068, 2084, 2103, 2122, 2138, + 2157, 2174, 2191, 2212, 2217, 2222, 2227, 2235, 2236, 2237, + 2242, 2245, 2249, 2265, 2281, 2297, 2318, 2331, 2342, 2351, + 2361, 2371, 2385, 2392, 2397, 2408, 2422, 2465, 2479, 2494, + 2503, 2513, 2517, 2521, 2525, 2538, 2552, 2566, 2591, 2616, + 2643, 2649, 2654, 2659, 2663, 2674, 2690, 2706, 2723, 2722, + 2744, 2743, 2765, 2764, 2787, 2810, 2833, 2857, 2856, 2885, + 2884, 2913, 2912, 2943, 2966, 2989, 3013, 3012, 3041, 3040, + 3070, 3069, 3101, 3104, 3110, 3136, 3160, 3169, 3187, 3205, + 3223, 3250, 3276, 3302, 3316, 3335, 3339, 3349, 3350, 3351, + 3352, 3353, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, + 3365, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, + 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, + 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, + 3401, 3402, 3403, 3405, 3406, 3407, 3408, 3409, 3410, 3411, + 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, + 3422, 3423, 3424, 3425, 3434, 3435, 3436, 3437, 3441, 3453, + 3472, 3485, 3497, 3519, 3536, 3553, 3570, 3590, 3594, 3598, + 3602, 3606, 3613, 3617, 3621, 3625, 3633, 3635, 3641, 3644, + 3651, 3653, 3657, 3664, 3669, 3677, 3682, 3686, 3690, 3702, + 3708, 3719, 3739, 3749, 3759, 3771, 3787, 3805, 3828, 3856, + 3861, 3865, 3869, 3882, 3886, 3898, 3904, 3925, 3929, 3943, + 3948, 3955, 3959, 3967, 3981, 3985, 4004, 4020 }; #endif - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", -"tSTRING","tBIGSTR","tEND","tAFFECT","tDOTS","tPi","tMPI_Rank","tMPI_Size","tExp", -"tLog","tLog10","tSqrt","tSin","tAsin","tCos","tAcos","tTan","tRand","tAtan", -"tAtan2","tSinh","tCosh","tTanh","tFabs","tFloor","tCeil","tFmod","tModulo", -"tHypot","tPrintf","tSprintf","tStrCat","tStrPrefix","tBoundingBox","tDraw", -"tPoint","tCircle","tEllipse","tLine","tSurface","tSpline","tVolume","tCharacteristic", -"tLength","tParametric","tElliptic","tPlane","tRuled","tTriangulation","tTransfinite", -"tComplex","tPhysical","tUsing","tBump","tProgression","tPlugin","tRotate","tTranslate", -"tSymmetry","tDilate","tExtrude","tDuplicata","tLoop","tRecombine","tDelete", -"tCoherence","tIntersect","tAttractor","tLayers","tScalarPoint","tVectorPoint", -"tTensorPoint","tScalarLine","tVectorLine","tTensorLine","tScalarTriangle","tVectorTriangle", -"tTensorTriangle","tScalarQuadrangle","tVectorQuadrangle","tTensorQuadrangle", -"tScalarTetrahedron","tVectorTetrahedron","tTensorTetrahedron","tScalarHexahedron", -"tVectorHexahedron","tTensorHexahedron","tScalarPrism","tVectorPrism","tTensorPrism", -"tScalarPyramid","tVectorPyramid","tTensorPyramid","tText2D","tText3D","tInterpolationScheme", -"tCombine","tBSpline","tBezier","tNurbs","tOrder","tWith","tBounds","tKnots", -"tColor","tColorTable","tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn", -"tCall","tFunction","tTrimmed","tShow","tHide","tB_SPLINE_SURFACE_WITH_KNOTS", -"tB_SPLINE_CURVE_WITH_KNOTS","tCARTESIAN_POINT","tTRUE","tFALSE","tUNSPECIFIED", -"tU","tV","tEDGE_CURVE","tVERTEX_POINT","tORIENTED_EDGE","tPLANE","tFACE_OUTER_BOUND", -"tEDGE_LOOP","tADVANCED_FACE","tVECTOR","tDIRECTION","tAXIS2_PLACEMENT_3D","tISO", -"tENDISO","tENDSEC","tDATA","tHEADER","tFILE_DESCRIPTION","tFILE_SCHEMA","tFILE_NAME", -"tMANIFOLD_SOLID_BREP","tCLOSED_SHELL","tADVANCED_BREP_SHAPE_REPRESENTATION", -"tFACE_BOUND","tCYLINDRICAL_SURFACE","tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE", -"tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT","tCONTINUOUS","tCOMPOSITE_CURVE", -"tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE","tSHAPE_DEFINITION_REPRESENTATION", -"tELLIPSE","tSolid","tEndSolid","tVertex","tFacet","tNormal","tOuter","tLoopSTL", -"tEndLoop","tEndFacet","tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES","tAFFECTDIVIDE", -"'?'","tOR","tAND","tEQUAL","tNOTEQUAL","tAPPROXEQUAL","'<'","tLESSOREQUAL", -"'>'","tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT","'!'", -"tPLUSPLUS","tMINUSMINUS","UNARYPREC","'^'","'('","')'","'['","']'","'.'","'#'", -"','","'{'","'}'","All","SignedDouble","StlFormatItems","StlFormatItem","StepFormatItems", -"StepFormatItem","StepSpecial","StepHeaderItem","StepDataItem","GeoFormatItems", -"GeoFormatItem","Printf","View","Views","ScalarPointValues","ScalarPoint","@1", -"VectorPointValues","VectorPoint","@2","TensorPointValues","TensorPoint","@3", -"ScalarLineValues","ScalarLine","@4","VectorLineValues","VectorLine","@5","TensorLineValues", -"TensorLine","@6","ScalarTriangleValues","ScalarTriangle","@7","VectorTriangleValues", -"VectorTriangle","@8","TensorTriangleValues","TensorTriangle","@9","ScalarQuadrangleValues", -"ScalarQuadrangle","@10","VectorQuadrangleValues","VectorQuadrangle","@11","TensorQuadrangleValues", -"TensorQuadrangle","@12","ScalarTetrahedronValues","ScalarTetrahedron","@13", -"VectorTetrahedronValues","VectorTetrahedron","@14","TensorTetrahedronValues", -"TensorTetrahedron","@15","ScalarHexahedronValues","ScalarHexahedron","@16", -"VectorHexahedronValues","VectorHexahedron","@17","TensorHexahedronValues","TensorHexahedron", -"@18","ScalarPrismValues","ScalarPrism","@19","VectorPrismValues","VectorPrism", -"@20","TensorPrismValues","TensorPrism","@21","ScalarPyramidValues","ScalarPyramid", -"@22","VectorPyramidValues","VectorPyramid","@23","TensorPyramidValues","TensorPyramid", -"@24","Text2DValues","Text2D","@25","Text3DValues","Text3D","@26","InterpolationMatrix", -"NumericAffectation","NumericIncrement","Affectation","Shape","Transform","MultipleShape", -"ListOfShapes","Duplicata","Delete","Colorify","Visibility","Command","Loop", -"Extrude","@27","@28","@29","@30","@31","@32","@33","@34","@35","ExtrudeParameters", -"ExtrudeParameter","Transfinite","Coherence","BoolExpr","FExpr","FExpr_Single", -"VExpr","VExpr_Single","ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble", -"RecursiveListOfListOfDouble","ListOfDouble","FExpr_Multi","RecursiveListOfDouble", -"ColorExpr","ListOfColor","RecursiveListOfColor","StringExpr", NULL +#if YYDEBUG || YYERROR_VERBOSE +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "tDOUBLE", "tSTRING", "tBIGSTR", "tEND", + "tAFFECT", "tDOTS", "tPi", "tMPI_Rank", "tMPI_Size", "tExp", "tLog", + "tLog10", "tSqrt", "tSin", "tAsin", "tCos", "tAcos", "tTan", "tRand", + "tAtan", "tAtan2", "tSinh", "tCosh", "tTanh", "tFabs", "tFloor", "tCeil", + "tFmod", "tModulo", "tHypot", "tPrintf", "tSprintf", "tStrCat", + "tStrPrefix", "tBoundingBox", "tDraw", "tPoint", "tCircle", "tEllipse", + "tLine", "tSurface", "tSpline", "tVolume", "tCharacteristic", "tLength", + "tParametric", "tElliptic", "tPlane", "tRuled", "tTriangulation", + "tTransfinite", "tComplex", "tPhysical", "tUsing", "tBump", + "tProgression", "tPlugin", "tRotate", "tTranslate", "tSymmetry", + "tDilate", "tExtrude", "tDuplicata", "tLoop", "tRecombine", "tDelete", + "tCoherence", "tIntersect", "tAttractor", "tLayers", "tScalarPoint", + "tVectorPoint", "tTensorPoint", "tScalarLine", "tVectorLine", + "tTensorLine", "tScalarTriangle", "tVectorTriangle", "tTensorTriangle", + "tScalarQuadrangle", "tVectorQuadrangle", "tTensorQuadrangle", + "tScalarTetrahedron", "tVectorTetrahedron", "tTensorTetrahedron", + "tScalarHexahedron", "tVectorHexahedron", "tTensorHexahedron", + "tScalarPrism", "tVectorPrism", "tTensorPrism", "tScalarPyramid", + "tVectorPyramid", "tTensorPyramid", "tText2D", "tText3D", + "tInterpolationScheme", "tCombine", "tBSpline", "tBezier", "tNurbs", + "tOrder", "tWith", "tBounds", "tKnots", "tColor", "tColorTable", "tFor", + "tIn", "tEndFor", "tIf", "tEndIf", "tExit", "tReturn", "tCall", + "tFunction", "tTrimmed", "tShow", "tHide", + "tB_SPLINE_SURFACE_WITH_KNOTS", "tB_SPLINE_CURVE_WITH_KNOTS", + "tCARTESIAN_POINT", "tTRUE", "tFALSE", "tUNSPECIFIED", "tU", "tV", + "tEDGE_CURVE", "tVERTEX_POINT", "tORIENTED_EDGE", "tPLANE", + "tFACE_OUTER_BOUND", "tEDGE_LOOP", "tADVANCED_FACE", "tVECTOR", + "tDIRECTION", "tAXIS2_PLACEMENT_3D", "tISO", "tENDISO", "tENDSEC", + "tDATA", "tHEADER", "tFILE_DESCRIPTION", "tFILE_SCHEMA", "tFILE_NAME", + "tMANIFOLD_SOLID_BREP", "tCLOSED_SHELL", + "tADVANCED_BREP_SHAPE_REPRESENTATION", "tFACE_BOUND", + "tCYLINDRICAL_SURFACE", "tCONICAL_SURFACE", "tCIRCLE", "tTRIMMED_CURVE", + "tGEOMETRIC_SET", "tCOMPOSITE_CURVE_SEGMENT", "tCONTINUOUS", + "tCOMPOSITE_CURVE", "tTOROIDAL_SURFACE", "tPRODUCT_DEFINITION", + "tPRODUCT_DEFINITION_SHAPE", "tSHAPE_DEFINITION_REPRESENTATION", + "tELLIPSE", "tSolid", "tEndSolid", "tVertex", "tFacet", "tNormal", + "tOuter", "tLoopSTL", "tEndLoop", "tEndFacet", "tAFFECTDIVIDE", + "tAFFECTTIMES", "tAFFECTMINUS", "tAFFECTPLUS", "'?'", "tOR", "tAND", + "tAPPROXEQUAL", "tNOTEQUAL", "tEQUAL", "'<'", "'>'", "tGREATEROREQUAL", + "tLESSOREQUAL", "'+'", "'-'", "'*'", "'/'", "'%'", "tCROSSPRODUCT", + "'!'", "UNARYPREC", "tMINUSMINUS", "tPLUSPLUS", "'^'", "'('", "')'", + "'['", "']'", "'.'", "'#'", "','", "'{'", "'}'", "$accept", "All", + "SignedDouble", "StlFormatItems", "StlFormatItem", "StepFormatItems", + "StepFormatItem", "StepSpecial", "StepHeaderItem", "StepDataItem", + "GeoFormatItems", "GeoFormatItem", "Printf", "View", "Views", + "ScalarPointValues", "ScalarPoint", "@1", "VectorPointValues", + "VectorPoint", "@2", "TensorPointValues", "TensorPoint", "@3", + "ScalarLineValues", "ScalarLine", "@4", "VectorLineValues", "VectorLine", + "@5", "TensorLineValues", "TensorLine", "@6", "ScalarTriangleValues", + "ScalarTriangle", "@7", "VectorTriangleValues", "VectorTriangle", "@8", + "TensorTriangleValues", "TensorTriangle", "@9", "ScalarQuadrangleValues", + "ScalarQuadrangle", "@10", "VectorQuadrangleValues", "VectorQuadrangle", + "@11", "TensorQuadrangleValues", "TensorQuadrangle", "@12", + "ScalarTetrahedronValues", "ScalarTetrahedron", "@13", + "VectorTetrahedronValues", "VectorTetrahedron", "@14", + "TensorTetrahedronValues", "TensorTetrahedron", "@15", + "ScalarHexahedronValues", "ScalarHexahedron", "@16", + "VectorHexahedronValues", "VectorHexahedron", "@17", + "TensorHexahedronValues", "TensorHexahedron", "@18", "ScalarPrismValues", + "ScalarPrism", "@19", "VectorPrismValues", "VectorPrism", "@20", + "TensorPrismValues", "TensorPrism", "@21", "ScalarPyramidValues", + "ScalarPyramid", "@22", "VectorPyramidValues", "VectorPyramid", "@23", + "TensorPyramidValues", "TensorPyramid", "@24", "Text2DValues", "Text2D", + "@25", "Text3DValues", "Text3D", "@26", "InterpolationMatrix", + "NumericAffectation", "NumericIncrement", "Affectation", "Shape", + "Transform", "MultipleShape", "ListOfShapes", "Duplicata", "Delete", + "Colorify", "Visibility", "Command", "Loop", "Extrude", "@27", "@28", + "@29", "@30", "@31", "@32", "@33", "@34", "@35", "ExtrudeParameters", + "ExtrudeParameter", "Transfinite", "Coherence", "BoolExpr", "FExpr", + "FExpr_Single", "VExpr", "VExpr_Single", "ListOfStrings", + "RecursiveListOfStrings", "ListOfListOfDouble", + "RecursiveListOfListOfDouble", "ListOfDouble", "FExpr_Multi", + "RecursiveListOfDouble", "ColorExpr", "ListOfColor", + "RecursiveListOfColor", "StringExpr", 0 }; #endif -static const short yyr1[] = { 0, - 208, 208, 208, 208, 209, 209, 210, 210, 211, 211, - 211, 212, 212, 213, 213, 213, 214, 214, 214, 214, - 214, 215, 215, 215, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 217, 217, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 219, 219, 220, 220, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 222, 222, 224, 223, 225, 225, 227, 226, - 228, 228, 230, 229, 231, 231, 233, 232, 234, 234, - 236, 235, 237, 237, 239, 238, 240, 240, 242, 241, - 243, 243, 245, 244, 246, 246, 248, 247, 249, 249, - 251, 250, 252, 252, 254, 253, 255, 255, 257, 256, - 258, 258, 260, 259, 261, 261, 263, 262, 264, 264, - 266, 265, 267, 267, 269, 268, 270, 270, 272, 271, - 273, 273, 275, 274, 276, 276, 278, 277, 279, 279, - 281, 280, 282, 282, 284, 283, 285, 285, 287, 286, - 288, 288, 290, 289, 291, 291, 293, 292, 294, 294, - 296, 295, 297, 297, 299, 298, 300, 301, 301, 301, - 301, 301, 302, 302, 303, 303, 303, 303, 303, 303, - 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, - 303, 303, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 305, 305, 305, 305, 306, 306, 306, 307, 307, - 307, 307, 307, 307, 308, 308, 309, 309, 309, 310, - 311, 311, 311, 311, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 313, 313, 313, 313, 313, 313, 313, - 313, 313, 313, 314, 314, 314, 315, 314, 316, 314, - 317, 314, 314, 314, 314, 318, 314, 319, 314, 320, - 314, 314, 314, 314, 321, 314, 322, 314, 323, 314, - 324, 324, 325, 325, 325, 326, 326, 326, 326, 326, - 326, 326, 326, 327, 327, 328, 328, 328, 328, 328, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 330, 330, 330, 330, 330, 330, 330, 330, - 330, 330, 330, 330, 330, 331, 331, 331, 331, 331, - 332, 332, 332, 332, 333, 333, 334, 334, 335, 335, - 335, 336, 336, 337, 337, 337, 337, 338, 338, 338, - 338, 338, 338, 338, 338, 338, 338, 339, 339, 339, - 339, 340, 340, 340, 340, 341, 341, 342, 342, 343, - 343, 343, 343, 343, 343, 343 +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const unsigned short yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 63, 433, + 434, 435, 436, 437, 60, 62, 438, 439, 43, 45, + 42, 47, 37, 440, 33, 441, 442, 443, 94, 40, + 41, 91, 93, 46, 35, 44, 123, 125 }; - -static const short yyr2[] = { 0, - 1, 1, 1, 2, 1, 2, 0, 2, 1, 21, - 1, 0, 2, 1, 1, 1, 2, 2, 2, 2, - 2, 7, 5, 17, 9, 23, 31, 15, 11, 11, - 15, 9, 13, 9, 11, 13, 9, 9, 11, 9, - 11, 9, 11, 13, 13, 11, 13, 17, 9, 11, - 11, 13, 11, 9, 0, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 5, 7, 6, 8, 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, 1, 3, 0, 13, 1, 3, 0, 13, - 1, 3, 0, 13, 1, 3, 0, 19, 1, 3, - 0, 19, 1, 3, 0, 19, 1, 3, 0, 25, - 1, 3, 0, 25, 1, 3, 0, 25, 1, 3, - 0, 31, 1, 3, 0, 31, 1, 3, 0, 31, - 1, 3, 0, 31, 1, 3, 0, 31, 1, 3, - 0, 31, 1, 3, 0, 55, 1, 3, 0, 55, - 1, 3, 0, 55, 1, 3, 0, 43, 1, 3, - 0, 43, 1, 3, 0, 43, 1, 3, 0, 37, - 1, 3, 0, 37, 1, 3, 0, 37, 1, 3, - 0, 13, 1, 3, 0, 15, 8, 1, 1, 1, - 1, 1, 1, 1, 4, 7, 9, 6, 3, 6, - 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, - 9, 9, 7, 8, 12, 6, 7, 7, 7, 9, - 7, 9, 17, 7, 7, 11, 8, 12, 8, 8, - 8, 12, 14, 14, 22, 20, 8, 8, 8, 7, - 8, 5, 11, 5, 9, 1, 1, 1, 0, 2, - 6, 6, 6, 6, 4, 6, 4, 6, 3, 5, - 3, 3, 4, 4, 3, 7, 3, 7, 3, 2, - 2, 15, 2, 6, 8, 8, 10, 1, 2, 1, - 3, 4, 1, 8, 12, 14, 0, 12, 0, 16, - 0, 18, 8, 12, 14, 0, 12, 0, 16, 0, - 18, 8, 12, 14, 0, 12, 0, 16, 0, 18, - 1, 2, 9, 7, 2, 6, 9, 9, 8, 8, - 8, 6, 4, 2, 2, 1, 1, 1, 1, 1, - 1, 3, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 6, 4, 4, 4, 4, 4, 4, 6, 6, 6, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 6, 4, 4, 4, 4, 4, 4, 6, 6, - 6, 4, 1, 1, 1, 1, 1, 4, 4, 2, - 5, 3, 6, 4, 7, 1, 2, 2, 3, 3, - 11, 9, 7, 7, 0, 3, 1, 3, 0, 3, - 3, 1, 3, 1, 1, 3, 4, 3, 5, 4, - 1, 1, 1, 3, 4, 6, 7, 1, 1, 3, - 3, 9, 7, 1, 5, 3, 6, 1, 3, 1, - 6, 4, 4, 6, 6, 9 +# endif + +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned short yyr1[] = +{ + 0, 208, 209, 209, 209, 209, 210, 210, 211, 211, + 212, 212, 212, 213, 213, 214, 214, 214, 215, 215, + 215, 215, 215, 216, 216, 216, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 218, 218, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 220, 220, 221, 221, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 223, 223, 225, 224, 226, 226, + 228, 227, 229, 229, 231, 230, 232, 232, 234, 233, + 235, 235, 237, 236, 238, 238, 240, 239, 241, 241, + 243, 242, 244, 244, 246, 245, 247, 247, 249, 248, + 250, 250, 252, 251, 253, 253, 255, 254, 256, 256, + 258, 257, 259, 259, 261, 260, 262, 262, 264, 263, + 265, 265, 267, 266, 268, 268, 270, 269, 271, 271, + 273, 272, 274, 274, 276, 275, 277, 277, 279, 278, + 280, 280, 282, 281, 283, 283, 285, 284, 286, 286, + 288, 287, 289, 289, 291, 290, 292, 292, 294, 293, + 295, 295, 297, 296, 298, 298, 300, 299, 301, 302, + 302, 302, 302, 302, 303, 303, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 306, 306, 306, 306, 307, 307, 307, + 308, 308, 308, 308, 308, 308, 309, 309, 310, 310, + 310, 311, 312, 312, 312, 312, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 315, 315, 315, 316, 315, + 317, 315, 318, 315, 315, 315, 315, 319, 315, 320, + 315, 321, 315, 315, 315, 315, 322, 315, 323, 315, + 324, 315, 325, 325, 326, 326, 326, 327, 327, 327, + 327, 327, 327, 327, 327, 328, 328, 329, 329, 329, + 329, 329, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 332, 332, 332, + 332, 332, 333, 333, 333, 333, 334, 334, 335, 335, + 336, 336, 336, 337, 337, 338, 338, 338, 338, 339, + 339, 339, 339, 339, 339, 339, 339, 339, 339, 340, + 340, 340, 340, 341, 341, 341, 341, 342, 342, 343, + 343, 344, 344, 344, 344, 344, 344, 344 }; -static const short yydefact[] = { 0, - 0, 2, 1, 3, 4, 9, 11, 0, 8, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, - 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 0, 303, 0, 300, 0, 0, 0, 0, 0, - 56, 58, 57, 59, 60, 61, 62, 63, 64, 65, - 70, 69, 66, 67, 68, 0, 0, 17, 18, 20, - 19, 21, 435, 435, 0, 413, 417, 470, 208, 414, - 415, 416, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 0, 0, 0, 213, 214, 0, 0, 0, 0, 0, - 0, 0, 351, 0, 0, 291, 0, 293, 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, 426, 0, 0, - 0, 0, 0, 0, 269, 0, 0, 269, 344, 345, - 0, 0, 0, 0, 0, 0, 0, 464, 0, 0, - 0, 0, 0, 290, 0, 299, 0, 470, 269, 0, - 269, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 420, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, - 354, 353, 355, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 219, 287, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 417, 0, 0, 0, 451, 452, 453, 444, 0, 445, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 428, 427, 0, 0, - 0, 0, 269, 269, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 0, 0, 0, 289, 0, 0, 0, - 0, 0, 0, 0, 269, 0, 0, 0, 301, 0, - 0, 281, 0, 282, 6, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, - 0, 0, 422, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 0, 0, 458, 459, 0, 0, 208, - 0, 0, 0, 0, 0, 215, 0, 369, 368, 366, - 367, 362, 364, 363, 365, 357, 356, 358, 359, 360, - 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 430, 429, 268, - 0, 267, 266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 275, 270, 343, 0, 0, 277, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 302, 0, 283, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 436, 0, 0, 23, - 0, 418, 424, 75, 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, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 371, - 392, 372, 393, 373, 394, 374, 395, 375, 396, 376, - 397, 377, 398, 378, 399, 379, 400, 391, 412, 380, - 401, 0, 0, 382, 403, 383, 404, 384, 405, 385, - 406, 386, 407, 387, 408, 0, 0, 0, 0, 0, - 0, 0, 0, 473, 0, 0, 472, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, - 0, 419, 0, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 454, 0, 0, 0, 0, 446, - 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 262, 264, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 438, 0, 435, - 0, 421, 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, 73, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 418, 218, 460, 461, 0, 0, - 0, 0, 0, 220, 221, 223, 0, 0, 468, 0, - 229, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 450, 455, 0, 447, 0, 236, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 276, 0, 0, 0, 0, 342, 278, 0, - 0, 0, 0, 0, 439, 0, 465, 0, 0, 0, - 294, 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, 346, 347, 348, 349, - 350, 0, 0, 0, 0, 0, 0, 0, 22, 0, - 423, 286, 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, - 442, 381, 402, 388, 409, 389, 410, 390, 411, 0, - 475, 474, 471, 0, 208, 0, 0, 0, 0, 216, - 0, 0, 0, 466, 72, 0, 233, 239, 0, 241, - 0, 0, 237, 0, 238, 260, 0, 0, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 288, 0, 0, 0, 0, 269, - 0, 307, 0, 316, 0, 325, 0, 0, 0, 0, - 0, 0, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 435, 425, 74, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 0, 227, 0, 469, 0, 0, 0, 247, 257, - 456, 0, 0, 340, 250, 251, 0, 0, 0, 0, - 339, 341, 259, 234, 249, 258, 261, 0, 0, 0, - 434, 0, 433, 0, 0, 304, 0, 0, 313, 0, - 0, 322, 0, 271, 272, 273, 274, 0, 0, 439, - 0, 0, 0, 0, 0, 463, 0, 296, 295, 0, - 0, 0, 0, 0, 25, 0, 34, 0, 38, 0, - 32, 0, 0, 37, 0, 42, 40, 0, 0, 0, - 0, 0, 0, 49, 0, 0, 0, 0, 0, 54, - 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, 443, 0, - 0, 217, 222, 224, 0, 230, 0, 0, 240, 242, - 457, 0, 0, 0, 338, 337, 231, 232, 269, 0, - 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 441, 440, 0, 0, 0, 0, 0, 0, 0, 439, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 476, 0, 467, - 0, 0, 0, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 462, 297, 0, - 0, 39, 0, 0, 0, 0, 29, 0, 35, 0, - 41, 30, 43, 0, 46, 0, 50, 51, 0, 0, - 53, 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, - 228, 0, 0, 0, 0, 263, 0, 0, 309, 0, - 335, 0, 0, 332, 318, 0, 0, 327, 0, 0, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, - 109, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 201, 0, 207, 0, 0, 0, 0, - 431, 305, 0, 0, 0, 308, 314, 0, 0, 317, - 323, 0, 0, 326, 235, 248, 0, 0, 252, 0, - 0, 0, 0, 0, 33, 36, 44, 0, 45, 52, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 311, 0, 0, 320, 0, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 0, 0, 254, 253, 0, 306, - 0, 0, 0, 315, 0, 0, 324, 0, 0, 0, - 0, 0, 0, 28, 31, 0, 0, 0, 103, 0, - 107, 0, 111, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 199, 0, 292, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 310, 0, 0, 334, 319, - 0, 328, 0, 0, 0, 0, 0, 0, 48, 24, - 104, 106, 108, 110, 112, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 200, 202, 0, - 203, 243, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 117, 121, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 312, 333, 321, 330, 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, 204, 206, 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, 256, 10, 0, 0, 0, 115, 0, - 119, 0, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, - 26, 116, 118, 120, 122, 124, 126, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 133, 137, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 0, 131, 0, 135, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 128, 130, 132, - 134, 136, 138, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, - 145, 149, 153, 157, 161, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 0, 143, 0, - 147, 0, 151, 0, 155, 0, 159, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 140, 142, 144, - 146, 148, 150, 152, 154, 156, 158, 160, 162, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 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, 0, 187, 0, 191, 0, 195, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 190, 192, 194, 196, - 198, 0, 0, 0, 177, 181, 185, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 179, 0, 183, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 176, 178, 180, 182, 184, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 165, 169, 173, 0, 0, 0, - 0, 0, 0, 0, 163, 0, 167, 0, 171, 0, - 0, 0, 0, 0, 0, 164, 166, 168, 170, 172, - 174, 0, 0, 0 +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 1, 1, 1, 2, 1, 2, 0, 2, + 1, 21, 1, 0, 2, 1, 1, 1, 2, 2, + 2, 2, 2, 7, 5, 17, 9, 23, 31, 15, + 11, 11, 15, 9, 13, 9, 11, 13, 9, 9, + 11, 9, 11, 9, 11, 13, 13, 11, 13, 17, + 9, 11, 11, 13, 11, 9, 0, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 5, 7, 6, 8, 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, 1, 3, 0, 13, 1, 3, + 0, 13, 1, 3, 0, 13, 1, 3, 0, 19, + 1, 3, 0, 19, 1, 3, 0, 19, 1, 3, + 0, 25, 1, 3, 0, 25, 1, 3, 0, 25, + 1, 3, 0, 31, 1, 3, 0, 31, 1, 3, + 0, 31, 1, 3, 0, 31, 1, 3, 0, 31, + 1, 3, 0, 31, 1, 3, 0, 55, 1, 3, + 0, 55, 1, 3, 0, 55, 1, 3, 0, 43, + 1, 3, 0, 43, 1, 3, 0, 43, 1, 3, + 0, 37, 1, 3, 0, 37, 1, 3, 0, 37, + 1, 3, 0, 13, 1, 3, 0, 15, 8, 1, + 1, 1, 1, 1, 1, 1, 4, 7, 9, 6, + 3, 6, 6, 9, 6, 9, 5, 8, 8, 11, + 6, 9, 9, 9, 7, 8, 12, 6, 7, 7, + 7, 9, 7, 9, 17, 7, 7, 11, 8, 12, + 8, 8, 8, 12, 14, 14, 22, 20, 8, 8, + 8, 7, 8, 5, 11, 5, 9, 1, 1, 1, + 0, 2, 6, 6, 6, 6, 4, 6, 4, 6, + 3, 5, 3, 3, 4, 4, 3, 7, 3, 7, + 3, 2, 2, 15, 2, 6, 8, 8, 10, 1, + 2, 1, 3, 4, 1, 8, 12, 14, 0, 12, + 0, 16, 0, 18, 8, 12, 14, 0, 12, 0, + 16, 0, 18, 8, 12, 14, 0, 12, 0, 16, + 0, 18, 1, 2, 9, 7, 2, 6, 9, 9, + 8, 8, 8, 6, 4, 2, 2, 1, 1, 1, + 1, 1, 1, 3, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 6, 4, 4, 4, 4, 4, 4, 6, + 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, + 6, 6, 6, 4, 1, 1, 1, 1, 1, 4, + 4, 2, 5, 3, 6, 4, 7, 1, 2, 2, + 3, 3, 11, 9, 7, 7, 0, 3, 1, 3, + 0, 3, 3, 1, 3, 1, 1, 3, 4, 3, + 5, 4, 1, 1, 1, 3, 4, 6, 7, 1, + 1, 3, 3, 9, 7, 1, 5, 3, 6, 1, + 3, 1, 6, 4, 4, 6, 6, 9 }; -static const short yydefgoto[] = { 2362, - 215, 2, 9, 3, 19, 20, 21, 22, 4, 71, - 72, 73, 445, 1678, 663, 1583, 1680, 664, 1584, 1682, - 665, 1585, 1898, 666, 1844, 1900, 667, 1845, 1902, 668, - 1846, 2034, 669, 1996, 2036, 670, 1997, 2038, 671, 1998, - 2146, 672, 2116, 2148, 673, 2117, 2150, 674, 2118, 2152, - 675, 2119, 2154, 676, 2120, 2156, 677, 2121, 2344, 678, - 2338, 2346, 679, 2339, 2348, 680, 2340, 2293, 681, 2281, - 2295, 682, 2282, 2297, 683, 2283, 2242, 684, 2224, 2244, - 685, 2225, 2246, 686, 2226, 1705, 687, 1607, 1800, 688, - 1707, 689, 140, 252, 74, 575, 345, 561, 562, 346, - 78, 79, 80, 81, 82, 347, 1227, 1553, 1661, 1230, - 1558, 1665, 1233, 1562, 1668, 1415, 1416, 84, 85, 1002, - 348, 143, 367, 178, 247, 438, 1118, 1040, 1041, 350, - 498, 200, 751, 910, 144 +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const unsigned short yydefact[] = +{ + 0, 0, 0, 3, 2, 4, 5, 1, 10, 12, + 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 14, 15, 17, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 299, 0, 304, 0, 301, 0, 0, + 0, 0, 0, 57, 59, 58, 60, 61, 62, 63, + 64, 65, 66, 71, 70, 67, 68, 69, 0, 0, + 18, 19, 21, 20, 22, 436, 436, 0, 414, 418, + 471, 209, 415, 416, 417, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, + 212, 211, 210, 0, 0, 0, 215, 214, 0, 0, + 0, 0, 0, 0, 0, 352, 0, 0, 292, 0, + 294, 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, + 427, 0, 0, 0, 0, 0, 0, 270, 0, 0, + 270, 345, 346, 0, 0, 0, 0, 0, 0, 0, + 465, 0, 0, 0, 0, 0, 291, 0, 300, 0, + 471, 270, 0, 270, 0, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 421, 0, 76, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 418, 355, 354, 356, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 220, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 418, 0, 0, 0, 452, 453, 454, + 445, 0, 446, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, + 428, 0, 0, 0, 0, 270, 270, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 0, 0, 0, 290, + 0, 0, 0, 0, 0, 0, 0, 270, 0, 0, + 0, 302, 0, 0, 282, 0, 283, 7, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, + 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 353, 0, 0, 459, 460, + 0, 0, 209, 0, 0, 0, 0, 0, 216, 0, + 370, 369, 368, 367, 363, 364, 366, 365, 358, 357, + 359, 360, 361, 362, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 431, 430, 269, 0, 268, 267, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 276, 271, 344, 0, + 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 303, 0, 284, 285, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, + 0, 0, 24, 0, 419, 425, 76, 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, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 372, 393, 373, 394, 374, 395, 375, 396, + 376, 397, 377, 398, 378, 399, 379, 400, 380, 401, + 392, 413, 381, 402, 0, 0, 383, 404, 384, 405, + 385, 406, 386, 407, 387, 408, 388, 409, 0, 0, + 0, 0, 0, 0, 0, 0, 474, 0, 0, 473, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 0, 0, 0, 0, 420, 0, 72, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, + 0, 0, 447, 449, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 263, 265, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 439, 0, 436, 0, 422, 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, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 419, 219, 461, + 462, 0, 0, 0, 0, 0, 221, 222, 224, 0, + 0, 469, 0, 230, 371, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 451, 456, 0, 448, + 0, 237, 0, 0, 0, 0, 0, 0, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, + 343, 279, 0, 0, 0, 0, 0, 440, 0, 466, + 0, 0, 0, 295, 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, 347, + 348, 349, 350, 351, 0, 0, 0, 0, 0, 0, + 0, 23, 0, 424, 287, 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, 443, 382, 403, 389, 410, 390, 411, + 391, 412, 0, 476, 475, 472, 0, 209, 0, 0, + 0, 0, 217, 0, 0, 0, 467, 73, 0, 234, + 240, 0, 242, 0, 0, 238, 0, 239, 261, 0, + 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, + 0, 0, 270, 0, 308, 0, 317, 0, 326, 0, + 0, 0, 0, 0, 0, 245, 246, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 436, 426, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 227, 0, 0, 228, 0, 470, 0, 0, + 0, 248, 258, 457, 0, 0, 341, 251, 252, 0, + 0, 0, 0, 340, 342, 260, 235, 250, 259, 262, + 0, 0, 0, 435, 0, 434, 0, 0, 305, 0, + 0, 314, 0, 0, 323, 0, 272, 273, 274, 275, + 0, 0, 440, 0, 0, 0, 0, 0, 464, 0, + 297, 296, 0, 0, 0, 0, 0, 26, 0, 35, + 0, 39, 0, 33, 0, 0, 38, 0, 43, 41, + 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, + 0, 0, 55, 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, 444, 0, 0, 218, 223, 225, 0, 231, 0, + 0, 241, 243, 458, 0, 0, 0, 339, 338, 232, + 233, 270, 0, 266, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 442, 441, 0, 0, 0, 0, 0, + 0, 0, 440, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 477, 0, 468, 0, 0, 0, 0, 0, 0, 433, + 0, 0, 0, 0, 0, 0, 0, 0, 332, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 463, 298, 0, 0, 40, 0, 0, 0, 0, 30, + 0, 36, 0, 42, 31, 44, 0, 47, 0, 51, + 52, 0, 0, 54, 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, 229, 0, 0, 0, 0, 264, 0, + 0, 310, 0, 336, 0, 0, 333, 319, 0, 0, + 328, 0, 0, 0, 0, 0, 0, 247, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 106, 110, 114, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 202, 0, 208, 0, + 0, 0, 0, 432, 306, 0, 0, 0, 309, 315, + 0, 0, 318, 324, 0, 0, 327, 236, 249, 0, + 0, 253, 0, 0, 0, 0, 0, 34, 37, 45, + 0, 46, 53, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 312, 0, 0, 321, + 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 206, 0, 0, 255, + 254, 0, 307, 0, 0, 0, 316, 0, 0, 325, + 0, 0, 0, 0, 0, 0, 29, 32, 0, 0, + 0, 104, 0, 108, 0, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, + 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, + 0, 335, 320, 0, 329, 0, 0, 0, 0, 0, + 0, 49, 25, 105, 107, 109, 111, 113, 115, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 201, 203, 0, 204, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 122, 126, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 313, 334, 322, + 331, 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, 205, 207, 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, 257, 11, 0, 0, + 0, 116, 0, 120, 0, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 0, 27, 117, 119, 121, 123, 125, 127, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, + 134, 138, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 128, 0, 132, + 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 131, 133, 135, 137, 139, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 142, 146, 150, 154, 158, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, + 0, 144, 0, 148, 0, 152, 0, 156, 0, 160, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, + 161, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 190, 194, 198, + 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, 188, 0, 192, 0, 196, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 191, + 193, 195, 197, 199, 0, 0, 0, 178, 182, 186, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 176, 0, 180, 0, + 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 179, 181, 183, 185, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 170, 174, + 0, 0, 0, 0, 0, 0, 0, 164, 0, 168, + 0, 172, 0, 0, 0, 0, 0, 0, 165, 167, + 169, 171, 173, 175 }; -static const short yypact[] = { 2859, - 32, 309, 51, 3276,-32768,-32768,-32768, -114,-32768, 67, - 91, 119, 125, 132, 136, -53, -24, -15,-32768,-32768, --32768,-32768, 2404, 90, 19, 152, 115, 126, 158, -34, - 256, 181, 189, 327, 200, 387, 391, 425, 430, 553, - 434, 657, 281, 293, 218, 218, 296, 466, 8, 445, - 10, 525, 526, 176, 531, 356, 362, -16, 11, 29, --32768, 367,-32768, 569,-32768, 565, 566, 554, 13, 17, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 18, 3048,-32768,-32768,-32768, --32768,-32768, 380, 380, 585,-32768, 311, 15,-32768,-32768, --32768,-32768, -140, -129, 77, 220, 361, 450, 468, 473, - 512, 517, 528, 533, 536, 539, 543, 547, 551, 552, - 555, 560, 563, 413, 414, 418,-32768,-32768,-32768,-32768, - 2691, 2691, 2691,-32768,-32768, 2691, 1216, 52, 671, 2691, - 682, 680,-32768, 691, 693,-32768, 2691,-32768, 2691, 2691, - 2691, 516, 2691, 520, 2691, 2691, 616, 2691, 504, 527, - 532, -33, 616, 535, 541, 556, 559, 573, 574, 575, - 759, 218, 218, 218, 2691, 2691, -122,-32768, -19, 218, - 577, 592, 593, 578,-32768, 616, 73,-32768,-32768,-32768, - 616, 616, 788, 2691, 2691, -62, 2691, 599, 2691, 597, - 669, 2691, 2691,-32768, 815,-32768, 628,-32768,-32768, 857, --32768, 877,-32768, 827, 18, 677, 681, 685, 702, 714, - 727, 728, 735, 745, 757, 769, 786, 795, 796, 802, - 814, 819, 835, 844, 845, 852, 872, 881, 883, 884, - 885, 886, 887, 888, 891, 977, 821, 823, 889, 2691, - 1087,-32768, 218,-32768, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 53, 41, 41, 324, - 894, 894, 894, 1707, 1086, 2442, 10604, 219, 892, 1089, - 896, 708,-32768,-32768, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,-32768, - -89, 1347, 3038, 11304, 11327, 2691, 11350, 2691, 11373, 11396, - 415, 895, 2331, 2442,-32768,-32768,-32768, 1647, 1091,-32768, - 11419, 2691, 2691, 2691, 2691, 2691, 1097, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 905, -125,-32768,-32768, 2633, 3652, - 218, 218, 622, 622, -120, 2691, 2691, 2691, 2691, 2739, - 341,-32768, 2691, 2942, 1099, 1100,-32768, 11442, 11465, 1002, - 2691, 11488, 1001, 3674,-32768, 904, 1748, 11511,-32768, 2691, - 3008,-32768, 3032,-32768,-32768, 18, 1106, 1107, 1109, 1110, - 1111, 1112, 1113, 1114, 1118, 1119, 1120, 1121, 1123, 1124, - 1125, 1127, 1128, 1129, 1156, 1157, 1158, 1159, 1160, 1008, - 1162, 1163, 1164, 1165, 1168, 1169,-32768, -85, 1170, 1171, - 1173, 10629, 170, 156, 3167, 11534, 10654, 11557, 10679, 11580, - 10704, 11603, 10729, 11626, 10754, 11649, 10779, 11672, 10804, 11695, - 10829, 11718, 10854, 11741, 10879, 11764, 10904, 3696, 3718, 11787, - 10929, 11810, 10954, 11833, 10979, 11856, 11004, 11879, 11029, 11902, - 11054, 3740, 3762, 3784, 3806, 3828, 3850, 567, 86, 971, - 979, 2691,-32768, 616, 2744, 1647,-32768, 564, 175, 41, - 2691, 1175, 1178, 16, 986,-32768, 1838, 472, 396, 417, - 417, 503, 503, 503, 503, 338, 338, 894, 894, 894, - 894, 1192, 2442, 2691, 1193, 1194, 1195, 11925, 1197, 11948, - 1198, 1199, 1262, 2691, 470, 2442, 579, 2691, 2691, 1200, - 2431, 11971, 11994, 12017, 2830, 2691, 3173, 3220, 12040, 12063, - 12086, 12109, 12132, 1006, 218, 2691, 2691,-32768,-32768,-32768, - 1003, 2443,-32768, 1004, 2691, 3872, 3894, 3916, 11079, 120, - -43, -42, 191,-32768,-32768,-32768, 2691, 11104,-32768, 1007, - 1009, 1201, 1205, 1015, 12155, 1211, 1014, 2691, 3074, 2691, - 2691,-32768, 12178,-32768,-32768, 1051, 1018, 1044, 1050, 1062, - 1063, 1090, 1092, 1093, 1094, 1101, 1103, 1105, 1115, 1117, - 1122, 1130, 1131, 1132, 1134, 1135, 1136, 1137, 1139, 1140, - 1142, 1172, 1174, 1176, 1177, 1179,-32768, 1291, 1102,-32768, - 1188, 113,-32768,-32768, 1126, 1133, 1204, 1207, 1208, 1212, - 1213, 1214, 1215, 1217, 1218, 1220, 1222, 1224, 1225, 1226, - 1227, 1228, 1230, 1231, 1232, 1233, 1239, 1249, 1250, 1253, - 1098, 1306,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 2691, 2691,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 1310,-32768, 2442, 41,-32768, 11129, 1311, 2442, - 1116, 69, 2691, 1313, 1318, 730,-32768, 1319, 1254, 11, - 1323,-32768, 2691,-32768, 123, 3938, 218, 616, 616, 1326, - 616, 1327, 616, 616,-32768, 2442, 3244, 1544, 582,-32768, - 1876, 751, 1203, 1367, 1368, 1369, 1447, 1450, 305, 1451, - 1452, 1456, 1458, 1462, 1463, 1464, 1468, -98, 3960, 3982, --32768,-32768, 3268, 218, 218, 218, 1469, 2442, 2442, 2442, - 2442, 785, 1471, 2691, 2691, 616, 616, 2691, 1467, 616, - 1474, 4004,-32768, 1945, 359, 1472, 1309, 1478, 2691, 2691, - 218, 1479, 1480, 1294, 1482, 1483, 616, 616, 1484, 218, - 1485, 1486, 616, 616, 1487, 1489, 1490, 1491, 1492, 616, - 596, 616, 1493, 1494, 1516, 1495, 1520,-32768, 1524, 380, - 1536,-32768, 1535, 3209, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 616,-32768, 12201, 11154, 12224, 11179, 12247, 11204, 12270, 11229, - 11254, 1297, 198, 1342, -41,-32768, 1647,-32768, 28, 397, - 1341, 1539, 818,-32768,-32768,-32768, 11, 2691,-32768, 583, --32768, 2499, 1543, 2691, 20, 33, 36, 616, 1545, 616, - 1571, 1572, 588,-32768,-32768, 2442,-32768, 2691,-32768, 2691, - 616, 616, 616, 1351, 1380,-32768, 384, 616, 616, 616, - 616, 616, 616, 616, 511, 2691, 2691, 2691, 1374, -48, - 203, 213,-32768, 601, 602, 606, 607,-32768,-32768, 4026, - 4048, 1575, 1576, 12293, 217, 1476,-32768, 2691, 2691, 2691, --32768, 1378, 1419, 1384, 4070, 4092, -66, 1386, 1394, 1390, - 1396, 1392, 1398, 1395, 1397, 282, 1399, 1401, 1403, 1400, - 1425, 1426, 1427, 1428, 1429, 1437,-32768,-32768,-32768,-32768, --32768, 1435, 1438, 1439, 1440, 1441, 1442, 1443,-32768, 1444, - 170,-32768, 1593, 4114, 4136, 4158, 4180, 4202, 4224, 4246, - 4268, 4290, 4312, 4334, 4356, 4378, 4400, 4422, 4444, 4466, - 4488, 4510, 4532, 4554, 4576, 4598, 4620, 4642, 4664, 611, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1448, --32768,-32768,-32768, 616, 41, 2691, 1641, 1646, 16,-32768, - 1648, 11279, 11,-32768,-32768, 4686,-32768,-32768, 218,-32768, - 218, 1652,-32768, 1653,-32768,-32768, 1459, 612, 2499, 4708, - 1654, 1658, 1659, 2691, 2691, 2691, 2691, 1660, 1661, 1662, - 1664, 1666, 1667, 1668,-32768, 2640, 3292, 12316, -86, 622, - 218, 1669, 218, 1670, 218, 1671, 1672, 1673, 1674, 1675, - 2691, 2691,-32768,-32768, 1645, 616, 616, 1546, 616, 1255, - 269, 12339, 2691, 18, 1679, 2691, 616, 1677, 1682, 1683, - 1498, 1684, 596, 1685, 1689, 2691, 1687, 1691, 1692, 1693, - 1694, 596, 2691, 2691, 2691, 616, 1695, 1697, 596, 2691, - 1700, 1702, 1701, 2691, 380,-32768,-32768, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 616, 1523, 1727, 1728, 1729, 868,-32768, - 1688, 1730,-32768, 1534,-32768, 2691, 22, 24,-32768,-32768, --32768, 1537, 2691,-32768,-32768,-32768, 4730, 4752, 1005, 1072, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 1210, 1734, 1538, --32768, 2691,-32768, 1547, 1,-32768, 1549, 129,-32768, 1551, - 224,-32768, 1552,-32768,-32768,-32768,-32768, 4774, 4796, 217, - 228, 618, 1553, 1637, 2691,-32768, 2691,-32768,-32768, 4818, - 18, 1542, 4840, 1540,-32768, 1548,-32768, 1558,-32768, 1564, --32768, 1561, 12362,-32768, 1569,-32768,-32768, 1577, 1578, 12385, - 4862, 12408, 1570,-32768, 1579, 1580, 4884, 1581, 1582,-32768, - 4906, 1583, 4928, 4950, 4972, 4994, 5016, 5038, 5060, 5082, - 5104, 5126, 5148, 5170, 5192, 5214, 5236, 5258, 5280, 5302, - 5324, 5346, 5368, 5390, 5412, 5434, 5456, 5478,-32768, 616, - 1587,-32768,-32768,-32768, 11,-32768, 1642, 5500,-32768,-32768, --32768, 5522, 2691, 2691,-32768,-32768,-32768,-32768, 622, 2686, --32768, 2371, 114, 2371, 114, 2371, 114, 2691, 2691, 1676, --32768,-32768, 616, 2691, 3316, 3340, 616, 18, 1746, 217, - 596, 1773, 2691, 1775, 596, 1783, 1787, 1785, 1809, 1834, - 2691, 1835, 616, 1836, 1837, 2691, 1844, 1842, 2691, 1865, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 621,-32768, 1866,-32768, - 2691, 1868, 12431, 12454, 1696, 2691,-32768, 2371, 2371, 2691, - 3364, 238, 1869, 1665, -22,-32768, 3388, 247, -7, 3412, - 257, 72, 3436, 3460, 1725, 1736, 1632,-32768,-32768, 1735, - 1709,-32768, 1738, 1739, 1740, 5544,-32768, 1678,-32768, 1680, --32768,-32768,-32768, 12477,-32768, 1742,-32768,-32768, 12500, 1681, --32768, 12523, 1744, 12546, 12569, 12592, 5566, 5588, 5610, 5632, - 5654, 5676, 5698, 5720, 5742, 5764, 5786, 5808, 5830, 5852, - 5874, 5896, 5918, 5940, 5962, 5984, 6006, 12615, 6028, 1871, --32768, 6050, 1745, 616, 616,-32768, 3484, 2546, 1873, 2691, --32768, 616, 1884,-32768, 1894, 2691, 1895, 1946, 2691, 1948, - 1949, 1966, 616, 616,-32768, 1967, 18, 596, 596, 596, - 596, 1968, 1970, 1971, 596, 1972, 1973, 1974, 1877,-32768, --32768,-32768, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691,-32768, 2691,-32768, 2691, 1976, 616, 616, --32768,-32768, 1776, 3508, 1778,-32768,-32768, 1779, 3532,-32768, --32768, 1780, 3556,-32768,-32768,-32768, 1782, 1777,-32768, 18, - 1784, 1786, 1751, 1788,-32768,-32768,-32768, 1805,-32768,-32768, --32768, 1806, 1808, 1815, 1825, 6072, 6094, 6116, 6138, 6160, - 6182, 6204, 6226, 6248, 6270, 6292, 6314, 6336, 6358, 6380, - 6402, 6424, 6446, 6468, 6490, 6512, 1826, 12638, 3580, 1807, - 1984, 2009, 114, 2028, 616, 114, 2032, 114, 2053, 616, - 1770, 18, 596, 596, 2063, 2064, 596, 2066, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 41,-32768, 2067, 2070,-32768,-32768, 215,-32768, - 1870, 624, 291,-32768, 1872, 297,-32768, 1874, 1875, 1886, - 1905, 1888, 1889,-32768,-32768, 1879, 1881, 668, 2499, 674, - 2499, 697, 2499, 6534, 6556, 6578, 6600, 6622, 6644, 6666, - 6688, 6710, 6732, 6754, 6776, 6798, 6820, 6842, 6864, 6886, - 6908, 6930, 6952, 6974, 743,-32768, 1890,-32768, 1891, 2071, - 114, 616, 2089, 2091, 114, 2093, 114, 1996, 2691, 18, - 596, 616, 2095, 2096, 2691, 2097, 2691, 2098, 2691, 2099, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 41, 2100, 41, 2101,-32768, 314, 1921,-32768,-32768, - 315,-32768, 317, 1932, 6996, 18, 1934, 1935,-32768,-32768, - 2499,-32768, 2499,-32768, 2499,-32768, 12661, 12684, 12707, 7018, - 7040, 7062, 7084, 7106, 7128, 7150, 7172, 7194, 7216, 7238, - 7260, 7282, 7304, 7326, 7348, 7370, 7392,-32768,-32768, 746, --32768,-32768, 2135, 2136, 2139, 2141, 2691, 2691, 18, 596, - 616,-32768,-32768,-32768, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 41, 2143,-32768,-32768,-32768,-32768, 7414, 3604, - 1979, 1950, 1960, 1947, 1961, 1962, 7436, 7458, 7480, 7502, - 7524, 7546, 7568, 7590, 7612, 7634, 7656, 7678, 7700, 7722, - 7744, 7766, 7788, 7810,-32768,-32768, 2691, 2160, 1997, 616, - 596, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 3628,-32768,-32768, 1964, 1975, 747, 2499, 750, - 2499, 753, 2499, 7832, 7854, 7876, 7898, 7920, 7942, 7964, - 7986, 8008, 8030, 8052, 8074, 8096, 8118, 8140, 8162, 8184, - 8206, 2165, 616, 2167, 2691, 2168, 2691, 2171, 2691, 2172, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,-32768, 1977, --32768, 2499,-32768, 2499,-32768, 2499,-32768, 12730, 12753, 12776, - 8228, 8250, 8272, 8294, 8316, 8338, 8360, 8382, 8404, 8426, - 8448, 8470, 8492, 8514, 8536, 616,-32768,-32768,-32768, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 1978, 1987, 1988, 1989, 8558, 8580, - 8602, 8624, 8646, 8668, 8690, 8712, 8734, 8756, 8778, 8800, - 8822, 8844, 8866, 616, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 1980, 754, 2499, 773, 2499, 774, 2499, 8888, - 8910, 8932, 8954, 8976, 8998, 9020, 9042, 9064, 9086, 9108, - 9130, 9152, 9174, 9196, 596, 2691, 2173, 2691, 2174, 2691, - 2175, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 1998, 2499,-32768, 2499, --32768, 2499,-32768, 12799, 12822, 12845, 12868, 12891, 12914, 9218, - 9240, 9262, 9284, 9306, 9328, 9350, 9372, 9394, 2178,-32768, --32768,-32768,-32768,-32768,-32768, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691,-32768, 1990, 1991, 1993, 1994, 1995, - 2007, 9416, 9438, 9460, 9482, 9504, 9526, 9548, 9570, 9592, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 783, 2499, 784, 2499, 807, - 2499, 812, 2499, 817, 2499, 820, 2499, 9614, 9636, 9658, - 9680, 9702, 9724, 9746, 9768, 9790, 2691, 2196, 2691, 2197, - 2691, 2208, 2691, 2209, 2691, 2210, 2691, 2211, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2499,-32768, 2499, --32768, 2499,-32768, 2499,-32768, 2499,-32768, 2499,-32768, 9812, - 9834, 9856, 9878, 9900, 9922, 12937, 12960, 12983, 2691, 2691, - 2691, 2691, 2691, 2691,-32768,-32768,-32768, 9944, 9966, 9988, - 10010, 10032, 10054, 2012, 2013, 2014, 2691, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2691, 10076, 10098, 10120, 10142, 10164, - 10186, 824, 2499, 825, 2499, 830, 2499, 2691, 2691, 2691, - 2691, 2691, 2691, 2691, 2215, 2691, 2216, 2691, 2217, 10208, - 10230, 10252, 13006, 13029, 13052, 2499,-32768, 2499,-32768, 2499, --32768, 2691, 2691, 2691,-32768,-32768,-32768, 10274, 10296, 10318, - 2018, 2026, 2030, 2691, 2691, 2691, 2691, 2691, 2691, 10340, - 10362, 10384, 831, 2499, 834, 2499, 862, 2499, 2691, 2691, - 2691, 2691, 2228, 2691, 2231, 2691, 2232, 10406, 10428, 10450, - 2499,-32768, 2499,-32768, 2499,-32768, 2691, 2691, 2691, 10472, - 10494, 10516, 2691, 2691, 2691, 10538, 10560, 10582, 2691, 2691, - 2691, 13075, 13098, 13121,-32768,-32768,-32768, 2033, 2034, 2035, - 2691, 2691, 2691, 863, 2499, 870, 2499, 874, 2499, 2691, - 2236, 2691, 2237, 2691, 2238, 2499,-32768, 2499,-32768, 2499, --32768, 2245, 2246,-32768 +/* YYDEFGOTO[NTERM-NUM]. */ +static const short yydefgoto[] = +{ + -1, 2, 217, 3, 11, 4, 21, 22, 23, 24, + 5, 73, 74, 75, 447, 1680, 665, 1585, 1682, 666, + 1586, 1684, 667, 1587, 1900, 668, 1846, 1902, 669, 1847, + 1904, 670, 1848, 2036, 671, 1998, 2038, 672, 1999, 2040, + 673, 2000, 2148, 674, 2118, 2150, 675, 2119, 2152, 676, + 2120, 2154, 677, 2121, 2156, 678, 2122, 2158, 679, 2123, + 2346, 680, 2340, 2348, 681, 2341, 2350, 682, 2342, 2295, + 683, 2283, 2297, 684, 2284, 2299, 685, 2285, 2244, 686, + 2226, 2246, 687, 2227, 2248, 688, 2228, 1707, 689, 1609, + 1802, 690, 1709, 691, 142, 254, 76, 577, 347, 563, + 564, 348, 80, 81, 82, 83, 84, 349, 1229, 1555, + 1663, 1232, 1560, 1667, 1235, 1564, 1670, 1417, 1418, 86, + 87, 1004, 350, 145, 369, 180, 249, 440, 1120, 1042, + 1043, 352, 500, 202, 753, 912, 146 }; -static const short yypgoto[] = {-32768, - -79,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1613,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -300, -18,-32768, 2244, -1, -367, -175, 2, --32768,-32768,-32768,-32768,-32768, 2248,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, -1306, -1378,-32768,-32768, -1071, - -23,-32768, -29,-32768, -90,-32768, -1200, -1035, 829, -177, - -335, -739, 1196,-32768, -68 +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +#define YYPACT_NINF -1380 +static const short yypact[] = +{ + 2859, 68, 134, 242, 403, 3276, -1380, -1380, -1380, -1380, + 46, -1380, 139, 144, 160, 187, 212, 272, 88, 92, + 123, -1380, -1380, -1380, -1380, 2404, 135, 19, 302, 149, + 174, 186, -34, 348, 218, 222, 388, 223, 399, 402, + 419, 425, 432, 401, 493, 274, 275, -68, -68, 292, + 518, 8, 443, 10, 496, 503, 51, 495, 313, 322, + -16, 11, 29, -1380, 323, -1380, 521, -1380, 547, 551, + 494, 13, 17, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, 18, 3048, + -1380, -1380, -1380, -1380, -1380, 342, 342, 561, -1380, 148, + 15, -1380, -1380, -1380, -1380, -41, -10, -2, 127, 198, + 229, 329, 370, 371, 389, 393, 412, 416, 450, 468, + 472, 483, 484, 492, 498, 512, 360, 363, 397, -1380, + -1380, -1380, -1380, 2691, 2691, 2691, -1380, -1380, 2691, 1216, + 40, 593, 2691, 664, 474, -1380, 668, 609, -1380, 2691, + -1380, 2691, 2691, 2691, 476, 2691, 502, 2691, 2691, 616, + 2691, 504, 515, 516, -122, 616, 513, 523, 519, 532, + 542, 548, 555, 614, -68, -68, -68, 2691, 2691, -66, + -1380, -47, -68, 552, 573, 574, 497, -1380, 616, 73, + -1380, -1380, -1380, 616, 616, 757, 2691, 2691, -62, 2691, + 570, 2691, 577, 673, 2691, 2691, -1380, 788, -1380, 596, + -1380, -1380, 792, -1380, 793, -1380, 799, 18, 604, 632, + 662, 674, 687, 688, 711, 723, 727, 732, 758, 786, + 790, 797, 812, 817, 818, 819, 820, 823, 824, 825, + 826, 828, 830, 831, 833, 835, 836, 837, 871, 738, + 838, 739, 2691, 1022, -1380, -68, -1380, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 62, + 65, 65, 328, 839, 839, 839, 1707, 1032, 2442, 1945, + 219, 840, 1034, 843, 680, -1380, -1380, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, -1380, -120, 1347, 3038, 11923, 11946, 2691, 11969, + 2691, 11992, 12015, 491, 861, 2331, 2442, -1380, -1380, -1380, + 1210, 1042, -1380, 12038, 2691, 2691, 2691, 2691, 2691, 1061, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 869, 169, -1380, + -1380, 3748, 3772, -68, -68, 661, 661, 178, 2691, 2691, + 2691, 2691, 2739, 375, -1380, 2691, 2942, 1063, 1064, -1380, + 12061, 12084, 969, 2691, 12107, 982, 3796, -1380, 885, 1632, + 12130, -1380, 2691, 3008, -1380, 3032, -1380, -1380, 18, 1087, + 1089, 1090, 1091, 1092, 1093, 1094, 1096, 1099, 1101, 1102, + 1103, 1104, 1105, 1106, 1107, 1109, 1110, 1111, 1112, 1113, + 1114, 1118, 919, 1119, 1120, 1121, 1123, 1126, 1125, -1380, + -27, 1127, 1128, 1156, 11356, 9, -19, 3167, 12153, 11377, + 12176, 11398, 12199, 11419, 12222, 11440, 12245, 11461, 12268, 11482, + 12291, 11503, 12314, 11524, 12337, 11545, 12360, 11566, 12383, 11587, + 3820, 3844, 12406, 11608, 12429, 11629, 12452, 11650, 12475, 11671, + 12498, 11692, 12521, 11713, 3868, 3892, 3916, 3940, 3964, 3988, + 524, -23, 928, 962, 2691, -1380, 616, 2744, 1210, -1380, + 533, 195, 65, 2691, 1157, 1160, 16, 963, -1380, 1748, + 729, 418, 895, 895, 316, 316, 316, 316, -6, -6, + 839, 839, 839, 839, 1161, 2442, 2691, 1159, 1162, 1163, + 12544, 1164, 12567, 1167, 1168, 1262, 2691, 499, 2442, 537, + 2691, 2691, 1169, 2431, 12590, 12613, 12636, 2629, 2691, 3250, + 3280, 12659, 12682, 12705, 12728, 12751, 965, -68, 2691, 2691, + -1380, -1380, -1380, 970, 2443, -1380, 971, 2691, 4012, 4036, + 4060, 11734, -111, -42, -43, -95, -1380, -1380, -1380, 2691, + 11755, -1380, 973, 978, 1189, 1190, 999, 12774, 1193, 1018, + 2691, 3074, 2691, 2691, -1380, 12797, -1380, -1380, 1036, 997, + 1044, 1062, 1097, 1115, 1117, 1122, 1124, 1130, 1131, 1132, + 1134, 1135, 1136, 1137, 1139, 1140, 1142, 1170, 1171, 1172, + 1174, 1176, 1177, 1179, 1186, 1198, 1201, 1202, 1204, -1380, + 1263, 1095, -1380, 1206, 120, -1380, -1380, 1098, 1100, 1129, + 1133, 1175, 1213, 1214, 1215, 1217, 1218, 1220, 1222, 1224, + 1225, 1241, 1242, 1243, 1244, 1245, 1248, 1249, 1250, 1253, + 1254, 1255, 1256, 1108, 1290, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, 2691, 2691, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 1294, -1380, 2442, 65, -1380, + 11776, 1298, 2442, 1116, 53, 2691, 1300, 1302, 710, -1380, + 1303, 1257, 11, 1306, -1380, 2691, -1380, 76, 4084, -68, + 616, 616, 1310, 616, 1312, 616, 616, -1380, 2442, 3306, + 1544, 541, -1380, 1832, 750, 1240, 1317, 1318, 1319, 1326, + 1450, 305, 1452, 1453, 1455, 1456, 1458, 1462, 1463, 1467, + 199, 4108, 4132, -1380, -1380, 3332, -68, -68, -68, 1466, + 2442, 2442, 2442, 2442, 780, 1468, 2691, 2691, 616, 616, + 2691, 1470, 616, 1471, 4156, -1380, 1876, 395, 1472, 1307, + 1477, 2691, 2691, -68, 1478, 1479, 1293, 1481, 1482, 616, + 616, 1483, -68, 1484, 1485, 616, 616, 1486, 1487, 1489, + 1490, 1491, 616, 608, 616, 1492, 1493, 1494, 1518, 1520, + -1380, 1522, 342, 1536, -1380, 1535, 3209, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 616, -1380, 12820, 11797, 12843, 11818, 12866, + 11839, 12889, 11860, 11881, 1296, 85, 1297, 122, -1380, 1210, + -1380, 188, 343, 1339, 1537, 815, -1380, -1380, -1380, 11, + 2691, -1380, 545, -1380, 2499, 1540, 2691, 20, 33, 52, + 616, 1543, 616, 1545, 1571, 546, -1380, -1380, 2442, -1380, + 2691, -1380, 2691, 616, 616, 616, 1351, 1379, -1380, 58, + 616, 616, 616, 616, 616, 616, 616, 383, 2691, 2691, + 2691, 1373, -116, -113, -102, -1380, 550, 554, 557, 563, + -1380, -1380, 4180, 4204, 1574, 1575, 12912, -87, 1475, -1380, + 2691, 2691, 2691, -1380, 1377, 1417, 1381, 4228, 4252, -82, + 1384, 1391, 1389, 1395, 1392, 1396, 1393, 1394, 282, 1397, + 1400, 1401, 1398, 1399, 1425, 1426, 1427, 1428, 1405, -1380, + -1380, -1380, -1380, -1380, 1429, 1432, 1433, 1437, 1438, 1444, + 1440, -1380, 1441, 9, -1380, 1641, 4276, 4300, 4324, 4348, + 4372, 4396, 4420, 4444, 4468, 4492, 4516, 4540, 4564, 4588, + 4612, 4636, 4660, 4684, 4708, 4732, 4756, 4780, 4804, 4828, + 4852, 4876, 564, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, 1445, -1380, -1380, -1380, 616, 65, 2691, 1643, + 1646, 16, -1380, 1645, 11902, 11, -1380, -1380, 4900, -1380, + -1380, -68, -1380, -68, 1647, -1380, 1648, -1380, -1380, 1457, + 567, 2499, 4924, 1649, 1652, 1654, 2691, 2691, 2691, 2691, + 1655, 1658, 1659, 1660, 1661, 1662, 1664, -1380, 2640, 3358, + 12935, 2686, 661, -68, 1666, -68, 1667, -68, 1668, 1669, + 1670, 1671, 1672, 2691, 2691, -1380, -1380, 1673, 616, 616, + 1572, 616, 3175, 269, 12958, 2691, 18, 1678, 2691, 616, + 1676, 1680, 1679, 1498, 1683, 608, 1684, 1688, 2691, 1686, + 1690, 1689, 1691, 1695, 608, 2691, 2691, 2691, 616, 1693, + 1697, 608, 2691, 1698, 1700, 1699, 2691, 342, -1380, -1380, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 616, 1446, 1703, 1723, + 1725, 868, -1380, 1687, 1728, -1380, 1532, -1380, 2691, 22, + 24, -1380, -1380, -1380, 1534, 2691, -1380, -1380, -1380, 4948, + 4972, 1003, 1025, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + 1072, 1731, 1533, -1380, 2691, -1380, 1538, 213, -1380, 1546, + 224, -1380, 1547, 231, -1380, 1548, -1380, -1380, -1380, -1380, + 4996, 5020, -87, 109, 582, 1549, 1636, 2691, -1380, 2691, + -1380, -1380, 5044, 18, 1541, 5068, 1539, -1380, 1552, -1380, + 1553, -1380, 1542, -1380, 1554, 12981, -1380, 1558, -1380, -1380, + 1551, 1564, 13004, 5092, 13027, 1561, -1380, 1576, 1577, 5116, + 1569, 1578, -1380, 5140, 1570, 5164, 5188, 5212, 5236, 5260, + 5284, 5308, 5332, 5356, 5380, 5404, 5428, 5452, 5476, 5500, + 5524, 5548, 5572, 5596, 5620, 5644, 5668, 5692, 5716, 5740, + 5764, -1380, 616, 1579, -1380, -1380, -1380, 11, -1380, 1674, + 5788, -1380, -1380, -1380, 5812, 2691, 2691, -1380, -1380, -1380, + -1380, 661, 3220, -1380, 2371, 280, 2371, 280, 2371, 280, + 2691, 2691, 1675, -1380, -1380, 616, 2691, 3384, 3410, 616, + 18, 1774, -87, 608, 1778, 2691, 1780, 608, 1781, 1785, + 1783, 1784, 1807, 2691, 1819, 616, 1820, 1821, 2691, 1788, + 1822, 2691, 1824, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 583, + -1380, 1825, -1380, 2691, 1827, 13050, 13073, 1626, 2691, -1380, + 2371, 2371, 2691, 3436, 236, 1828, 1629, -32, -1380, 3462, + 238, -26, 3488, 245, -17, 3514, 3540, 1630, 1633, 1247, + -1380, -1380, 1634, 1681, -1380, 1637, 1638, 1640, 5836, -1380, + 1639, -1380, 1677, -1380, -1380, -1380, 13096, -1380, 1642, -1380, + -1380, 13119, 1682, -1380, 13142, 1665, 13165, 13188, 13211, 5860, + 5884, 5908, 5932, 5956, 5980, 6004, 6028, 6052, 6076, 6100, + 6124, 6148, 6172, 6196, 6220, 6244, 6268, 6292, 6316, 6340, + 13234, 6364, 1831, -1380, 6388, 1696, 616, 616, -1380, 3566, + 2546, 1840, 2691, -1380, 616, 1865, -1380, 1866, 2691, 1867, + 1868, 2691, 1869, 1870, 1872, 616, 616, -1380, 1873, 18, + 608, 608, 608, 608, 1874, 1875, 1882, 608, 1894, 1897, + 1923, 1936, -1380, -1380, -1380, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, -1380, 2691, -1380, 2691, + 1937, 616, 616, -1380, -1380, 1737, 3592, 1739, -1380, -1380, + 1741, 3618, -1380, -1380, 1743, 3644, -1380, -1380, -1380, 1740, + 1744, -1380, 18, 1745, 1747, 1753, 1754, -1380, -1380, -1380, + 1750, -1380, -1380, -1380, 1767, 1768, 1770, 1771, 6412, 6436, + 6460, 6484, 6508, 6532, 6556, 6580, 6604, 6628, 6652, 6676, + 6700, 6724, 6748, 6772, 6796, 6820, 6844, 6868, 6892, 1772, + 13257, 3670, 1775, 1967, 1973, 280, 1975, 616, 280, 1976, + 280, 1977, 616, 1880, 18, 608, 608, 1979, 1980, 608, + 1982, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 65, -1380, 1983, 1985, -1380, + -1380, -13, -1380, 1782, 586, -11, -1380, 1823, -7, -1380, + 1826, 1818, 1830, 1859, 1786, 1829, -1380, -1380, 1838, 1857, + 601, 2499, 602, 2499, 606, 2499, 6916, 6940, 6964, 6988, + 7012, 7036, 7060, 7084, 7108, 7132, 7156, 7180, 7204, 7228, + 7252, 7276, 7300, 7324, 7348, 7372, 7396, 607, -1380, 1863, + -1380, 1864, 2021, 280, 616, 2022, 2025, 280, 2064, 280, + 1968, 2691, 18, 608, 616, 2067, 2069, 2691, 2070, 2691, + 2071, 2691, 2072, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 65, 2073, 65, 2074, -1380, -4, + 1885, -1380, -1380, -3, -1380, 72, 1887, 7420, 18, 1877, + 1889, -1380, -1380, 2499, -1380, 2499, -1380, 2499, -1380, 13280, + 13303, 13326, 7444, 7468, 7492, 7516, 7540, 7564, 7588, 7612, + 7636, 7660, 7684, 7708, 7732, 7756, 7780, 7804, 7828, 7852, + -1380, -1380, 611, -1380, -1380, 2075, 2089, 2090, 2091, 2691, + 2691, 18, 608, 616, -1380, -1380, -1380, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 65, 2092, -1380, -1380, -1380, + -1380, 7876, 3696, 1927, 1895, 1896, 1898, 1899, 1900, 7900, + 7924, 7948, 7972, 7996, 8020, 8044, 8068, 8092, 8116, 8140, + 8164, 8188, 8212, 8236, 8260, 8284, 8308, -1380, -1380, 2691, + 2096, 1930, 616, 608, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 3722, -1380, -1380, 1902, 1926, + 612, 2499, 618, 2499, 619, 2499, 8332, 8356, 8380, 8404, + 8428, 8452, 8476, 8500, 8524, 8548, 8572, 8596, 8620, 8644, + 8668, 8692, 8716, 8740, 2132, 616, 2133, 2691, 2134, 2691, + 2135, 2691, 2136, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, -1380, 1940, -1380, 2499, -1380, 2499, -1380, 2499, -1380, + 13349, 13372, 13395, 8764, 8788, 8812, 8836, 8860, 8884, 8908, + 8932, 8956, 8980, 9004, 9028, 9052, 9076, 9100, 616, -1380, + -1380, -1380, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 1944, 1947, 1949, + 1959, 9124, 9148, 9172, 9196, 9220, 9244, 9268, 9292, 9316, + 9340, 9364, 9388, 9412, 9436, 9460, 616, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 1946, 622, 2499, 623, 2499, + 672, 2499, 9484, 9508, 9532, 9556, 9580, 9604, 9628, 9652, + 9676, 9700, 9724, 9748, 9772, 9796, 9820, 608, 2691, 2160, + 2691, 2161, 2691, 2162, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 1969, + 2499, -1380, 2499, -1380, 2499, -1380, 13418, 13441, 13464, 13487, + 13510, 13533, 9844, 9868, 9892, 9916, 9940, 9964, 9988, 10012, + 10036, 2164, -1380, -1380, -1380, -1380, -1380, -1380, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, -1380, 1965, 1971, + 1972, 1974, 1978, 1987, 10060, 10084, 10108, 10132, 10156, 10180, + 10204, 10228, 10252, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 676, 2499, + 677, 2499, 699, 2499, 744, 2499, 745, 2499, 748, 2499, + 10276, 10300, 10324, 10348, 10372, 10396, 10420, 10444, 10468, 2691, + 2167, 2691, 2168, 2691, 2169, 2691, 2173, 2691, 2175, 2691, + 2176, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, + 2499, -1380, 2499, -1380, 2499, -1380, 2499, -1380, 2499, -1380, + 2499, -1380, 10492, 10516, 10540, 10564, 10588, 10612, 13556, 13579, + 13602, 2691, 2691, 2691, 2691, 2691, 2691, -1380, -1380, -1380, + 10636, 10660, 10684, 10708, 10732, 10756, 1988, 1989, 1990, 2691, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 10780, 10804, + 10828, 10852, 10876, 10900, 749, 2499, 768, 2499, 769, 2499, + 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2177, 2691, 2179, + 2691, 2191, 10924, 10948, 10972, 13625, 13648, 13671, 2499, -1380, + 2499, -1380, 2499, -1380, 2691, 2691, 2691, -1380, -1380, -1380, + 10996, 11020, 11044, 1992, 1993, 1994, 2691, 2691, 2691, 2691, + 2691, 2691, 11068, 11092, 11116, 772, 2499, 775, 2499, 776, + 2499, 2691, 2691, 2691, 2691, 2195, 2691, 2196, 2691, 2197, + 11140, 11164, 11188, 2499, -1380, 2499, -1380, 2499, -1380, 2691, + 2691, 2691, 11212, 11236, 11260, 2691, 2691, 2691, 11284, 11308, + 11332, 2691, 2691, 2691, 13694, 13717, 13740, -1380, -1380, -1380, + 2007, 2008, 2009, 2691, 2691, 2691, 783, 2499, 803, 2499, + 807, 2499, 2691, 2210, 2691, 2211, 2691, 2212, 2499, -1380, + 2499, -1380, 2499, -1380 }; - -#define YYLAST 13321 - - -static const short yytable[] = { 142, - 210, 212, 76, 248, 141, 77, 564, 501, 537, 380, - 909, 184, 384, 187, 198, 177, 179, 208, 253, 749, - 213, 208, 152, 154, 146, 1067, 196, 1319, 1419, 1320, - 1422, 152, 201, 401, 99, 403, 1494, 5, 1068, 1340, - 1494, 1070, 390, 1494, 1413, 208, 124, 125, 126, 1414, - 124, 125, 126, 10, 86, 308, 488, 208, 255, 1413, - 256, 1260, 371, 372, 1414, 371, 372, 371, 372, 257, - 1269, 258, 900, 87, 124, 125, 126, 1276, 382, 555, - 1241, 1242, 1069, 373, 565, 1071, 124, 125, 126, 371, - 372, 315, 316, 317, 318, 319, 88, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 946, 301, 302, 303, - 522, 329, 304, 307, 627, 523, 312, 208, 1222, 628, - 1223, 371, 372, 332, 89, 333, 334, 335, 497, 337, - 90, 339, 340, 1128, 351, 406, 391, 91, 1413, 371, - 372, 92, 366, 1414, 368, 93, 124, 125, 126, 1433, - 375, 369, 370, 134, 135, 153, 1101, 148, 1102, 309, - 310, 851, 799, 800, 153, 355, 497, 1061, 371, 372, - 388, 389, 356, 392, 94, 394, 901, 902, 397, 398, - 1413, 99, 197, 95, 1493, 1414, 374, 755, 371, 372, - 11, 12, 13, 14, 15, 16, 17, 18, 743, 1497, - 769, 127, 128, 129, 130, 1332, 214, 371, 372, 371, - 372, 371, 372, 185, 191, 188, 199, 192, 209, 589, - 254, 750, 211, 444, 147, 500, 442, 202, 489, 490, - 491, 446, 447, 448, 449, 450, 451, 452, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 383, 1397, 259, 1247, 260, 1500, 1434, - 1494, 1413, 496, 1438, 1494, 734, 1414, 1494, 145, 502, - 735, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 1659, 134, 135, 1663, - 936, 1666, 528, 149, 530, 851, 371, 372, 149, 302, - 496, 154, 913, 1195, 150, 798, 596, 740, 541, 542, - 543, 544, 545, 1334, 547, 548, 549, 550, 551, 552, - 553, 558, 559, 371, 372, 497, 576, 577, 127, 128, - 129, 130, 566, 567, 568, 569, 151, 1413, 497, 578, - 937, 634, 1414, 1413, 134, 135, 970, 585, 1414, 134, - 135, 560, 560, 157, 563, 563, 593, 742, 1494, 155, - 1413, 1413, 1494, 1413, 1494, 1414, 1414, 156, 1414, 156, - 371, 372, 127, 128, 129, 130, 801, 1052, 158, 893, - 371, 372, 740, 1055, 1757, 173, 174, 1103, 1761, 1104, - 1763, 371, 372, 134, 135, 1116, 175, 1105, 261, 1106, - 262, 1710, 1117, 176, 633, 371, 372, 1341, 1336, 159, - 923, 745, 1184, 160, 371, 372, 1571, 1572, 1573, 1574, - 1086, 1087, 1490, 1578, 371, 372, 315, 316, 317, 318, - 319, 1496, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 1499, 954, 955, 956, 957, 329, 161, 738, 371, - 372, 302, 162, 6, 7, 1248, 8, 746, 166, 171, - 744, 1137, 315, 316, 317, 318, 319, 186, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 1714, 172, 496, - 756, 180, 329, 1716, 181, 134, 135, 182, 183, 738, - 767, 250, 496, 251, 771, 772, 1095, 1096, 134, 135, - 1803, 1805, 779, 1806, 492, 788, 251, 326, 327, 328, - 189, 190, 789, 790, 193, 329, 315, 316, 317, 318, - 319, 793, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 1672, 1673, 802, 194, 1676, 329, 497, 971, 263, - 195, 264, 898, 853, 812, 203, 814, 815, 205, 206, - 127, 128, 129, 130, 204, 1399, 318, 319, 246, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 497, 249, - 1078, 134, 135, 329, 163, 164, 207, 165, 1054, 1056, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 134, - 135, 297, 298, 852, 329, 533, 299, 251, 96, 341, - 497, 497, 497, 497, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 265, 1767, - 266, 317, 318, 319, 342, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 134, 135, 267, 894, 268, 329, - 768, 269, 251, 270, 311, 44, 45, 46, 47, 48, - 49, 44, 45, 46, 47, 314, 49, 313, 883, 884, - 324, 325, 326, 327, 328, 167, 330, 331, 168, 169, - 329, 170, 885, 886, 887, 888, 889, 890, 891, 352, - 271, 496, 272, 506, 336, 273, 897, 274, 338, 903, - 997, 998, 999, 1000, 1001, 353, 275, 915, 276, 912, - 354, 277, 1224, 278, 279, 906, 280, 281, 1842, 282, - 358, 283, 496, 284, 738, 285, 359, 286, 497, 287, - 289, 288, 290, 291, 360, 292, 929, 361, 293, 1010, - 294, 295, 365, 296, 950, 951, 952, 732, 740, 733, - 741, 362, 363, 364, 496, 496, 496, 496, 379, 396, - 960, 961, 376, 740, 964, 770, 740, 1063, 927, 1064, - 958, 977, 740, 387, 1077, 975, 976, 377, 378, 1897, - 986, 393, 395, 131, 343, 740, 740, 1107, 1108, 133, - 740, 740, 1109, 1110, 136, 1184, 740, 1185, 1202, 139, - 399, 344, 1184, 1060, 1342, 1184, 400, 1480, 1712, 405, - 1713, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, - 1033, 1034, 1035, 1036, 1037, 1038, 1039, 315, 316, 317, - 318, 319, 402, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 1725, 1314, 1726, 407, 852, 329, 1727, 408, - 1728, 1057, 404, 409, 1062, 315, 316, 317, 318, 319, - 1066, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 410, 1729, 496, 1730, 1079, 329, 1080, 315, 316, 317, - 318, 319, 411, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 1097, 1098, 1099, 412, 413, 329, 315, 316, - 317, 318, 319, 414, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 415, 1120, 1121, 1122, 1752, 329, 1753, - 1833, 1925, 1834, 1926, 1927, 416, 1928, 1929, 2056, 1930, - 2057, 1405, 315, 316, 317, 318, 319, 417, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 2058, 2060, 2059, - 2061, 437, 329, 2077, 418, 349, 1188, 2167, 2169, 2168, - 2170, 357, 1156, 419, 420, 315, 316, 317, 318, 319, - 421, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1325, 2171, 422, 2172, 381, 329, 2173, 423, 2174, 385, - 386, 2175, 440, 2176, 2177, 439, 2178, 1219, 2254, 2256, - 2255, 2257, 1189, 424, 2258, 2302, 2259, 2303, 2304, 1197, - 2305, 1198, 425, 426, 1251, 315, 316, 317, 318, 319, - 427, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1207, 1208, 1209, 1210, 1282, 329, 2306, 2350, 2307, 2351, - 428, 1225, 1218, 1228, 2352, 1231, 2353, 1326, 2354, 429, - 2355, 430, 431, 432, 433, 434, 435, 1238, 1239, 436, - 443, 329, 494, 441, 503, 504, 505, 539, 560, 1250, - 534, 563, 1253, 546, 554, 580, 581, 584, 587, 590, - 597, 598, 1263, 599, 600, 601, 602, 603, 604, 1270, - 1271, 1272, 605, 606, 607, 608, 1277, 609, 610, 611, - 1281, 612, 613, 614, 1283, 1284, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, - 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, - 625, 1348, 1318, 626, 629, 736, 630, 631, 737, 1322, - 747, 748, 315, 316, 317, 318, 319, 752, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 754, 1330, 757, - 758, 759, 329, 761, 763, 764, 773, 806, 787, 791, - 792, 807, 804, 808, 805, 1327, 811, 810, 96, 300, - 817, 1345, 818, 1346, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 819, 315, - 316, 317, 318, 319, 820, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 96, 300, 821, 822, 1431, 329, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 823, 848, 824, 825, 826, 1403, - 1404, 849, 1412, 881, 1418, 827, 1421, 828, 1411, 829, - 1417, 882, 1420, 892, 1423, 1424, 896, 899, 904, 830, - 1427, 831, 739, 905, 855, 907, 832, 560, 911, 1436, - 563, 856, 918, 920, 833, 834, 835, 1444, 836, 837, - 838, 839, 1449, 840, 841, 1452, 842, 1454, 1455, 1456, - 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, - 1477, 1478, 1479, 931, 932, 933, 843, 1482, 844, 368, - 845, 846, 1487, 847, 301, 302, 1488, 315, 316, 317, - 318, 319, 850, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 857, 131, 132, 858, 859, 329, 930, 133, - 860, 861, 862, 863, 136, 864, 865, 305, 866, 139, - 867, 306, 868, 869, 870, 871, 872, 1570, 873, 874, - 875, 876, 315, 316, 317, 318, 319, 877, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 878, 879, 131, - 132, 880, 329, 934, 908, 133, 935, 938, 939, 1245, - 136, 1246, 940, 765, 941, 139, 1554, 766, 942, 943, - 944, 945, 1559, 965, 953, 1563, 959, 967, 972, 973, - 974, 978, 979, 980, 981, 982, 985, 987, 988, 991, - 1622, 992, 993, 994, 995, 1004, 1051, 1007, 1005, 1586, - 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, - 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, - 1006, 1608, 1008, 1609, 315, 316, 317, 318, 319, 1009, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 1011, - 1012, 1053, 1671, 1058, 329, 1059, 96, 300, 1065, 1084, - 1073, 524, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 1075, 1076, 1085, 1100, - 1113, 1114, 1119, 1123, 1706, 1124, 916, 917, 1125, 919, - 1129, 921, 922, 1130, 1131, 1132, 1133, 1134, 1157, 1135, - 1139, 1136, 1140, 1138, 1141, 1679, 1681, 1683, 1684, 1685, - 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, - 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1142, - 1143, 1144, 1145, 1146, 962, 963, 1147, 1505, 966, 1148, - 1766, 1153, 1149, 1150, 1151, 1152, 1190, 1154, 1155, 1191, - 1186, 1240, 1243, 1193, 538, 983, 984, 1199, 1200, 1204, - 1201, 989, 990, 1205, 1206, 1211, 1212, 1213, 996, 1214, - 1003, 1215, 1216, 1217, 1226, 1229, 1232, 1234, 1235, 1236, - 1237, 1252, 1255, 1798, 1256, 1801, 1809, 1258, 1257, 1259, - 1261, 1262, 1264, 1265, 1315, 1765, 1268, 1266, 1267, 1275, - 1274, 1771, 1278, 1773, 1279, 1775, 1280, 1777, 1778, 1779, - 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, - 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1310, 1841, - 1311, 131, 132, 1312, 1313, 1316, 1317, 133, 1321, 1328, - 1344, 1349, 136, 1329, 1351, 925, 1072, 139, 1074, 926, - 1400, 1432, 1352, 1331, 1333, 591, 1335, 1337, 1343, 1081, - 1082, 1083, 1353, 1354, 1865, 1355, 1088, 1089, 1090, 1091, - 1092, 1093, 1094, 1357, 1363, 1435, 1358, 1359, 1364, 1365, - 1437, 1368, 1425, 1839, 1840, 1367, 1398, 1370, 1439, 1440, - 1441, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, - 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 315, - 316, 317, 318, 319, 1442, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 315, 316, 317, 318, 319, 329, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 1443, - 1445, 1447, 1448, 1893, 329, 753, 1450, 1451, 1899, 1901, - 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, - 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1453, - 1492, 1481, 1483, 1670, 1491, 1507, 1546, 1512, 1552, 1513, - 1517, 1582, 1187, 928, 315, 316, 317, 318, 319, 1556, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 1557, - 1560, 1952, 1486, 1954, 329, 1956, 493, 1958, 1959, 1960, - 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, - 1971, 1972, 1973, 1974, 1975, 315, 316, 317, 318, 319, - 1503, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1504, 1506, 1508, 1509, 1510, 329, 1515, 1244, 1519, 1548, - 1625, 1561, 969, 1564, 1565, 1254, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, - 2013, 1566, 1569, 1575, 1273, 1576, 1577, 1579, 1580, 1581, - 1610, 1613, 1615, 1621, 1616, 1618, 1620, 1626, 1623, 1657, - 1624, 2035, 2037, 2039, 2040, 2041, 2042, 2043, 2044, 2045, - 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 1627, - 1628, 1656, 1309, 1629, 1658, 315, 316, 317, 318, 319, - 1630, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 1631, 1653, 2078, 1660, 2080, 329, 2082, 1664, 2084, 2085, - 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, - 2096, 2097, 2098, 315, 316, 317, 318, 319, 1667, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 1674, 1675, - 1677, 1720, 1708, 329, 1709, 1711, 1756, 1715, 1723, 1717, - 1724, 1718, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, - 2130, 1719, 1721, 1722, 1759, 1754, 1760, 1755, 1762, 1764, - 1769, 1770, 1772, 1774, 1776, 1799, 1802, 2147, 2149, 2151, - 2153, 2155, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, - 2165, 2166, 315, 316, 317, 318, 319, 1804, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 1807, 1810, 1811, - 1835, 1836, 329, 2188, 1837, 2190, 1838, 2192, 1866, 2194, - 1869, 2196, 1872, 2198, 1870, 2200, 2201, 2202, 2203, 2204, - 2205, 2206, 2207, 2208, 1871, 1894, 1873, 1874, 1923, 1895, - 1949, 1426, 1951, 1953, 1924, 1430, 1955, 1957, 2079, 2081, - 2083, 1976, 2014, 2115, 2055, 2218, 2219, 2220, 2221, 2222, - 2223, 1446, 2015, 2016, 2017, 2131, 2132, 2099, 2133, 2134, - 2135, 2189, 2191, 2236, 2237, 2238, 2239, 2240, 2241, 2243, - 2245, 2247, 2136, 2193, 2195, 2197, 2199, 2233, 2234, 2235, - 2267, 2269, 2271, 2287, 2260, 2261, 2262, 2263, 2264, 2265, - 2266, 2288, 2268, 2312, 2270, 2289, 2314, 2316, 2341, 2342, - 2343, 2357, 2359, 2361, 2363, 2364, 854, 75, 2278, 2279, - 2280, 83, 0, 0, 1192, 0, 0, 0, 0, 0, - 2290, 2291, 2292, 2294, 2296, 2298, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2308, 2309, 2310, 2311, 0, - 2313, 0, 2315, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2320, 2321, 2322, 0, 0, 0, 2326, - 2327, 2328, 0, 0, 0, 2332, 2333, 2334, 0, 0, - 0, 0, 1549, 1550, 0, 0, 0, 2345, 2347, 2349, - 1555, 0, 0, 0, 0, 0, 2356, 0, 2358, 0, - 2360, 1567, 1568, 96, 535, 0, 0, 0, 0, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 300, 0, 0, 1611, 1612, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 0, 0, 0, 96, 97, 98, 0, - 99, 0, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 0, 124, 125, 126, - 0, 0, 0, 1662, 96, 341, 0, 0, 1669, 0, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, - 342, 570, 28, 29, 571, 572, 32, 573, 34, 0, - 35, 0, 37, 38, 39, 0, 41, 42, 0, 0, - 0, 44, 45, 46, 47, 48, 49, 0, 0, 0, - 0, 0, 0, 54, 0, 0, 0, 0, 131, 132, - 0, 0, 0, 0, 133, 0, 0, 0, 0, 136, - 0, 0, 0, 0, 139, 0, 536, 0, 0, 0, - 1758, 0, 0, 56, 57, 58, 0, 0, 0, 0, - 1768, 0, 0, 0, 0, 0, 0, 0, 1408, 1409, - 0, 68, 0, 0, 133, 0, 0, 0, 0, 1410, - 0, 0, 0, 0, 139, 0, 176, 127, 128, 129, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 132, 0, 0, 0, 0, 133, 134, 135, - 0, 0, 136, 0, 137, 0, 138, 139, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 131, - 495, 0, 0, 0, 0, 133, 0, 774, 0, 1843, - 136, 0, 96, 300, 208, 139, 0, 0, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 0, 124, 125, 126, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 96, 300, 0, 329, 0, 1896, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 493, 96, 535, 0, 0, - 556, 1950, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 0, 570, 28, 29, - 571, 572, 32, 573, 34, 0, 35, 0, 37, 38, - 39, 0, 41, 42, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1995, 0, 0, 0, 0, 54, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 131, 132, 0, - 329, 0, 0, 133, 0, 0, 0, 556, 136, 56, - 57, 58, 2033, 139, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, -7, 1, - 0, -12, -55, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 131, 132, - 0, 0, 0, 329, 133, 0, 0, 0, 0, 136, - 1406, -55, 1407, 0, 139, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, 0, -55, -55, -55, -55, - -55, -55, -55, -55, 0, 0, 0, -55, -55, -55, - -55, -55, -55, -55, 0, -55, -55, -55, -55, -55, - 0, 131, 132, 0, 0, 0, 0, 133, 0, 0, - 0, 0, 136, 0, 0, 574, 0, 139, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -55, -55, - -55, -55, 0, 0, 0, 0, -55, 0, -55, 0, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - 570, 28, 29, 571, 572, 32, 573, 34, 0, 35, - 0, 37, 38, 39, 0, 41, 42, 0, -12, -12, - -12, -12, -12, -12, -12, -12, 0, 315, 316, 317, - 318, 319, 54, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, -7, -7, 0, -7, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 778, 0, 0, 0, - 0, 0, 56, 57, 58, 0, 570, 28, 29, 571, - 572, 32, 573, 34, 0, 35, 0, 37, 38, 39, - 68, 41, 42, 0, 0, 0, 0, 0, 0, 0, - 570, 28, 29, 571, 572, 32, 573, 34, 54, 35, - 0, 37, 38, 39, 0, 41, 42, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 0, 0, 0, 56, 57, - 58, 0, 570, 28, 29, 571, 572, 32, 573, 34, - 0, 35, 0, 37, 38, 39, 68, 41, 42, 0, - 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 0, 0, 579, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 218, 219, 0, 0, 56, 57, 58, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 0, 0, 0, - 0, 0, 68, 0, 0, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 0, 240, 241, 242, 243, - 244, 245, 0, 0, 594, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 525, 595, 635, - 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 659, 660, 661, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, - 813, 635, 636, 637, 638, 639, 640, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 659, 660, 661, 24, 0, - 0, 0, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 0, 35, 36, 37, 38, 39, 40, 41, - 42, 0, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 50, 51, 52, 53, 54, 0, 0, 0, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 0, 662, 0, 55, 56, 57, 58, 780, - 0, 0, 0, 59, 0, 60, 0, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 1013, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 781, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 924, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 949, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 315, 316, 317, 318, 319, 1220, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 315, 316, 317, - 318, 319, 1428, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 1429, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 1489, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 1495, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 315, 316, 317, 318, 319, 1498, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 315, 316, 317, - 318, 319, 1501, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 1502, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 1551, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 1614, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 315, 316, 317, 318, 319, 1617, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 315, 316, 317, - 318, 319, 1619, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 0, - 0, 315, 316, 317, 318, 319, 1655, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 315, 316, 317, 318, 319, - 1868, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 315, - 316, 317, 318, 319, 1922, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 557, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 588, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 712, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 713, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 726, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 727, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 728, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 729, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 730, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 731, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 794, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 795, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 796, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 914, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 947, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 948, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 968, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1111, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1112, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1126, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1127, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1158, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1159, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1160, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1161, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1162, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1163, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1164, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1165, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1166, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1167, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1168, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1169, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1170, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1171, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1172, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1173, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1174, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1175, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1176, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1177, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1178, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1179, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1180, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1181, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1182, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1183, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1196, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1203, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1323, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1324, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1338, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1339, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1347, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1350, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1361, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1366, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1369, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1371, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1372, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1373, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1374, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1375, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1376, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1377, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1378, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1379, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1380, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1381, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1382, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1383, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1384, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1385, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1386, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1387, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1388, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1389, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1390, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1391, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1392, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1393, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1394, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1395, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1396, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1401, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1402, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1511, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1523, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1524, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1525, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1526, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1527, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1528, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1529, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1530, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1531, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1532, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1533, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1534, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1535, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1536, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1537, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1538, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1539, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1540, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1541, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1542, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1543, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1545, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1547, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1632, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1633, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1634, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1635, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1636, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1637, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1638, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1639, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1640, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1641, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1642, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1643, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1644, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1645, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1646, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1647, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1648, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1649, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1650, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1651, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1652, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1731, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1732, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1733, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1734, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1735, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1736, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1737, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1738, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1739, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1740, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1741, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1742, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1743, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1744, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1745, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1746, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1747, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1748, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1749, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1750, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1751, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1808, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1815, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1816, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1817, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1818, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1819, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1820, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1821, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1822, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1823, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1824, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1825, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1826, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1827, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1828, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1829, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1830, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1831, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1832, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1867, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1875, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1876, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1877, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1878, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1879, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1880, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1881, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1882, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1883, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1884, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1885, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1886, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1887, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1888, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1889, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1890, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1891, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1892, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1931, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1932, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1933, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1934, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1935, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1936, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1937, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1938, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1939, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1940, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1941, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1942, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1943, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1944, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1945, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1946, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1947, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1948, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1980, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1981, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1982, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1983, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1984, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1985, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1986, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1987, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1988, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1989, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 1990, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 1991, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 1992, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 1993, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 1994, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2018, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2019, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2020, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2021, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2022, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2023, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2024, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2025, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2026, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2027, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2028, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2029, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2030, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2031, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2032, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2062, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2063, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2064, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2065, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2066, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2067, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2068, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2069, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2070, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2071, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2072, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2073, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2074, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2075, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2076, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2106, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2107, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2108, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2109, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2110, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2111, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2112, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2113, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2114, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2137, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2138, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2139, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2140, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2141, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2142, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2143, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2144, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2145, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2179, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2180, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2181, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2182, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2183, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2184, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2185, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2186, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2187, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2209, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2210, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2211, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2212, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2213, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2214, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2227, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2228, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2229, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2230, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2231, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2232, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2248, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2249, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2250, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2251, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2252, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2253, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2272, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2273, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2274, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2284, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2285, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2286, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2299, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2300, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2301, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2317, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2318, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2323, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 315, 316, 317, 318, 319, 2324, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 315, 316, 317, 318, 319, - 2325, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 315, 316, 317, - 318, 319, 2329, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 315, - 316, 317, 318, 319, 2330, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 315, 316, 317, 318, 319, 2331, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 499, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 632, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 691, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 693, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 695, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 697, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 699, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 701, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 703, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 705, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 707, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 709, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 711, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 715, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 717, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 719, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 721, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 723, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 725, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 797, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 803, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 895, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 1043, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 1045, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 1047, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 1049, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 0, 0, 1050, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, - 1194, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 526, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 527, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 529, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 531, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 532, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 540, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 582, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 583, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 586, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 592, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 690, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 692, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 694, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 696, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 698, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 700, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 702, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 704, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 706, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 708, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 710, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 714, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 716, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 718, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 720, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 722, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 724, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 760, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 762, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 775, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 776, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 777, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 782, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 783, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 784, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 785, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 786, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 809, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 816, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 1042, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 1044, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 1046, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 1048, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 1115, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 1221, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 1249, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 1356, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 1360, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 1362, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 1484, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 1485, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 1514, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 1516, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 1518, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 1520, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 1521, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 1522, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 1544, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 1654, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 1812, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 1813, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 1814, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 1977, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 1978, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 1979, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 2100, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 2101, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 2102, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 2103, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 2104, 315, 316, 317, 318, 319, 0, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, - 0, 329, 0, 2105, 315, 316, 317, 318, 319, 0, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 0, - 0, 0, 0, 0, 329, 0, 2215, 315, 316, 317, - 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 0, 0, 0, 0, 0, 329, 0, 2216, - 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, - 329, 0, 2217, 315, 316, 317, 318, 319, 0, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 0, 0, - 0, 0, 0, 329, 0, 2275, 315, 316, 317, 318, - 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 0, 0, 0, 0, 0, 329, 0, 2276, 315, - 316, 317, 318, 319, 0, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 0, 0, 0, 0, 0, 329, - 0, 2277, 315, 316, 317, 318, 319, 0, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 0, 0, 0, - 0, 0, 329, 0, 2335, 315, 316, 317, 318, 319, - 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 0, 0, 0, 0, 0, 329, 0, 2336, 315, 316, - 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 0, 0, 0, 0, 0, 329, 0, - 2337 +/* YYPGOTO[NTERM-NUM]. */ +static const short yypgoto[] = +{ + -1380, -1380, -81, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, 1583, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1380, + -1380, -1380, -1380, -1380, -303, -22, -1380, 2215, 0, -370, + -177, 3, -1380, -1380, -1380, -1380, -1380, 2216, -1380, -1380, + -1380, -1380, -1380, -1380, -1380, -1380, -1380, -1308, -1379, -1380, + -1380, -1073, -25, -1380, -31, -1380, -92, -1380, -1205, -1037, + 827, -179, -337, -741, 1173, -1380, -70 }; -static const short yycheck[] = { 23, - 69, 70, 4, 94, 23, 4, 374, 308, 344, 185, - 750, 4, 188, 4, 4, 45, 46, 5, 4, 4, - 3, 5, 66, 66, 6, 6, 43, 6, 1335, 6, - 1337, 66, 4, 209, 7, 211, 1415, 6, 6, 1240, - 1419, 6, 105, 1422, 67, 5, 34, 35, 36, 72, - 34, 35, 36, 3, 169, 4, 4, 5, 199, 67, - 201, 1133, 188, 189, 72, 188, 189, 188, 189, 199, - 1142, 201, 4, 7, 34, 35, 36, 1149, 6, 205, - 1116, 1117, 50, 206, 205, 50, 34, 35, 36, 188, - 189, 178, 179, 180, 181, 182, 6, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 205, 131, 132, 133, - 200, 198, 136, 137, 200, 205, 140, 5, 205, 205, - 207, 188, 189, 147, 6, 149, 150, 151, 306, 153, - 6, 155, 156, 200, 158, 215, 199, 6, 67, 188, - 189, 6, 172, 72, 174, 199, 34, 35, 36, 1350, - 180, 175, 176, 195, 196, 199, 205, 6, 207, 108, - 109, 203, 206, 206, 199, 199, 344, 907, 188, 189, - 194, 195, 206, 197, 199, 199, 108, 109, 202, 203, - 67, 7, 199, 199, 207, 72, 206, 523, 188, 189, - 140, 141, 142, 143, 144, 145, 146, 147, 499, 207, - 536, 174, 175, 176, 177, 205, 189, 188, 189, 188, - 189, 188, 189, 206, 39, 206, 206, 42, 206, 395, - 206, 206, 206, 253, 206, 7, 250, 199, 297, 298, - 299, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 201, 1310, 199, 8, 201, 207, 1351, - 1659, 67, 306, 1355, 1663, 200, 72, 1666, 199, 308, - 205, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 1613, 195, 196, 1616, - 6, 1618, 336, 199, 338, 203, 188, 189, 199, 343, - 344, 66, 200, 1063, 199, 206, 406, 205, 352, 353, - 354, 355, 356, 205, 358, 359, 360, 361, 362, 363, - 364, 371, 372, 188, 189, 523, 6, 7, 174, 175, - 176, 177, 376, 377, 378, 379, 199, 67, 536, 383, - 56, 206, 72, 67, 195, 196, 8, 391, 72, 195, - 196, 373, 374, 47, 373, 374, 400, 203, 1757, 199, - 67, 67, 1761, 67, 1763, 72, 72, 199, 72, 199, - 188, 189, 174, 175, 176, 177, 206, 200, 199, 735, - 188, 189, 205, 7, 1711, 188, 189, 205, 1715, 207, - 1717, 188, 189, 195, 196, 199, 199, 205, 199, 207, - 201, 207, 206, 206, 443, 188, 189, 200, 205, 43, - 766, 500, 205, 43, 188, 189, 1508, 1509, 1510, 1511, - 57, 58, 205, 1515, 188, 189, 178, 179, 180, 181, - 182, 205, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 205, 798, 799, 800, 801, 198, 43, 492, 188, - 189, 495, 43, 165, 166, 207, 168, 501, 45, 199, - 499, 200, 178, 179, 180, 181, 182, 43, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 207, 206, 523, - 524, 206, 198, 207, 39, 195, 196, 42, 43, 533, - 534, 201, 536, 203, 538, 539, 6, 7, 195, 196, - 207, 207, 546, 207, 201, 555, 203, 190, 191, 192, - 6, 6, 556, 557, 4, 198, 178, 179, 180, 181, - 182, 565, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 1623, 1624, 577, 199, 1627, 198, 735, 200, 199, - 199, 201, 740, 632, 588, 199, 590, 591, 4, 4, - 174, 175, 176, 177, 6, 1315, 181, 182, 199, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 766, 5, - 926, 195, 196, 198, 42, 43, 43, 45, 899, 900, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 195, - 196, 199, 199, 632, 198, 201, 199, 203, 3, 4, - 798, 799, 800, 801, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 199, 1721, - 201, 180, 181, 182, 39, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 195, 196, 199, 736, 201, 198, - 201, 199, 203, 201, 4, 60, 61, 62, 63, 64, - 65, 60, 61, 62, 63, 6, 65, 6, 712, 713, - 188, 189, 190, 191, 192, 39, 6, 5, 42, 43, - 198, 45, 726, 727, 728, 729, 730, 731, 732, 206, - 199, 735, 201, 6, 199, 199, 740, 201, 199, 743, - 125, 126, 127, 128, 129, 199, 199, 757, 201, 753, - 199, 199, 1100, 201, 199, 6, 201, 199, 1810, 201, - 206, 199, 766, 201, 768, 199, 206, 201, 926, 199, - 199, 201, 201, 199, 199, 201, 6, 199, 199, 850, - 201, 199, 4, 201, 794, 795, 796, 201, 205, 203, - 207, 199, 199, 199, 798, 799, 800, 801, 201, 111, - 804, 805, 206, 205, 808, 207, 205, 205, 207, 207, - 6, 821, 205, 6, 207, 819, 820, 206, 206, 1871, - 830, 203, 206, 188, 189, 205, 205, 207, 207, 194, - 205, 205, 207, 207, 199, 205, 205, 207, 207, 204, - 6, 206, 205, 6, 207, 205, 199, 207, 205, 3, - 207, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, - 874, 875, 876, 877, 878, 879, 880, 178, 179, 180, - 181, 182, 6, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 205, 6, 207, 199, 895, 198, 205, 199, - 207, 900, 6, 199, 908, 178, 179, 180, 181, 182, - 914, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 199, 205, 926, 207, 928, 198, 930, 178, 179, 180, - 181, 182, 199, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 946, 947, 948, 199, 199, 198, 178, 179, - 180, 181, 182, 199, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 199, 968, 969, 970, 205, 198, 207, - 205, 205, 207, 207, 205, 199, 207, 205, 205, 207, - 207, 1329, 178, 179, 180, 181, 182, 199, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 205, 205, 207, - 207, 5, 198, 2055, 199, 157, 1055, 205, 205, 207, - 207, 163, 1011, 199, 199, 178, 179, 180, 181, 182, - 199, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 6, 205, 199, 207, 186, 198, 205, 199, 207, 191, - 192, 205, 200, 207, 205, 205, 207, 1096, 205, 205, - 207, 207, 1056, 199, 205, 205, 207, 207, 205, 1069, - 207, 1071, 199, 199, 1124, 178, 179, 180, 181, 182, - 199, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 1084, 1085, 1086, 1087, 1155, 198, 205, 205, 207, 207, - 199, 1101, 1096, 1103, 205, 1105, 207, 6, 205, 199, - 207, 199, 199, 199, 199, 199, 199, 1111, 1112, 199, - 4, 198, 7, 205, 203, 7, 201, 7, 1100, 1123, - 206, 1100, 1126, 7, 200, 7, 7, 106, 108, 206, - 5, 5, 1136, 5, 5, 5, 5, 5, 5, 1143, - 1144, 1145, 5, 5, 5, 5, 1150, 5, 5, 5, - 1154, 5, 5, 5, 1158, 1159, 1160, 1161, 1162, 1163, - 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, - 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 5, 5, 5, 5, 5, 158, 5, 5, 5, 5, - 3, 1251, 1196, 5, 5, 205, 6, 5, 200, 1203, - 6, 4, 178, 179, 180, 181, 182, 202, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 6, 1222, 7, - 7, 7, 198, 7, 7, 7, 7, 7, 203, 207, - 207, 7, 206, 199, 206, 6, 203, 7, 3, 4, - 170, 1245, 205, 1247, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 205, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 3, 4, 205, 205, 1348, 198, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 205, 5, 205, 205, 205, 1323, - 1324, 200, 1332, 206, 1334, 205, 1336, 205, 1332, 205, - 1334, 6, 1336, 4, 1338, 1339, 6, 202, 6, 205, - 1344, 205, 494, 6, 199, 7, 205, 1329, 6, 1353, - 1329, 199, 7, 7, 205, 205, 205, 1361, 205, 205, - 205, 205, 1366, 205, 205, 1369, 205, 1371, 1372, 1373, - 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, - 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, - 1394, 1395, 1396, 7, 7, 7, 205, 1401, 205, 1409, - 205, 205, 1406, 205, 1408, 1409, 1410, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 199, 188, 189, 199, 199, 198, 206, 194, - 199, 199, 199, 199, 199, 199, 199, 202, 199, 204, - 199, 206, 199, 199, 199, 199, 199, 1507, 199, 199, - 199, 199, 178, 179, 180, 181, 182, 199, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 199, 199, 188, - 189, 199, 198, 7, 201, 194, 7, 7, 7, 205, - 199, 207, 7, 202, 7, 204, 1490, 206, 7, 7, - 7, 4, 1496, 7, 6, 1499, 6, 4, 7, 171, - 3, 3, 3, 190, 3, 3, 3, 3, 3, 3, - 1570, 3, 3, 3, 3, 3, 200, 3, 5, 1523, - 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, - 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, - 5, 1545, 3, 1547, 178, 179, 180, 181, 182, 6, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 4, - 6, 200, 1622, 203, 198, 7, 3, 4, 6, 199, - 6, 205, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 6, 6, 199, 206, - 6, 6, 107, 206, 1653, 167, 758, 759, 205, 761, - 205, 763, 764, 200, 205, 200, 205, 200, 6, 205, - 200, 205, 200, 205, 205, 1629, 1630, 1631, 1632, 1633, - 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, - 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 205, - 205, 205, 205, 205, 806, 807, 200, 6, 810, 205, - 1720, 200, 205, 205, 205, 205, 6, 205, 205, 4, - 203, 7, 107, 6, 8, 827, 828, 6, 6, 6, - 202, 833, 834, 6, 6, 6, 6, 6, 840, 6, - 842, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 3, 6, 1752, 3, 1754, 1766, 190, 6, 6, - 6, 3, 6, 3, 7, 1719, 3, 6, 6, 3, - 6, 1725, 3, 1727, 3, 1729, 6, 1731, 1732, 1733, - 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 206, 1809, - 4, 188, 189, 6, 6, 6, 203, 194, 202, 6, - 104, 200, 199, 206, 205, 202, 918, 204, 920, 206, - 109, 6, 205, 207, 206, 8, 206, 206, 206, 931, - 932, 933, 205, 200, 1833, 205, 938, 939, 940, 941, - 942, 943, 944, 205, 205, 3, 200, 200, 200, 200, - 6, 200, 107, 1807, 1808, 205, 200, 205, 6, 3, - 6, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, - 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 178, - 179, 180, 181, 182, 6, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 178, 179, 180, 181, 182, 198, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 6, - 6, 6, 6, 1867, 198, 8, 3, 6, 1872, 1873, - 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, - 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 5, - 206, 6, 5, 104, 6, 167, 6, 200, 6, 200, - 200, 5, 1054, 8, 178, 179, 180, 181, 182, 6, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 6, - 6, 1925, 207, 1927, 198, 1929, 200, 1931, 1932, 1933, - 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, - 1944, 1945, 1946, 1947, 1948, 178, 179, 180, 181, 182, - 206, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 205, 207, 205, 205, 205, 198, 205, 1119, 205, 205, - 200, 6, 8, 6, 6, 1127, 1980, 1981, 1982, 1983, - 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, - 1994, 6, 6, 6, 1146, 6, 6, 6, 6, 6, - 5, 206, 205, 207, 206, 206, 205, 200, 205, 6, - 205, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, - 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 205, - 205, 205, 1184, 206, 6, 178, 179, 180, 181, 182, - 206, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 206, 206, 2056, 6, 2058, 198, 2060, 6, 2062, 2063, - 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, - 2074, 2075, 2076, 178, 179, 180, 181, 182, 6, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 6, 6, - 5, 167, 6, 198, 5, 206, 6, 206, 200, 206, - 200, 207, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, - 2114, 206, 205, 205, 6, 206, 6, 207, 6, 104, - 6, 6, 6, 6, 6, 6, 6, 2131, 2132, 2133, - 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, - 2144, 2145, 178, 179, 180, 181, 182, 207, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 206, 205, 205, - 6, 6, 198, 2167, 6, 2169, 6, 2171, 6, 2173, - 172, 2175, 206, 2177, 205, 2179, 2180, 2181, 2182, 2183, - 2184, 2185, 2186, 2187, 205, 6, 206, 206, 205, 173, - 6, 1343, 6, 6, 200, 1347, 6, 6, 6, 6, - 6, 205, 205, 6, 205, 2209, 2210, 2211, 2212, 2213, - 2214, 1363, 206, 206, 206, 206, 206, 200, 206, 206, - 206, 6, 6, 2227, 2228, 2229, 2230, 2231, 2232, 2233, - 2234, 2235, 206, 6, 6, 6, 6, 206, 206, 206, - 6, 6, 6, 206, 2248, 2249, 2250, 2251, 2252, 2253, - 2254, 206, 2256, 6, 2258, 206, 6, 6, 206, 206, - 206, 6, 6, 6, 0, 0, 634, 4, 2272, 2273, - 2274, 4, -1, -1, 1059, -1, -1, -1, -1, -1, - 2284, 2285, 2286, 2287, 2288, 2289, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2299, 2300, 2301, 2302, -1, - 2304, -1, 2306, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2317, 2318, 2319, -1, -1, -1, 2323, - 2324, 2325, -1, -1, -1, 2329, 2330, 2331, -1, -1, - -1, -1, 1484, 1485, -1, -1, -1, 2341, 2342, 2343, - 1492, -1, -1, -1, -1, -1, 2350, -1, 2352, -1, - 2354, 1503, 1504, 3, 4, -1, -1, -1, -1, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3, 4, -1, -1, 1549, 1550, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, -1, 3, 4, 5, -1, - 7, -1, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, - -1, -1, -1, 1615, 3, 4, -1, -1, 1620, -1, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, - 39, 39, 40, 41, 42, 43, 44, 45, 46, -1, - 48, -1, 50, 51, 52, -1, 54, 55, -1, -1, - -1, 60, 61, 62, 63, 64, 65, -1, -1, -1, - -1, -1, -1, 71, -1, -1, -1, -1, 188, 189, - -1, -1, -1, -1, 194, -1, -1, -1, -1, 199, - -1, -1, -1, -1, 204, -1, 206, -1, -1, -1, - 1712, -1, -1, 101, 102, 103, -1, -1, -1, -1, - 1722, -1, -1, -1, -1, -1, -1, -1, 188, 189, - -1, 119, -1, -1, 194, -1, -1, -1, -1, 199, - -1, -1, -1, -1, 204, -1, 206, 174, 175, 176, - 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 188, 189, -1, -1, -1, -1, 194, 195, 196, - -1, -1, 199, -1, 201, -1, 203, 204, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, 188, - 189, -1, -1, -1, -1, 194, -1, 207, -1, 1811, - 199, -1, 3, 4, 5, 204, -1, -1, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, -1, 34, 35, 36, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, 3, 4, -1, 198, -1, 1870, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 3, 4, -1, -1, - 205, 1923, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, -1, 39, 40, 41, - 42, 43, 44, 45, 46, -1, 48, -1, 50, 51, - 52, -1, 54, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1976, -1, -1, -1, -1, 71, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, 188, 189, -1, - 198, -1, -1, 194, -1, -1, -1, 205, 199, 101, - 102, 103, 2014, 204, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 119, 0, 1, - -1, 3, 4, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 188, 189, - -1, -1, -1, 198, 194, -1, -1, -1, -1, 199, - 205, 33, 207, -1, 204, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, -1, 48, 49, 50, 51, - 52, 53, 54, 55, -1, -1, -1, 59, 60, 61, - 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, - -1, 188, 189, -1, -1, -1, -1, 194, -1, -1, - -1, -1, 199, -1, -1, 207, -1, 204, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, - 102, 103, -1, -1, -1, -1, 108, -1, 110, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 39, 40, 41, 42, 43, 44, 45, 46, -1, 48, - -1, 50, 51, 52, -1, 54, 55, -1, 140, 141, - 142, 143, 144, 145, 146, 147, -1, 178, 179, 180, - 181, 182, 71, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, 165, 166, -1, 168, 198, -1, -1, - -1, -1, -1, -1, -1, -1, 207, -1, -1, -1, - -1, -1, 101, 102, 103, -1, 39, 40, 41, 42, - 43, 44, 45, 46, -1, 48, -1, 50, 51, 52, - 119, 54, 55, -1, -1, -1, -1, -1, -1, -1, - 39, 40, 41, 42, 43, 44, 45, 46, 71, 48, - -1, 50, 51, 52, -1, 54, 55, -1, -1, 42, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 71, -1, -1, -1, -1, -1, 101, 102, - 103, -1, 39, 40, 41, 42, 43, 44, 45, 46, - -1, 48, -1, 50, 51, 52, 119, 54, 55, -1, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 71, -1, -1, -1, 207, -1, - 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, -1, -1, 101, 102, 103, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, -1, -1, -1, - -1, -1, 119, -1, -1, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, -1, 159, 160, 161, 162, - 163, 164, -1, -1, 207, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 207, 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, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, - 207, 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, 33, -1, - -1, -1, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, -1, -1, -1, 59, 60, 61, 62, 63, 64, - 65, -1, 67, 68, 69, 70, 71, -1, -1, -1, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, -1, 207, -1, 100, 101, 102, 103, 207, - -1, -1, -1, 108, -1, 110, -1, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, 207, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, -1, -1, 178, 179, 180, 181, 182, 207, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, -1, -1, 178, 179, 180, - 181, 182, 207, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, -1, -1, 178, 179, 180, 181, 182, 207, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, -1, -1, 178, 179, 180, - 181, 182, 207, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, -1, -1, 178, 179, 180, 181, 182, 207, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, -1, -1, 178, 179, 180, - 181, 182, 207, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, -1, - -1, 178, 179, 180, 181, 182, 207, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 178, 179, 180, 181, 182, - 207, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, -1, -1, 178, - 179, 180, 181, 182, 207, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 178, 179, 180, 181, 182, 205, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 178, 179, 180, 181, 182, - 205, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 178, 179, 180, - 181, 182, 205, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 178, - 179, 180, 181, 182, 205, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 178, 179, 180, 181, 182, 205, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, -1, -1, 202, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, - 202, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200, 178, 179, 180, 181, 182, -1, 184, 185, 186, - 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, - -1, 198, -1, 200, 178, 179, 180, 181, 182, -1, - 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, - -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, - 181, 182, -1, 184, 185, 186, 187, 188, 189, 190, - 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, - 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, - 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, - 198, -1, 200, 178, 179, 180, 181, 182, -1, 184, - 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, - -1, -1, -1, 198, -1, 200, 178, 179, 180, 181, - 182, -1, 184, 185, 186, 187, 188, 189, 190, 191, - 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, - 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, - 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, - -1, 200, 178, 179, 180, 181, 182, -1, 184, 185, - 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, - -1, -1, 198, -1, 200, 178, 179, 180, 181, 182, - -1, 184, 185, 186, 187, 188, 189, 190, 191, 192, - -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, - 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, - 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, - 200 +/* 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 -57 +static const short yytable[] = +{ + 144, 212, 214, 143, 250, 78, 566, 503, 79, 539, + 382, 911, 186, 386, 189, 200, 179, 181, 210, 255, + 751, 215, 210, 156, 154, 148, 1069, 198, 1321, 1421, + 1322, 1424, 154, 203, 403, 1415, 405, 1342, 1496, 1070, + 1416, 1415, 1496, 392, 310, 1496, 1416, 126, 127, 128, + 1415, 126, 127, 128, 1415, 1416, 1415, 902, 1072, 1416, + 1415, 1416, 1262, 1415, 1415, 1416, 490, 210, 1416, 1416, + 210, 1271, 373, 374, 6, 373, 374, 357, 1278, 384, + 524, 1243, 1244, 1071, 358, 525, 373, 374, 151, 1103, + 193, 1104, 1105, 194, 1106, 800, 126, 127, 128, 126, + 127, 128, 1073, 1107, 158, 1108, 373, 374, 303, 304, + 305, 803, 1118, 306, 309, 1088, 1089, 314, 1130, 1119, + 175, 176, 373, 374, 334, 210, 335, 336, 337, 499, + 339, 177, 341, 342, 7, 353, 408, 393, 178, 1415, + 375, 373, 374, 368, 1416, 370, 89, 1435, 311, 312, + 90, 377, 371, 372, 126, 127, 128, 155, 257, 376, + 258, 903, 904, 802, 801, 155, 91, 499, 1063, 373, + 374, 390, 391, 629, 394, 1495, 396, 736, 630, 399, + 400, 1499, 737, 199, 328, 329, 330, 636, 757, 259, + 1502, 260, 331, 92, 1712, 101, 1716, 261, 745, 262, + 1718, 771, 101, 1805, 1807, 136, 137, 216, 373, 374, + 373, 374, 373, 374, 187, 88, 190, 201, 93, 211, + 591, 256, 752, 213, 446, 149, 502, 444, 204, 491, + 492, 493, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 385, 1399, 915, 1249, 94, 1808, + 1436, 742, 1496, 498, 1440, 1054, 1496, 95, 504, 1496, + 742, 96, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 1661, 150, 1343, + 1665, 938, 1668, 530, 1186, 532, 136, 137, 136, 137, + 304, 498, 97, 853, 1197, 853, 263, 598, 264, 543, + 544, 545, 546, 547, 147, 549, 550, 551, 552, 553, + 554, 555, 560, 561, 136, 137, 499, 1415, 151, 252, + 1057, 253, 1416, 568, 569, 570, 571, 373, 374, 499, + 580, 939, 129, 130, 131, 132, 373, 374, 587, 129, + 130, 131, 132, 152, 557, 562, 562, 595, 565, 565, + 1496, 578, 579, 567, 1496, 153, 1496, 373, 374, 1097, + 1098, 136, 137, 129, 130, 131, 132, 265, 744, 266, + 895, 373, 374, 972, 948, 1759, 12, 8, 9, 1763, + 10, 1765, 373, 374, 156, 136, 137, 157, 1334, 373, + 374, 158, 160, 635, 373, 374, 373, 374, 267, 1336, + 268, 925, 747, 373, 374, 159, 1338, 1573, 1574, 1575, + 1576, 1492, 161, 1498, 1580, 162, 168, 317, 318, 319, + 1501, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 163, 956, 957, 958, 959, 331, 164, 740, + 373, 374, 304, 173, 165, 166, 1250, 167, 748, 746, + 316, 174, 1139, 317, 318, 319, 188, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 182, 195, + 498, 758, 191, 331, 326, 327, 328, 329, 330, 192, + 740, 769, 196, 498, 331, 773, 774, 129, 130, 131, + 132, 197, 205, 781, 136, 137, 790, 206, 269, 494, + 270, 253, 169, 791, 792, 170, 171, 209, 172, 136, + 137, 248, 795, 13, 14, 15, 16, 17, 18, 19, + 20, 207, 1674, 1675, 804, 208, 1678, 183, 499, 299, + 184, 185, 300, 900, 855, 814, 251, 816, 817, 271, + 273, 272, 274, 317, 318, 319, 1401, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 275, 499, + 276, 1080, 277, 331, 278, 973, 301, 313, 1056, 1058, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 279, 854, 280, 333, 281, 331, 282, 367, 98, + 343, 499, 499, 499, 499, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 283, + 1769, 284, 317, 318, 319, 344, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 285, 896, 286, + 315, 287, 331, 288, 332, 338, 46, 47, 48, 49, + 50, 51, 289, 291, 290, 292, 508, 136, 137, 885, + 886, 293, 535, 294, 253, 136, 137, 295, 381, 296, + 770, 340, 253, 887, 888, 889, 890, 891, 892, 893, + 354, 297, 498, 298, 355, 356, 908, 899, 362, 360, + 905, 46, 47, 48, 49, 734, 51, 735, 917, 361, + 914, 363, 1226, 999, 1000, 1001, 1002, 1003, 742, 1844, + 743, 364, 742, 498, 772, 740, 742, 365, 929, 499, + 1065, 742, 1066, 1079, 366, 742, 931, 1109, 378, 742, + 1012, 1110, 742, 389, 1111, 952, 953, 954, 742, 1186, + 1112, 1187, 742, 395, 1204, 498, 498, 498, 498, 379, + 380, 962, 963, 397, 398, 966, 960, 1186, 1186, 1344, + 1482, 1714, 979, 1715, 401, 402, 977, 978, 404, 406, + 1899, 988, 407, 409, 133, 345, 1727, 1729, 1728, 1730, + 135, 1731, 1754, 1732, 1755, 138, 1835, 1927, 1836, 1928, + 141, 1062, 346, 1929, 1931, 1930, 1932, 2058, 2060, 2059, + 2061, 410, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, + 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 317, 318, + 319, 411, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 412, 1316, 854, 439, 2062, 331, 2063, + 1059, 2169, 2171, 2170, 2172, 1064, 413, 414, 317, 318, + 319, 1068, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 498, 2173, 1081, 2174, 1082, 331, 319, + 415, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 416, 1099, 1100, 1101, 417, 331, 317, 318, + 319, 418, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 441, 443, 1122, 1123, 1124, 331, 2175, + 2177, 2176, 2178, 2179, 2256, 2180, 2257, 419, 317, 318, + 319, 1407, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 2258, 2260, 2259, 2261, 2304, 331, 2305, + 2306, 2308, 2307, 2309, 2079, 420, 351, 1190, 2352, 421, + 2353, 1158, 359, 317, 318, 319, 422, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 2354, 1327, + 2355, 423, 2356, 331, 2357, 383, 424, 425, 426, 427, + 387, 388, 428, 429, 430, 431, 445, 432, 1221, 433, + 434, 1328, 435, 1191, 436, 437, 438, 331, 442, 496, + 1199, 506, 1200, 505, 507, 1253, 317, 318, 319, 541, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 1209, 1210, 1211, 1212, 1284, 331, 536, 548, 556, + 582, 583, 1227, 1220, 1230, 586, 1233, 622, 1329, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 1240, 1241, + 589, 592, 599, 331, 600, 601, 602, 603, 604, 605, + 1252, 606, 562, 1255, 607, 565, 608, 609, 610, 611, + 612, 613, 614, 1265, 615, 616, 617, 618, 619, 620, + 1272, 1273, 1274, 621, 623, 624, 625, 1279, 626, 627, + 628, 1283, 631, 738, 632, 1285, 1286, 1287, 1288, 1289, + 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, + 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 633, 739, 749, 750, 754, 759, 756, 789, 760, + 761, 763, 1350, 1320, 765, 766, 775, 793, 794, 806, + 1324, 317, 318, 319, 807, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 808, 809, 810, 1332, + 812, 331, 820, 317, 318, 319, 819, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 540, 98, + 302, 813, 1347, 331, 1348, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 821, + 317, 318, 319, 1507, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 98, 302, 822, 850, 1433, + 331, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 851, 884, 857, 894, 858, + 1405, 1406, 823, 1414, 898, 1420, 906, 1423, 907, 1413, + 909, 1419, 913, 1422, 883, 1425, 1426, 920, 901, 922, + 824, 1429, 825, 741, 933, 934, 935, 826, 859, 827, + 1438, 562, 860, 936, 565, 828, 829, 830, 1446, 831, + 832, 833, 834, 1451, 835, 836, 1454, 837, 1456, 1457, + 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, + 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1481, 861, 838, 839, 840, 1484, 841, + 370, 842, 843, 1489, 844, 303, 304, 1490, 317, 318, + 319, 845, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 846, 133, 134, 847, 848, 331, 849, + 135, 852, 862, 863, 864, 138, 865, 866, 307, 867, + 141, 868, 308, 869, 870, 317, 318, 319, 1572, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 871, 872, 873, 874, 875, 331, 932, 876, 877, 878, + 133, 134, 879, 880, 881, 882, 135, 937, 910, 940, + 941, 138, 942, 943, 767, 944, 141, 1556, 768, 945, + 946, 947, 955, 1561, 961, 969, 1565, 967, 975, 974, + 976, 980, 981, 982, 983, 984, 987, 989, 990, 993, + 994, 1624, 995, 996, 997, 1006, 1053, 1055, 1007, 1008, + 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, + 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, + 1608, 1009, 1610, 1010, 1611, 317, 318, 319, 1011, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 1013, 1014, 1060, 1673, 1061, 331, 1067, 98, 302, 1075, + 1086, 1077, 526, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 1078, 1087, 1102, + 1115, 1116, 1121, 1125, 1126, 1708, 1127, 918, 919, 1131, + 921, 1132, 923, 924, 1133, 1134, 1136, 1135, 1137, 1138, + 1141, 1142, 1140, 1143, 1144, 1149, 1681, 1683, 1685, 1686, + 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, + 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, + 1145, 1146, 1147, 1148, 1150, 964, 965, 1151, 1152, 968, + 593, 1768, 1153, 1154, 1155, 1156, 1157, 1159, 1188, 1192, + 1193, 1195, 1312, 1201, 1202, 1206, 985, 986, 1207, 1203, + 1208, 1213, 991, 992, 1214, 1215, 1216, 1217, 1218, 998, + 1219, 1005, 1228, 1231, 1234, 1236, 1237, 1238, 1239, 1245, + 1242, 1254, 1257, 1258, 1800, 1259, 1803, 1811, 1260, 1261, + 1263, 1264, 1266, 1267, 1317, 1268, 1767, 1269, 1270, 1276, + 1277, 1280, 1773, 1281, 1775, 1282, 1777, 1313, 1779, 1780, + 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, + 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1314, + 1843, 1315, 133, 134, 1318, 1319, 1323, 1330, 135, 1331, + 1346, 1351, 1356, 138, 1353, 1333, 927, 1074, 141, 1076, + 928, 1360, 1335, 1337, 1339, 1345, 755, 1354, 1355, 1357, + 1083, 1084, 1085, 1359, 1361, 1867, 1365, 1090, 1091, 1092, + 1093, 1094, 1095, 1096, 1369, 1372, 1366, 1367, 1370, 1400, + 1434, 1437, 1427, 1402, 1841, 1842, 1439, 1441, 1442, 1443, + 1444, 1452, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, + 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, + 317, 318, 319, 1445, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 1447, 1449, 1450, 1453, 1455, + 331, 1483, 1485, 1488, 1493, 1494, 1505, 1548, 1506, 1514, + 930, 1508, 1510, 1511, 1895, 1512, 1554, 1517, 1509, 1901, + 1903, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, + 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, + 1521, 1558, 1559, 1562, 1563, 1566, 1567, 1515, 1568, 1571, + 1577, 1578, 1519, 1189, 971, 317, 318, 319, 1579, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 1581, 1550, 1954, 1582, 1956, 331, 1958, 495, 1960, 1961, + 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, + 1972, 1973, 1974, 1975, 1976, 1977, 317, 318, 319, 1583, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 1584, 1612, 1615, 1617, 1622, 331, 1618, 1246, 1620, + 1625, 1623, 1626, 1627, 1628, 1629, 1256, 2001, 2002, 2003, + 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, + 2014, 2015, 1630, 1659, 1631, 1275, 1632, 1633, 1655, 1660, + 1658, 1662, 1666, 1669, 1672, 1676, 1677, 1679, 1713, 1710, + 1711, 1723, 2037, 2039, 2041, 2042, 2043, 2044, 2045, 2046, + 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, + 317, 318, 319, 1311, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 1720, 1722, 1758, 1761, 1717, + 331, 1762, 1719, 2080, 1724, 2082, 1721, 2084, 1725, 2086, + 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, + 2097, 2098, 2099, 2100, 317, 318, 319, 1726, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 1756, + 1764, 1757, 1766, 1771, 331, 1772, 1774, 1776, 1778, 1801, + 1804, 1837, 1812, 2124, 2125, 2126, 2127, 2128, 2129, 2130, + 2131, 2132, 1806, 1809, 1813, 1838, 1839, 1840, 1868, 1871, + 1872, 1873, 1896, 1897, 1874, 1875, 1876, 1925, 2149, 2151, + 2153, 2155, 2157, 2159, 2160, 2161, 2162, 2163, 2164, 2165, + 2166, 2167, 2168, 317, 318, 319, 1926, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 1951, 1953, + 1955, 1957, 1959, 331, 2190, 1978, 2192, 501, 2194, 2016, + 2196, 2057, 2198, 2017, 2200, 2018, 2202, 2203, 2204, 2205, + 2206, 2207, 2208, 2209, 2210, 2019, 2081, 2083, 2085, 2101, + 2117, 2133, 1428, 2191, 2193, 2195, 1432, 2134, 2135, 2197, + 2136, 2199, 2201, 2269, 2137, 2271, 2220, 2221, 2222, 2223, + 2224, 2225, 1448, 2138, 2235, 2236, 2237, 2273, 2289, 2290, + 2291, 2314, 2316, 2318, 2238, 2239, 2240, 2241, 2242, 2243, + 2245, 2247, 2249, 2343, 2344, 2345, 2359, 2361, 2363, 856, + 77, 85, 0, 0, 0, 2262, 2263, 2264, 2265, 2266, + 2267, 2268, 0, 2270, 1194, 2272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2280, + 2281, 2282, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2292, 2293, 2294, 2296, 2298, 2300, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2310, 2311, 2312, 2313, + 0, 2315, 0, 2317, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2322, 2323, 2324, 0, 0, 0, + 2328, 2329, 2330, 0, 0, 0, 2334, 2335, 2336, 0, + 0, 0, 0, 1551, 1552, 0, 0, 0, 2347, 2349, + 2351, 1557, 0, 0, 0, 0, 0, 2358, 0, 2360, + 0, 2362, 1569, 1570, 98, 537, 0, 0, 0, 0, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 98, 302, 0, 0, 1613, 1614, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 0, 0, 0, 98, 99, 100, + 0, 101, 0, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 0, 126, 127, + 128, 0, 0, 0, 1664, 98, 343, 0, 0, 1671, + 0, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, + 0, 344, 572, 30, 31, 573, 574, 34, 575, 36, + 0, 37, 0, 39, 40, 41, 0, 43, 44, 0, + 0, 0, 46, 47, 48, 49, 50, 51, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 0, 0, 133, + 134, 0, 0, 0, 0, 135, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 141, 0, 538, 0, 0, + 0, 1760, 0, 0, 58, 59, 60, 0, 0, 0, + 0, 1770, 0, 0, 0, 0, 0, 0, 0, 1410, + 1411, 0, 70, 0, 0, 135, 0, 0, 0, 0, + 1412, 0, 0, 0, 0, 141, 0, 178, 129, 130, + 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 134, 0, 0, 0, 0, 135, 0, + 136, 137, 0, 138, 0, 139, 0, 140, 141, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 133, 497, 0, 0, 0, 0, 135, 0, 776, 0, + 1845, 138, 0, 98, 302, 210, 141, 0, 0, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 0, 126, 127, 128, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 98, 302, 0, 331, 0, 1898, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 495, 98, 537, 0, + 0, 558, 1952, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 0, 572, 30, + 31, 573, 574, 34, 575, 36, 0, 37, 0, 39, + 40, 41, 0, 43, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1997, 0, 317, 318, 319, + 56, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 133, 134, + 0, 0, 0, 0, 135, 0, 780, 0, 0, 138, + 58, 59, 60, 2035, 141, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 70, -8, + 1, 0, -13, -56, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 133, + 134, 0, 0, 0, 331, 135, 0, 0, 0, 0, + 138, 1224, -56, 1225, 0, 141, -56, -56, -56, -56, + -56, -56, -56, -56, -56, -56, 0, -56, -56, -56, + -56, -56, -56, -56, -56, 0, 0, 0, -56, -56, + -56, -56, -56, -56, -56, 0, -56, -56, -56, -56, + -56, 0, 133, 134, 0, 0, 0, 0, 135, 0, + 0, 0, 0, 138, 0, 0, 576, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, + -56, -56, -56, 0, 0, 0, 0, -56, 0, -56, + 0, -56, -56, -56, -56, -56, -56, -56, -56, -56, + -56, 572, 30, 31, 573, 574, 34, 575, 36, 0, + 37, 0, 39, 40, 41, 0, 43, 44, 0, -13, + -13, -13, -13, -13, -13, -13, -13, 0, 0, 0, + 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -8, -8, 0, -8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 58, 59, 60, 0, 572, 30, 31, + 573, 574, 34, 575, 36, 0, 37, 0, 39, 40, + 41, 70, 43, 44, 0, 0, 0, 0, 0, 0, + 0, 572, 30, 31, 573, 574, 34, 575, 36, 56, + 37, 0, 39, 40, 41, 0, 43, 44, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 56, 0, 0, 0, 0, 0, 58, + 59, 60, 0, 572, 30, 31, 573, 574, 34, 575, + 36, 0, 37, 0, 39, 40, 41, 70, 43, 44, + 0, 0, 0, 58, 59, 60, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 56, 0, 0, 0, 581, + 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 219, 220, 221, 0, 0, 58, 59, 60, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 0, 0, + 0, 0, 0, 70, 0, 0, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 0, 242, 243, 244, + 245, 246, 247, 0, 0, 596, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 527, 597, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 815, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 26, + 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, + 43, 44, 0, 0, 0, 45, 46, 47, 48, 49, + 50, 51, 0, 52, 53, 54, 55, 56, 0, 0, + 0, 0, 0, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 664, 0, 57, 58, 59, 60, + 1247, 0, 1248, 0, 61, 0, 62, 0, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 1015, 0, 331, 0, + 0, 0, 0, 0, 0, 1408, 0, 1409, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 0, 0, 0, 782, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 783, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 926, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 951, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 0, 0, 317, 318, 319, 1222, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 0, 0, 317, 318, + 319, 1430, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 1431, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 1491, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 1497, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 0, 0, 317, 318, 319, 1500, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 0, 0, 317, 318, + 319, 1503, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 1504, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 1553, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 1616, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 0, 0, 317, 318, 319, 1619, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 0, 0, 317, 318, + 319, 1621, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 317, 318, 319, 1657, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, + 317, 318, 319, 1870, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 317, 318, 319, 1924, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 558, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 559, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 590, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 714, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 715, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 728, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 729, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 730, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 731, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 732, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 733, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 796, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 797, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 798, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 916, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 949, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 950, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 970, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1113, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1114, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1128, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1129, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1160, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1161, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1162, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1163, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1164, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1165, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1166, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1167, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1168, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1169, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1170, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1171, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1172, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1173, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1174, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1175, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1176, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1177, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1178, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1179, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1180, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1181, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1182, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1183, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1184, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1185, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1198, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1205, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1325, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1326, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1340, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1341, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1349, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1352, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1363, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1368, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1371, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1373, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1374, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1375, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1376, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1377, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1378, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1379, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1380, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1381, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1382, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1383, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1384, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1385, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1386, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1387, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1388, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1389, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1390, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1391, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1392, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1393, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1394, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1395, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1396, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1397, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1398, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1403, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1404, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1513, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1525, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1526, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1527, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1528, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1529, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1530, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1531, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1532, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1533, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1534, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1535, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1536, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1537, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1538, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1539, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1540, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1541, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1542, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1543, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1544, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1545, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1547, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1549, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1634, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1635, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1636, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1637, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1638, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1639, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1640, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1641, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1642, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1643, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1644, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1645, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1646, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1647, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1648, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1649, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1650, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1651, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1652, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1653, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1654, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1733, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1734, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1735, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1736, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1737, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1738, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1739, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1740, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1741, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1742, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1743, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1744, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1745, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1746, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1747, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1748, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1749, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1750, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1751, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1752, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1753, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1810, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1817, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1818, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1819, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1820, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1821, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1822, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1823, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1824, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1825, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1826, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1827, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1828, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1829, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1830, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1831, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1832, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1833, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1834, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1869, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1877, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1878, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1879, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1880, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1881, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1882, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1883, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1884, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1885, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1886, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1887, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1888, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1889, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1890, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1891, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1892, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1893, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1894, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1933, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1934, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1935, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1936, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1937, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1938, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1939, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1940, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1941, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1942, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1943, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1944, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1945, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1946, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1947, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1948, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1949, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1950, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1982, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1983, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1984, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1985, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1986, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1987, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1988, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1989, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1990, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1991, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 1992, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 1993, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 1994, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 1995, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 1996, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2020, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2021, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2022, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2023, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2024, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2025, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2026, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2027, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2028, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2029, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2030, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2031, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2032, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2033, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2034, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2064, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2065, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2066, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2067, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2068, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2069, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2070, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2071, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2072, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2073, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2074, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2075, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2076, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2077, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2078, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2108, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2109, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2110, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2111, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2112, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2113, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2114, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2115, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2116, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2139, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2140, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2141, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2142, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2143, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2144, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2145, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2146, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2147, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2181, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2182, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2183, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2184, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2185, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2186, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2187, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2188, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2189, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2211, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2212, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2213, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2214, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2215, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2216, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2229, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2230, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2231, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2232, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2233, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2234, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2250, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2251, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2252, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2253, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2254, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2255, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2274, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2275, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2276, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2286, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2287, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2288, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2301, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2302, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2303, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2320, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2321, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2325, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 0, 0, 317, 318, + 319, 2326, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 317, 318, 319, 2327, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 317, 318, 319, 2331, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 0, 0, + 317, 318, 319, 2332, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 317, 318, 319, 2333, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 317, 318, 319, 634, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 317, 318, 319, 693, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 317, 318, 319, + 695, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 317, 318, + 319, 697, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 317, + 318, 319, 699, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 317, 318, 319, 701, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 317, 318, 319, 703, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 317, 318, 319, 705, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 317, 318, 319, 707, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 317, 318, 319, 709, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 317, 318, 319, 711, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 317, 318, 319, 713, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 317, 318, 319, + 717, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 317, 318, + 319, 719, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 317, + 318, 319, 721, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 317, 318, 319, 723, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 317, 318, 319, 725, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 317, 318, 319, 727, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 317, 318, 319, 799, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 317, 318, 319, 805, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 317, 318, 319, 897, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 317, 318, 319, 1045, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 317, 318, 319, + 1047, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 317, 318, + 319, 1049, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 317, + 318, 319, 1051, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 317, 318, 319, 1052, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 317, 318, 319, 1196, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 528, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 529, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 531, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 533, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 534, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 542, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 584, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 585, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 588, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 594, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 692, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 694, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 696, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 698, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 700, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 702, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 704, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 706, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 708, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 710, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 712, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 716, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 718, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 720, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 722, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 724, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 726, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 762, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 764, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 777, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 778, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 779, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 784, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 785, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 786, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 787, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 788, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 811, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 818, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 1044, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 1046, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 1048, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 1050, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 1117, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 1223, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 1251, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 1358, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 1362, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 1364, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 1486, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 1487, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 1516, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 1518, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 1520, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 1522, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 1523, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 1524, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 1546, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 1656, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 1814, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 1815, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 1816, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 1979, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 1980, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 1981, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 2102, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 2103, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 2104, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 2105, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 2106, 317, 318, 319, 0, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 0, 0, 0, + 0, 331, 0, 2107, 317, 318, 319, 0, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 0, 0, 0, 0, 331, 0, 2217, 317, 318, 319, + 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 0, 0, 0, 0, 331, 0, 2218, + 317, 318, 319, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 0, 0, 0, 0, + 331, 0, 2219, 317, 318, 319, 0, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 0, + 0, 0, 0, 331, 0, 2277, 317, 318, 319, 0, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 0, 0, 0, 0, 331, 0, 2278, 317, + 318, 319, 0, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 0, 0, 0, 0, 331, + 0, 2279, 317, 318, 319, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 0, 0, + 0, 0, 331, 0, 2337, 317, 318, 319, 0, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 0, 0, 0, 0, 331, 0, 2338, 317, 318, + 319, 0, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 0, 0, 0, 0, 331, 0, + 2339 }; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/bison.simple" -/* This file comes from bison-1.28. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ +static const short yycheck[] = +{ + 25, 71, 72, 25, 96, 5, 376, 310, 5, 346, + 187, 752, 4, 190, 4, 4, 47, 48, 5, 4, + 4, 3, 5, 66, 66, 6, 6, 43, 6, 1337, + 6, 1339, 66, 4, 211, 67, 213, 1242, 1417, 6, + 72, 67, 1421, 105, 4, 1424, 72, 34, 35, 36, + 67, 34, 35, 36, 67, 72, 67, 4, 6, 72, + 67, 72, 1135, 67, 67, 72, 4, 5, 72, 72, + 5, 1144, 188, 189, 6, 188, 189, 199, 1151, 6, + 200, 1118, 1119, 50, 206, 205, 188, 189, 199, 205, + 39, 207, 205, 42, 207, 206, 34, 35, 36, 34, + 35, 36, 50, 205, 199, 207, 188, 189, 133, 134, + 135, 206, 199, 138, 139, 57, 58, 142, 200, 206, + 188, 189, 188, 189, 149, 5, 151, 152, 153, 308, + 155, 199, 157, 158, 0, 160, 217, 199, 206, 67, + 206, 188, 189, 174, 72, 176, 7, 1352, 108, 109, + 6, 182, 177, 178, 34, 35, 36, 199, 199, 206, + 201, 108, 109, 206, 206, 199, 6, 346, 909, 188, + 189, 196, 197, 200, 199, 207, 201, 200, 205, 204, + 205, 207, 205, 199, 190, 191, 192, 206, 525, 199, + 207, 201, 198, 6, 207, 7, 207, 199, 501, 201, + 207, 538, 7, 207, 207, 196, 197, 189, 188, 189, + 188, 189, 188, 189, 206, 169, 206, 206, 6, 206, + 397, 206, 206, 206, 255, 206, 7, 252, 199, 299, + 300, 301, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 201, 1312, 200, 8, 6, 207, + 1353, 205, 1661, 308, 1357, 200, 1665, 199, 310, 1668, + 205, 199, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 1615, 6, 200, + 1618, 6, 1620, 338, 205, 340, 196, 197, 196, 197, + 345, 346, 199, 203, 1065, 203, 199, 408, 201, 354, + 355, 356, 357, 358, 199, 360, 361, 362, 363, 364, + 365, 366, 373, 374, 196, 197, 525, 67, 199, 201, + 7, 203, 72, 378, 379, 380, 381, 188, 189, 538, + 385, 56, 174, 175, 176, 177, 188, 189, 393, 174, + 175, 176, 177, 199, 205, 375, 376, 402, 375, 376, + 1759, 6, 7, 205, 1763, 199, 1765, 188, 189, 6, + 7, 196, 197, 174, 175, 176, 177, 199, 203, 201, + 737, 188, 189, 8, 205, 1713, 3, 165, 166, 1717, + 168, 1719, 188, 189, 66, 196, 197, 199, 205, 188, + 189, 199, 199, 445, 188, 189, 188, 189, 199, 205, + 201, 768, 502, 188, 189, 47, 205, 1510, 1511, 1512, + 1513, 205, 43, 205, 1517, 43, 45, 178, 179, 180, + 205, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 43, 800, 801, 802, 803, 198, 43, 494, + 188, 189, 497, 199, 42, 43, 207, 45, 503, 501, + 6, 206, 200, 178, 179, 180, 43, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 206, 4, + 525, 526, 6, 198, 188, 189, 190, 191, 192, 6, + 535, 536, 199, 538, 198, 540, 541, 174, 175, 176, + 177, 199, 199, 548, 196, 197, 557, 6, 199, 201, + 201, 203, 39, 558, 559, 42, 43, 43, 45, 196, + 197, 199, 567, 140, 141, 142, 143, 144, 145, 146, + 147, 4, 1625, 1626, 579, 4, 1629, 39, 737, 199, + 42, 43, 199, 742, 634, 590, 5, 592, 593, 199, + 199, 201, 201, 178, 179, 180, 1317, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 199, 768, + 201, 928, 199, 198, 201, 200, 199, 4, 901, 902, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 199, 634, 201, 5, 199, 198, 201, 4, 3, + 4, 800, 801, 802, 803, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 199, + 1723, 201, 178, 179, 180, 39, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 199, 738, 201, + 6, 199, 198, 201, 6, 199, 60, 61, 62, 63, + 64, 65, 199, 199, 201, 201, 6, 196, 197, 714, + 715, 199, 201, 201, 203, 196, 197, 199, 201, 201, + 201, 199, 203, 728, 729, 730, 731, 732, 733, 734, + 206, 199, 737, 201, 199, 199, 6, 742, 199, 206, + 745, 60, 61, 62, 63, 201, 65, 203, 759, 206, + 755, 199, 1102, 125, 126, 127, 128, 129, 205, 1812, + 207, 199, 205, 768, 207, 770, 205, 199, 207, 928, + 205, 205, 207, 207, 199, 205, 6, 207, 206, 205, + 852, 207, 205, 6, 207, 796, 797, 798, 205, 205, + 207, 207, 205, 203, 207, 800, 801, 802, 803, 206, + 206, 806, 807, 206, 111, 810, 6, 205, 205, 207, + 207, 205, 823, 207, 6, 199, 821, 822, 6, 6, + 1873, 832, 3, 199, 188, 189, 205, 205, 207, 207, + 194, 205, 205, 207, 207, 199, 205, 205, 207, 207, + 204, 6, 206, 205, 205, 207, 207, 205, 205, 207, + 207, 199, 857, 858, 859, 860, 861, 862, 863, 864, + 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, + 875, 876, 877, 878, 879, 880, 881, 882, 178, 179, + 180, 199, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 199, 6, 897, 5, 205, 198, 207, + 902, 205, 205, 207, 207, 910, 199, 199, 178, 179, + 180, 916, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 928, 205, 930, 207, 932, 198, 180, + 199, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 199, 948, 949, 950, 199, 198, 178, 179, + 180, 199, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 205, 205, 970, 971, 972, 198, 205, + 205, 207, 207, 205, 205, 207, 207, 199, 178, 179, + 180, 1331, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 205, 205, 207, 207, 205, 198, 207, + 205, 205, 207, 207, 2057, 199, 159, 1057, 205, 199, + 207, 1013, 165, 178, 179, 180, 199, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 205, 6, + 207, 199, 205, 198, 207, 188, 199, 199, 199, 199, + 193, 194, 199, 199, 199, 199, 4, 199, 1098, 199, + 199, 6, 199, 1058, 199, 199, 199, 198, 200, 7, + 1071, 7, 1073, 203, 201, 1126, 178, 179, 180, 7, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 1086, 1087, 1088, 1089, 1157, 198, 206, 7, 200, + 7, 7, 1103, 1098, 1105, 106, 1107, 158, 6, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 1113, 1114, + 108, 206, 5, 198, 5, 5, 5, 5, 5, 5, + 1125, 5, 1102, 1128, 5, 1102, 5, 5, 5, 5, + 5, 5, 5, 1138, 5, 5, 5, 5, 5, 5, + 1145, 1146, 1147, 5, 5, 5, 5, 1152, 5, 3, + 5, 1156, 5, 205, 6, 1160, 1161, 1162, 1163, 1164, + 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, + 1185, 5, 200, 6, 4, 202, 7, 6, 203, 7, + 7, 7, 1253, 1198, 7, 7, 7, 207, 207, 206, + 1205, 178, 179, 180, 206, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 7, 7, 199, 1224, + 7, 198, 205, 178, 179, 180, 170, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 8, 3, + 4, 203, 1247, 198, 1249, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 205, + 178, 179, 180, 6, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 3, 4, 205, 5, 1350, + 198, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 200, 6, 199, 4, 199, + 1325, 1326, 205, 1334, 6, 1336, 6, 1338, 6, 1334, + 7, 1336, 6, 1338, 206, 1340, 1341, 7, 202, 7, + 205, 1346, 205, 496, 7, 7, 7, 205, 199, 205, + 1355, 1331, 199, 7, 1331, 205, 205, 205, 1363, 205, + 205, 205, 205, 1368, 205, 205, 1371, 205, 1373, 1374, + 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, + 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, + 1395, 1396, 1397, 1398, 199, 205, 205, 205, 1403, 205, + 1411, 205, 205, 1408, 205, 1410, 1411, 1412, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 205, 188, 189, 205, 205, 198, 205, + 194, 205, 199, 199, 199, 199, 199, 199, 202, 199, + 204, 199, 206, 199, 199, 178, 179, 180, 1509, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 199, 199, 199, 199, 199, 198, 206, 199, 199, 199, + 188, 189, 199, 199, 199, 199, 194, 7, 201, 7, + 7, 199, 7, 7, 202, 7, 204, 1492, 206, 7, + 7, 4, 6, 1498, 6, 4, 1501, 7, 171, 7, + 3, 3, 3, 190, 3, 3, 3, 3, 3, 3, + 3, 1572, 3, 3, 3, 3, 200, 200, 5, 5, + 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, + 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, + 1545, 3, 1547, 3, 1549, 178, 179, 180, 6, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 4, 6, 203, 1624, 7, 198, 6, 3, 4, 6, + 199, 6, 205, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 6, 199, 206, + 6, 6, 107, 206, 167, 1655, 205, 760, 761, 205, + 763, 200, 765, 766, 205, 200, 200, 205, 205, 205, + 200, 200, 205, 205, 205, 200, 1631, 1632, 1633, 1634, + 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, + 205, 205, 205, 205, 205, 808, 809, 205, 205, 812, + 8, 1722, 205, 205, 200, 205, 205, 6, 203, 6, + 4, 6, 206, 6, 6, 6, 829, 830, 6, 202, + 6, 6, 835, 836, 6, 6, 6, 6, 6, 842, + 6, 844, 6, 6, 6, 6, 6, 6, 6, 107, + 7, 3, 6, 3, 1754, 6, 1756, 1768, 190, 6, + 6, 3, 6, 3, 7, 6, 1721, 6, 3, 6, + 3, 3, 1727, 3, 1729, 6, 1731, 4, 1733, 1734, + 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 6, + 1811, 6, 188, 189, 6, 203, 202, 6, 194, 206, + 104, 200, 200, 199, 205, 207, 202, 920, 204, 922, + 206, 200, 206, 206, 206, 206, 8, 205, 205, 205, + 933, 934, 935, 205, 200, 1835, 205, 940, 941, 942, + 943, 944, 945, 946, 205, 205, 200, 200, 200, 200, + 6, 3, 107, 109, 1809, 1810, 6, 6, 3, 6, + 6, 3, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, + 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, + 178, 179, 180, 6, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 6, 6, 6, 6, 5, + 198, 6, 5, 207, 6, 206, 206, 6, 205, 200, + 8, 207, 205, 205, 1869, 205, 6, 205, 167, 1874, + 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, + 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, + 205, 6, 6, 6, 6, 6, 6, 200, 6, 6, + 6, 6, 200, 1056, 8, 178, 179, 180, 6, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 6, 205, 1927, 6, 1929, 198, 1931, 200, 1933, 1934, + 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, + 1945, 1946, 1947, 1948, 1949, 1950, 178, 179, 180, 6, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 5, 5, 206, 205, 205, 198, 206, 1121, 206, + 205, 207, 205, 200, 200, 205, 1129, 1982, 1983, 1984, + 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, + 1995, 1996, 205, 6, 206, 1148, 206, 206, 206, 6, + 205, 6, 6, 6, 104, 6, 6, 5, 206, 6, + 5, 205, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, + 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, + 178, 179, 180, 1186, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 207, 167, 6, 6, 206, + 198, 6, 206, 2058, 205, 2060, 206, 2062, 200, 2064, + 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, + 2075, 2076, 2077, 2078, 178, 179, 180, 200, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 206, + 6, 207, 104, 6, 198, 6, 6, 6, 6, 6, + 6, 6, 205, 2108, 2109, 2110, 2111, 2112, 2113, 2114, + 2115, 2116, 207, 206, 205, 6, 6, 6, 6, 172, + 205, 205, 6, 173, 206, 206, 206, 205, 2133, 2134, + 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, + 2145, 2146, 2147, 178, 179, 180, 200, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 6, 6, + 6, 6, 6, 198, 2169, 205, 2171, 202, 2173, 205, + 2175, 205, 2177, 206, 2179, 206, 2181, 2182, 2183, 2184, + 2185, 2186, 2187, 2188, 2189, 206, 6, 6, 6, 200, + 6, 206, 1345, 6, 6, 6, 1349, 206, 206, 6, + 206, 6, 6, 6, 206, 6, 2211, 2212, 2213, 2214, + 2215, 2216, 1365, 206, 206, 206, 206, 6, 206, 206, + 206, 6, 6, 6, 2229, 2230, 2231, 2232, 2233, 2234, + 2235, 2236, 2237, 206, 206, 206, 6, 6, 6, 636, + 5, 5, -1, -1, -1, 2250, 2251, 2252, 2253, 2254, + 2255, 2256, -1, 2258, 1061, 2260, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2274, + 2275, 2276, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2286, 2287, 2288, 2289, 2290, 2291, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2301, 2302, 2303, 2304, + -1, 2306, -1, 2308, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2319, 2320, 2321, -1, -1, -1, + 2325, 2326, 2327, -1, -1, -1, 2331, 2332, 2333, -1, + -1, -1, -1, 1486, 1487, -1, -1, -1, 2343, 2344, + 2345, 1494, -1, -1, -1, -1, -1, 2352, -1, 2354, + -1, 2356, 1505, 1506, 3, 4, -1, -1, -1, -1, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3, 4, -1, -1, 1551, 1552, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, -1, -1, -1, 3, 4, 5, + -1, 7, -1, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, -1, 34, 35, + 36, -1, -1, -1, 1617, 3, 4, -1, -1, 1622, + -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, + -1, 39, 39, 40, 41, 42, 43, 44, 45, 46, + -1, 48, -1, 50, 51, 52, -1, 54, 55, -1, + -1, -1, 60, 61, 62, 63, 64, 65, -1, -1, + -1, -1, -1, -1, 71, -1, -1, -1, -1, 188, + 189, -1, -1, -1, -1, 194, -1, -1, -1, -1, + 199, -1, -1, -1, -1, 204, -1, 206, -1, -1, + -1, 1714, -1, -1, 101, 102, 103, -1, -1, -1, + -1, 1724, -1, -1, -1, -1, -1, -1, -1, 188, + 189, -1, 119, -1, -1, 194, -1, -1, -1, -1, + 199, -1, -1, -1, -1, 204, -1, 206, 174, 175, + 176, 177, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 188, 189, -1, -1, -1, -1, 194, -1, + 196, 197, -1, 199, -1, 201, -1, 203, 204, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 188, 189, -1, -1, -1, -1, 194, -1, 207, -1, + 1813, 199, -1, 3, 4, 5, 204, -1, -1, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, -1, 34, 35, 36, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, 3, 4, -1, 198, -1, 1872, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 3, 4, -1, + -1, 205, 1925, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, -1, 39, 40, + 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, + 51, 52, -1, 54, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1978, -1, 178, 179, 180, + 71, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 188, 189, + -1, -1, -1, -1, 194, -1, 207, -1, -1, 199, + 101, 102, 103, 2016, 204, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 119, 0, + 1, -1, 3, 4, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 188, + 189, -1, -1, -1, 198, 194, -1, -1, -1, -1, + 199, 205, 33, 207, -1, 204, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, + 51, 52, 53, 54, 55, -1, -1, -1, 59, 60, + 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, + 71, -1, 188, 189, -1, -1, -1, -1, 194, -1, + -1, -1, -1, 199, -1, -1, 207, -1, 204, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, 103, -1, -1, -1, -1, 108, -1, 110, + -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 39, 40, 41, 42, 43, 44, 45, 46, -1, + 48, -1, 50, 51, 52, -1, 54, 55, -1, 140, + 141, 142, 143, 144, 145, 146, 147, -1, -1, -1, + -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 165, 166, -1, 168, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 101, 102, 103, -1, 39, 40, 41, + 42, 43, 44, 45, 46, -1, 48, -1, 50, 51, + 52, 119, 54, 55, -1, -1, -1, -1, -1, -1, + -1, 39, 40, 41, 42, 43, 44, 45, 46, 71, + 48, -1, 50, 51, 52, -1, 54, 55, -1, -1, + 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 71, -1, -1, -1, -1, -1, 101, + 102, 103, -1, 39, 40, 41, 42, 43, 44, 45, + 46, -1, 48, -1, 50, 51, 52, 119, 54, 55, + -1, -1, -1, 101, 102, 103, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 71, -1, -1, -1, 207, + -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 122, 123, 124, -1, -1, 101, 102, 103, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, -1, -1, + -1, -1, -1, 119, -1, -1, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, -1, 159, 160, 161, + 162, 163, 164, -1, -1, 207, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 207, + 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, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 207, 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, 33, + -1, -1, -1, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, + 54, 55, -1, -1, -1, 59, 60, 61, 62, 63, + 64, 65, -1, 67, 68, 69, 70, 71, -1, -1, + -1, -1, -1, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, 207, -1, 100, 101, 102, 103, + 205, -1, 207, -1, 108, -1, 110, -1, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, 207, -1, 198, -1, + -1, -1, -1, -1, -1, 205, -1, 207, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, -1, -1, -1, 207, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, -1, 178, 179, 180, 207, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, -1, 178, 179, + 180, 207, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, -1, 178, 179, 180, 207, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, -1, 178, 179, + 180, 207, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, -1, 178, 179, 180, 207, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, -1, 178, 179, + 180, 207, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, 178, 179, 180, 207, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, + 178, 179, 180, 207, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, -1, 178, 179, 180, 207, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, -1, -1, 178, 179, + 180, 205, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + -1, -1, 178, 179, 180, 205, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, -1, -1, 178, 179, 180, 205, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 178, 179, 180, 205, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, -1, -1, 178, 179, 180, 205, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, 178, 179, 180, 202, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, 178, 179, 180, 202, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, 178, 179, 180, + 202, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 178, 179, + 180, 202, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, 178, + 179, 180, 202, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 178, 179, 180, 202, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, 178, 179, 180, 202, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, 178, 179, 180, 202, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, 178, 179, 180, 202, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, 178, 179, 180, 202, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, 178, 179, 180, 202, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, 178, 179, 180, 202, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, 178, 179, 180, + 202, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 178, 179, + 180, 202, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, 178, + 179, 180, 202, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 178, 179, 180, 202, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, 178, 179, 180, 202, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, 178, 179, 180, 202, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, 178, 179, 180, 202, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, 178, 179, 180, 202, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, 178, 179, 180, 202, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, 178, 179, 180, 202, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, 178, 179, 180, + 202, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, 178, 179, + 180, 202, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, 178, + 179, 180, 202, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + 178, 179, 180, 202, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, 178, 179, 180, 202, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200, 178, 179, 180, -1, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, + -1, 198, -1, 200, 178, 179, 180, -1, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, -1, + -1, -1, -1, -1, 198, -1, 200, 178, 179, 180, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, -1, -1, -1, -1, -1, 198, -1, 200, + 178, 179, 180, -1, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, -1, -1, -1, -1, -1, + 198, -1, 200, 178, 179, 180, -1, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, -1, -1, + -1, -1, -1, 198, -1, 200, 178, 179, 180, -1, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, -1, -1, -1, -1, -1, 198, -1, 200, 178, + 179, 180, -1, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, -1, -1, -1, -1, -1, 198, + -1, 200, 178, 179, 180, -1, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, + -1, -1, 198, -1, 200, 178, 179, 180, -1, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + -1, -1, -1, -1, -1, 198, -1, 200, 178, 179, + 180, -1, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, -1, -1, -1, -1, -1, 198, -1, + 200 +}; -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const unsigned short yystos[] = +{ + 0, 1, 209, 211, 213, 218, 6, 0, 165, 166, + 168, 212, 3, 140, 141, 142, 143, 144, 145, 146, + 147, 214, 215, 216, 217, 4, 33, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, + 51, 52, 53, 54, 55, 59, 60, 61, 62, 63, + 64, 65, 67, 68, 69, 70, 71, 100, 101, 102, + 103, 108, 110, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 219, 220, 221, 304, 305, 306, 309, + 310, 311, 312, 313, 314, 315, 327, 328, 169, 7, + 6, 6, 6, 6, 6, 199, 199, 199, 3, 4, + 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 34, 35, 36, 174, + 175, 176, 177, 188, 189, 194, 196, 197, 199, 201, + 203, 204, 302, 303, 330, 331, 344, 199, 6, 206, + 6, 199, 199, 199, 66, 199, 66, 199, 199, 47, + 199, 43, 43, 43, 43, 42, 43, 45, 45, 39, + 42, 43, 45, 199, 206, 188, 189, 199, 206, 332, + 333, 332, 206, 39, 42, 43, 4, 206, 43, 4, + 206, 6, 6, 39, 42, 4, 199, 199, 43, 199, + 4, 206, 341, 4, 199, 199, 6, 4, 4, 43, + 5, 206, 344, 206, 344, 3, 189, 210, 42, 122, + 123, 124, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 159, 160, 161, 162, 163, 164, 199, 334, + 334, 5, 201, 203, 303, 4, 206, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 201, 199, 201, 199, 201, 199, 201, 199, 201, 199, + 199, 199, 4, 330, 330, 330, 330, 202, 206, 330, + 4, 108, 109, 4, 330, 6, 6, 178, 179, 180, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 198, 6, 5, 330, 330, 330, 330, 199, 330, + 199, 330, 330, 4, 39, 189, 206, 306, 309, 315, + 330, 338, 339, 330, 206, 199, 199, 199, 206, 338, + 206, 206, 199, 199, 199, 199, 199, 4, 332, 332, + 332, 330, 330, 188, 189, 206, 206, 332, 206, 206, + 206, 201, 308, 338, 6, 201, 308, 338, 338, 6, + 330, 330, 105, 199, 330, 203, 330, 206, 111, 330, + 330, 6, 199, 308, 6, 308, 6, 3, 210, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 5, + 335, 205, 200, 205, 330, 4, 332, 222, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 4, 344, 344, 344, 201, 200, 7, 189, 330, 339, + 340, 202, 7, 302, 303, 203, 7, 201, 6, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 200, 205, 205, 200, 200, 200, + 330, 200, 330, 200, 200, 201, 206, 4, 206, 340, + 8, 7, 200, 330, 330, 330, 330, 330, 7, 330, + 330, 330, 330, 330, 330, 330, 200, 205, 205, 205, + 332, 332, 306, 307, 308, 309, 307, 205, 330, 330, + 330, 330, 39, 42, 43, 45, 207, 305, 6, 7, + 330, 207, 7, 7, 200, 200, 106, 330, 200, 108, + 205, 308, 206, 8, 200, 330, 207, 207, 210, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 158, 5, 5, 5, 5, 3, 5, 200, + 205, 5, 6, 5, 202, 303, 206, 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, 207, 224, 227, 230, 233, 236, + 239, 242, 245, 248, 251, 254, 257, 260, 263, 266, + 269, 272, 275, 278, 281, 284, 287, 290, 293, 296, + 299, 301, 200, 202, 200, 202, 200, 202, 200, 202, + 200, 202, 200, 202, 200, 202, 200, 202, 200, 202, + 200, 202, 200, 202, 205, 205, 200, 202, 200, 202, + 200, 202, 200, 202, 200, 202, 200, 202, 205, 205, + 205, 205, 205, 205, 201, 203, 200, 205, 205, 200, + 330, 338, 205, 207, 203, 302, 303, 344, 330, 6, + 4, 4, 206, 342, 202, 8, 6, 340, 330, 7, + 7, 7, 200, 7, 200, 7, 7, 202, 206, 330, + 201, 340, 207, 330, 330, 7, 207, 200, 200, 200, + 207, 330, 207, 207, 200, 200, 200, 200, 200, 203, + 332, 330, 330, 207, 207, 330, 205, 205, 205, 202, + 206, 206, 206, 206, 330, 202, 206, 206, 7, 7, + 199, 200, 7, 203, 330, 207, 330, 330, 200, 170, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 5, 200, 205, 203, 303, 344, 222, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 206, 6, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 4, 340, 344, 202, 6, 330, + 339, 202, 4, 108, 109, 330, 6, 6, 6, 7, + 201, 341, 343, 6, 330, 200, 205, 332, 338, 338, + 7, 338, 7, 338, 338, 340, 207, 202, 206, 207, + 8, 6, 206, 7, 7, 7, 7, 7, 6, 56, + 7, 7, 7, 7, 7, 7, 7, 4, 205, 205, + 205, 207, 332, 332, 332, 6, 340, 340, 340, 340, + 6, 6, 330, 330, 338, 338, 330, 7, 338, 4, + 205, 8, 8, 200, 7, 171, 3, 330, 330, 332, + 3, 3, 190, 3, 3, 338, 338, 3, 332, 3, + 3, 338, 338, 3, 3, 3, 3, 3, 338, 125, + 126, 127, 128, 129, 329, 338, 3, 5, 5, 3, + 3, 6, 334, 4, 6, 207, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 337, 338, 200, 202, 200, 202, 200, 202, + 200, 202, 202, 200, 200, 200, 302, 7, 302, 303, + 203, 7, 6, 341, 330, 205, 207, 6, 330, 6, + 6, 50, 6, 50, 338, 6, 338, 6, 6, 207, + 340, 330, 330, 338, 338, 338, 199, 199, 57, 58, + 338, 338, 338, 338, 338, 338, 338, 6, 7, 330, + 330, 330, 206, 205, 207, 205, 207, 205, 207, 207, + 207, 207, 207, 205, 205, 6, 6, 200, 199, 206, + 336, 107, 330, 330, 330, 206, 167, 205, 205, 205, + 200, 205, 200, 205, 200, 205, 200, 205, 205, 200, + 205, 200, 200, 205, 205, 205, 205, 205, 205, 200, + 205, 205, 205, 205, 205, 200, 205, 205, 303, 6, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 207, 203, 338, + 344, 330, 6, 4, 342, 6, 202, 341, 205, 332, + 332, 6, 6, 202, 207, 205, 6, 6, 6, 330, + 330, 330, 330, 6, 6, 6, 6, 6, 6, 6, + 330, 344, 207, 200, 205, 207, 307, 332, 6, 316, + 332, 6, 319, 332, 6, 322, 6, 6, 6, 6, + 330, 330, 7, 337, 337, 107, 338, 205, 207, 8, + 207, 200, 330, 210, 3, 330, 338, 6, 3, 6, + 190, 6, 329, 6, 3, 330, 6, 3, 6, 6, + 3, 329, 330, 330, 330, 338, 6, 3, 329, 330, + 3, 3, 6, 330, 334, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 338, 206, 4, 6, 6, 6, 7, 6, 203, + 330, 6, 6, 202, 330, 205, 205, 6, 6, 6, + 6, 206, 330, 207, 205, 206, 205, 206, 205, 206, + 205, 205, 336, 200, 207, 206, 104, 330, 330, 205, + 210, 200, 205, 205, 205, 205, 200, 205, 200, 205, + 200, 200, 200, 205, 200, 205, 200, 200, 205, 205, + 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 337, + 200, 341, 109, 205, 205, 330, 330, 307, 205, 207, + 188, 189, 199, 330, 332, 67, 72, 325, 326, 330, + 332, 325, 330, 332, 325, 330, 330, 107, 338, 330, + 207, 207, 338, 210, 6, 336, 329, 3, 330, 6, + 329, 6, 3, 6, 6, 6, 330, 6, 338, 6, + 6, 330, 3, 6, 330, 5, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 207, 6, 330, 5, 200, 200, 207, 330, + 330, 207, 205, 6, 206, 207, 326, 207, 205, 207, + 207, 205, 207, 207, 207, 206, 205, 6, 207, 167, + 205, 205, 205, 205, 200, 200, 200, 205, 200, 200, + 200, 205, 200, 200, 200, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 200, 205, 6, 205, + 205, 338, 338, 207, 6, 317, 330, 338, 6, 6, + 320, 330, 6, 6, 323, 330, 6, 6, 6, 338, + 338, 6, 210, 329, 329, 329, 329, 6, 6, 6, + 329, 6, 6, 6, 5, 225, 228, 231, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 297, + 330, 330, 5, 338, 338, 206, 207, 205, 206, 207, + 206, 207, 205, 207, 210, 205, 205, 200, 200, 205, + 205, 206, 206, 206, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 206, 200, 207, 205, 6, + 6, 325, 6, 318, 338, 325, 6, 321, 325, 6, + 324, 338, 104, 210, 329, 329, 6, 6, 329, 5, + 223, 330, 226, 330, 229, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 295, 344, 300, + 6, 5, 207, 206, 205, 207, 207, 206, 207, 206, + 207, 206, 167, 205, 205, 200, 200, 205, 207, 205, + 207, 205, 207, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 207, 206, 207, 6, 325, + 338, 6, 6, 325, 6, 325, 104, 330, 210, 329, + 338, 6, 6, 330, 6, 330, 6, 330, 6, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 344, 6, 298, 344, 6, 207, 207, 207, 207, 206, + 205, 210, 205, 205, 200, 200, 200, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 207, 6, 6, 6, + 6, 330, 330, 210, 329, 338, 234, 237, 240, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 344, 6, 205, + 207, 172, 205, 205, 206, 206, 206, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 330, 6, 173, 338, 329, + 232, 330, 235, 330, 238, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 207, 205, 200, 205, 207, 205, + 207, 205, 207, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 6, 338, 6, 330, 6, 330, 6, 330, 6, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 205, 200, + 200, 200, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 338, 243, 246, + 249, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 205, 206, 206, 206, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 338, 241, 330, 244, 330, + 247, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 205, 205, 207, + 205, 207, 205, 207, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 329, + 330, 6, 330, 6, 330, 6, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 200, 200, 200, 200, 200, 200, 200, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 6, 252, 255, + 258, 261, 264, 267, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 206, 206, 206, 206, 206, 206, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 250, 330, + 253, 330, 256, 330, 259, 330, 262, 330, 265, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 205, + 207, 205, 207, 205, 207, 205, 207, 205, 207, 205, + 207, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 330, 6, 330, 6, 330, 6, 330, 6, 330, 6, + 330, 6, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 205, 205, 205, 205, 205, 205, 200, 200, 200, + 330, 330, 330, 330, 330, 330, 288, 291, 294, 205, + 205, 205, 205, 205, 205, 206, 206, 206, 330, 330, + 330, 330, 330, 330, 286, 330, 289, 330, 292, 330, + 205, 205, 205, 205, 205, 205, 205, 207, 205, 207, + 205, 207, 330, 330, 330, 330, 330, 330, 330, 6, + 330, 6, 330, 6, 205, 205, 205, 200, 200, 200, + 330, 330, 330, 279, 282, 285, 205, 205, 205, 206, + 206, 206, 330, 330, 330, 277, 330, 280, 330, 283, + 330, 205, 205, 205, 205, 207, 205, 207, 205, 207, + 330, 330, 330, 330, 6, 330, 6, 330, 6, 205, + 205, 205, 330, 330, 330, 205, 205, 205, 330, 330, + 330, 205, 205, 205, 330, 330, 330, 200, 200, 200, + 270, 273, 276, 206, 206, 206, 268, 330, 271, 330, + 274, 330, 205, 207, 205, 207, 205, 207, 330, 6, + 330, 6, 330, 6 +}; -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include <alloca.h> -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include <malloc.h> +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) +# define YYSIZE_T __SIZE_TYPE__ #endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include <malloc.h> */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ +#if ! defined (YYSIZE_T) && defined (size_t) +# define YYSIZE_T size_t #endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc +#if ! defined (YYSIZE_T) +# if defined (__STDC__) || defined (__cplusplus) +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +#endif +#if ! defined (YYSIZE_T) +# define YYSIZE_T unsigned int #endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 +#define YYEMPTY (-2) #define YYEOF 0 + #define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +/* Like YYERROR except do call yyerror. This remains here temporarily + to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ + #define YYFAIL goto yyerrlab + #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ + +#define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ + { \ + yychar = (Token); \ + yylval = (Value); \ + yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ + { \ + yyerror ("syntax error: cannot back up");\ + YYERROR; \ + } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 -#ifndef YYPURE -#define YYLEX yylex() -#endif +/* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). */ -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) +#ifndef YYLLOC_DEFAULT +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + ((Current).first_line = (Rhs)[1].first_line, \ + (Current).first_column = (Rhs)[1].first_column, \ + (Current).last_line = (Rhs)[N].last_line, \ + (Current).last_column = (Rhs)[N].last_column) #endif -#else /* not YYLSP_NEEDED */ + +/* YYLEX -- calling `yylex' with the right arguments. */ + #ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) +# define YYLEX yylex (YYLEX_PARAM) #else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ +# define YYLEX yylex () #endif -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +# define YYDSYMPRINT(Args) \ +do { \ + if (yydebug) \ + yysymprint Args; \ +} while (0) + +# define YYDSYMPRINTF(Title, Token, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yysymprint (stderr, \ + Token, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_stack_print (short *bottom, short *top) +#else +static void +yy_stack_print (bottom, top) + short *bottom; + short *top; #endif +{ + YYFPRINTF (stderr, "Stack now"); + for (/* Nothing. */; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); + YYFPRINTF (stderr, "\n"); +} -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif -/* YYINITDEPTH indicates the initial size of the parser's stacks */ +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_reduce_print (int yyrule) +#else +static void +yy_reduce_print (yyrule) + int yyrule; +#endif +{ + int yyi; + unsigned int yylno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", + yyrule - 1, yylno); + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) + YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); + YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); +} +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (Rule); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YYDSYMPRINT(Args) +# define YYDSYMPRINTF(Title, Token, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH -#define YYINITDEPTH 200 +# define YYINITDEPTH 200 #endif -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH + Do not make this value too large; the results are undefined if + SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 +# undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 +# define YYMAXDEPTH 10000 #endif + -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined (__GLIBC__) && defined (_STRING_H) +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +# if defined (__STDC__) || defined (__cplusplus) +yystrlen (const char *yystr) +# else +yystrlen (yystr) + const char *yystr; +# endif { - register char *f = from; - register char *t = to; - register int i = count; + register const char *yys = yystr; + + while (*yys++ != '\0') + continue; - while (i-- > 0) - *t++ = *f++; + return yys - yystr - 1; +} +# endif +# endif + +# ifndef yystpcpy +# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +# if defined (__STDC__) || defined (__cplusplus) +yystpcpy (char *yydest, const char *yysrc) +# else +yystpcpy (yydest, yysrc) + char *yydest; + const char *yysrc; +# endif +{ + register char *yyd = yydest; + register const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; } +# endif +# endif -#else /* __cplusplus */ +#endif /* !YYERROR_VERBOSE */ -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ + + +#if YYDEBUG +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) static void -__yy_memcpy (char *to, char *from, unsigned int count) +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) +#else +static void +yysymprint (yyoutput, yytype, yyvaluep) + FILE *yyoutput; + int yytype; + YYSTYPE *yyvaluep; +#endif { - register char *t = to; - register char *f = from; - register int i = count; + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; - while (i-- > 0) - *t++ = *f++; + if (yytype < YYNTOKENS) + { + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); +# ifdef YYPRINT + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + } + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + + switch (yytype) + { + default: + break; + } + YYFPRINTF (yyoutput, ")"); } +#endif /* ! YYDEBUG */ +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yydestruct (int yytype, YYSTYPE *yyvaluep) +#else +static void +yydestruct (yytype, yyvaluep) + int yytype; + YYSTYPE *yyvaluep; #endif -#endif +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + switch (yytype) + { + + default: + break; + } +} -#line 217 "/usr/share/bison.simple" -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ +/* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM); +# else +int yyparse (); +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int yyparse (void); +#else +int yyparse (); #endif -#endif +#endif /* ! YYPARSE_PARAM */ + + + +/* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; + +/* Number of syntax errors so far. */ +int yynerrs; + + +/*----------. +| yyparse. | +`----------*/ + +#ifdef YYPARSE_PARAM +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM) +# else +int yyparse (YYPARSE_PARAM) + void *YYPARSE_PARAM; +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL +yyparse (void) +#else +int +yyparse () + +#endif +#endif { + register int yystate; register int yyn; + int yyresult; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + + /* Three stacks and their tools: + `yyss': related to states, + `yyvs': related to semantic values, + `yyls': related to locations. + + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + short yyssa[YYINITDEPTH]; + short *yyss = yyssa; register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + register YYSTYPE *yyvsp; - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else #define YYPOPSTACK (yyvsp--, yyssp--) -#endif - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; + YYSIZE_T yystacksize = YYINITDEPTH; -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ + /* When reducing, the number of symbols on the RHS of the reduced + rule. */ int yylen; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; @@ -4444,110 +5379,96 @@ yyparse(YYPARSE_PARAM_ARG) so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss - 1; + yyssp = yyss; yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: + goto yysetstate; - *++yyssp = yystate; +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. + */ + yyssp++; - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif + yysetstate: + *yyssp = yystate; + if (yyss + yystacksize - 1 <= yyssp) + { /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; + YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow ("parser stack overflow", + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } #else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyoverflowlab; +# else /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } + if (YYMAXDEPTH <= yystacksize) + goto yyoverflowlab; yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) + if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif + + { + short *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyoverflowlab; + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); + +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif #endif /* no yyoverflow */ - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - if (yyssp >= yyss + yystacksize - 1) + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) YYABORT; } -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; - yybackup: + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ @@ -4556,165 +5477,134 @@ yynewstate: /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYFLAG) + if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif + YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ + if (yychar <= YYEOF) { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif + yytoken = YYTRANSLATE (yychar); + YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) + if (yyn <= 0) { - if (yyn == YYFLAG) + if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } - else if (yyn == 0) - goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif + YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; yystate = yyn; goto yynewstate; -/* Do the default action for the current state. */ -yydefault: +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; + goto yyreduce; -/* Do a reduction. yyn is the number of a rule to reduce with. */ + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ yyreduce: + /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ -#if YYDEBUG != 0 - if (yydebug) - { - int i; + /* If YYLEN is nonzero, implement the default value of the action: + `$$ = $1'. - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - switch (yyn) { - -case 4: + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 5: #line 171 "Gmsh.y" -{ yyerrok; return 1; ; - break;} -case 5: + { yyerrok; return 1; ;} + break; + + case 6: #line 177 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 6: + { yyval.d = yyvsp[0].d; ;} + break; + + case 7: #line 178 "Gmsh.y" -{ yyval.d = -yyvsp[0].d; ; - break;} -case 9: + { yyval.d = -yyvsp[0].d; ;} + break; + + case 10: #line 188 "Gmsh.y" -{ + { yymsg(INFO, "Reading STL solid"); STL_Surf = Create_Surface(NEWSURFACE(), MSH_SURF_STL); STL_Surf->STL = new STL_Data; return 1; - ; - break;} -case 10: + ;} + break; + + case 11: #line 202 "Gmsh.y" -{ + { STL_Surf->STL->Add_Facet(yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-3].d, yyvsp[-2].d, CTX.geom.stl_create_elementary); return 1; - ; - break;} -case 11: + ;} + break; + + case 12: #line 209 "Gmsh.y" -{ + { if(CTX.geom.stl_create_elementary){ STL_Surf->STL->ReplaceDuplicate(); if(CTX.geom.stl_create_physical) @@ -4725,288 +5615,342 @@ case 11: } yymsg(INFO, "Read STL solid"); return 1; - ; - break;} -case 14: + ;} + break; + + case 15: #line 231 "Gmsh.y" -{ return 1; ; - break;} -case 15: + { return 1; ;} + break; + + case 16: #line 232 "Gmsh.y" -{ return 1; ; - break;} -case 16: + { return 1; ;} + break; + + case 17: #line 233 "Gmsh.y" -{ return 1; ; - break;} -case 17: + { return 1; ;} + break; + + case 18: #line 238 "Gmsh.y" -{ + { yymsg(INFO, "Reading Step Iso-10303-21 data"); Create_Step_Solid_BRep(); - ; - break;} -case 18: + ;} + break; + + case 19: #line 243 "Gmsh.y" -{ + { Resolve_BREP (); yymsg(INFO, "Read Step Iso-10303-21 data"); - ; - break;} -case 22: + ;} + break; + + case 23: #line 254 "Gmsh.y" -{ - ; - break;} -case 23: + { + ;} + break; + + case 24: #line 257 "Gmsh.y" -{ - ; - break;} -case 24: + { + ;} + break; + + case 25: #line 261 "Gmsh.y" -{ - ; - break;} -case 25: + { + ;} + break; + + case 26: #line 267 "Gmsh.y" -{ + { Add_Cartesian_Point((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); - ; - break;} -case 26: + ;} + break; + + case 27: #line 273 "Gmsh.y" -{ + { Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.); - ; - break;} -case 27: + ;} + break; + + case 28: #line 280 "Gmsh.y" -{ + { Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l, yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. ); - ; - break;} -case 28: + ;} + break; + + case 29: #line 286 "Gmsh.y" -{ + { Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d); - ; - break;} -case 29: + ;} + break; + + case 30: #line 290 "Gmsh.y" -{ + { Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 1); - ; - break;} -case 30: + ;} + break; + + case 31: #line 294 "Gmsh.y" -{ + { // check the norm! Face_Bound : hole outside surface! yymsg(INFO, "Found a face bound"); Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 0); - ; - break;} -case 31: + ;} + break; + + case 32: #line 301 "Gmsh.y" -{ + { Add_Oriented_Edge((int)yyvsp[-14].d, yyvsp[-10].c, (int)yyvsp[-4].d, yyvsp[-2].i); - ; - break;} -case 32: + ;} + break; + + case 33: #line 305 "Gmsh.y" -{ + { Add_Edge_Loop((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].l); - ; - break;} -case 33: + ;} + break; + + case 34: #line 310 "Gmsh.y" -{ + { Add_Advanced_Face((int)yyvsp[-12].d, yyvsp[-8].c, yyvsp[-6].l, (int)yyvsp[-4].d, yyvsp[-2].i); - ; - break;} -case 34: + ;} + break; + + case 35: #line 314 "Gmsh.y" -{ + { Add_Vertex_Point((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); - ; - break;} -case 35: + ;} + break; + + case 36: #line 318 "Gmsh.y" -{ - ; - break;} -case 36: + { + ;} + break; + + case 37: #line 322 "Gmsh.y" -{ + { Add_Axis2_Placement3D ((int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); - ; - break;} -case 37: + ;} + break; + + case 38: #line 326 "Gmsh.y" -{ + { Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); - ; - break;} -case 38: + ;} + break; + + case 39: #line 330 "Gmsh.y" -{ + { Add_Plane((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); - ; - break;} -case 39: + ;} + break; + + case 40: #line 334 "Gmsh.y" -{ + { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); - ; - break;} -case 40: + ;} + break; + + case 41: #line 338 "Gmsh.y" -{ + { yymsg(INFO, "Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); - ; - break;} -case 41: + ;} + break; + + case 42: #line 344 "Gmsh.y" -{ - ; - break;} -case 42: + { + ;} + break; + + case 43: #line 347 "Gmsh.y" -{ - ; - break;} -case 43: + { + ;} + break; + + case 44: #line 350 "Gmsh.y" -{ + { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 44: + ;} + break; + + case 45: #line 354 "Gmsh.y" -{ + { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 45: + ;} + break; + + case 46: #line 358 "Gmsh.y" -{ + { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 46: + ;} + break; + + case 47: #line 362 "Gmsh.y" -{ + { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 47: + ;} + break; + + case 48: #line 366 "Gmsh.y" -{ + { Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 48: + ;} + break; + + case 49: #line 371 "Gmsh.y" -{ - ; - break;} -case 49: + { + ;} + break; + + case 50: #line 374 "Gmsh.y" -{ - ; - break;} -case 50: + { + ;} + break; + + case 51: #line 378 "Gmsh.y" -{ - ; - break;} -case 51: + { + ;} + break; + + case 52: #line 381 "Gmsh.y" -{ - ; - break;} -case 52: + { + ;} + break; + + case 53: #line 385 "Gmsh.y" -{ - ; - break;} -case 53: + { + ;} + break; + + case 54: #line 388 "Gmsh.y" -{ - ; - break;} -case 54: + { + ;} + break; + + case 55: #line 391 "Gmsh.y" -{ - ; - break;} -case 57: + { + ;} + break; + + case 58: #line 403 "Gmsh.y" -{ return 1; ; - break;} -case 58: + { return 1; ;} + break; + + case 59: #line 404 "Gmsh.y" -{ return 1; ; - break;} -case 59: + { return 1; ;} + break; + + case 60: #line 405 "Gmsh.y" -{ return 1; ; - break;} -case 60: + { return 1; ;} + break; + + case 61: #line 406 "Gmsh.y" -{ return 1; ; - break;} -case 61: + { return 1; ;} + break; + + case 62: #line 407 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; - break;} -case 62: + { List_Delete(yyvsp[0].l); return 1; ;} + break; + + case 63: #line 408 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; - break;} -case 63: + { List_Delete(yyvsp[0].l); return 1; ;} + break; + + case 64: #line 409 "Gmsh.y" -{ return 1; ; - break;} -case 64: + { return 1; ;} + break; + + case 65: #line 410 "Gmsh.y" -{ return 1; ; - break;} -case 65: + { return 1; ;} + break; + + case 66: #line 411 "Gmsh.y" -{ return 1; ; - break;} -case 66: + { return 1; ;} + break; + + case 67: #line 412 "Gmsh.y" -{ List_Delete(yyvsp[0].l); return 1; ; - break;} -case 67: + { List_Delete(yyvsp[0].l); return 1; ;} + break; + + case 68: #line 413 "Gmsh.y" -{ return 1; ; - break;} -case 68: + { return 1; ;} + break; + + case 69: #line 414 "Gmsh.y" -{ return 1; ; - break;} -case 69: + { return 1; ;} + break; + + case 70: #line 415 "Gmsh.y" -{ return 1; ; - break;} -case 70: + { return 1; ;} + break; + + case 71: #line 416 "Gmsh.y" -{ return 1; ; - break;} -case 71: + { return 1; ;} + break; + + case 72: #line 421 "Gmsh.y" -{ + { Msg(DIRECT, yyvsp[-2].c); - ; - break;} -case 72: + ;} + break; + + case 73: #line 425 "Gmsh.y" -{ + { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring); if(i < 0) @@ -5016,181 +5960,211 @@ case 72: else Msg(DIRECT, tmpstring); List_Delete(yyvsp[-2].l); - ; - break;} -case 73: + ;} + break; + + case 74: #line 442 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-5].c, "View") && !CheckViewErrorFlags(View)) EndView(View, 1, yyname, yyvsp[-4].c); - ; - break;} -case 74: + ;} + break; + + case 75: #line 447 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-7].c, "View") && !CheckViewErrorFlags(View)) EndView(View, 1, yyname, yyvsp[-6].c); - ; - break;} -case 75: + ;} + break; + + case 76: #line 455 "Gmsh.y" -{ + { View = BeginView(1); for(int i = 0; i < VIEW_NB_ELEMENT_TYPES; i++){ ViewErrorFlags[i] = 0; } - ; - break;} -case 103: + ;} + break; + + case 104: #line 492 "Gmsh.y" -{ List_Add(View->SP, &yyvsp[0].d); ; - break;} -case 104: + { List_Add(View->SP, &yyvsp[0].d); ;} + break; + + case 105: #line 494 "Gmsh.y" -{ List_Add(View->SP, &yyvsp[0].d); ; - break;} -case 105: + { List_Add(View->SP, &yyvsp[0].d); ;} + break; + + case 106: #line 499 "Gmsh.y" -{ + { List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d); List_Add(View->SP, &yyvsp[-1].d); - ; - break;} -case 106: + ;} + break; + + case 107: #line 504 "Gmsh.y" -{ + { View->NbSP++; - ; - break;} -case 107: + ;} + break; + + case 108: #line 511 "Gmsh.y" -{ List_Add(View->VP, &yyvsp[0].d); ; - break;} -case 108: + { List_Add(View->VP, &yyvsp[0].d); ;} + break; + + case 109: #line 513 "Gmsh.y" -{ List_Add(View->VP, &yyvsp[0].d); ; - break;} -case 109: + { List_Add(View->VP, &yyvsp[0].d); ;} + break; + + case 110: #line 518 "Gmsh.y" -{ + { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); ntmp = List_Nbr(View->VP); - ; - break;} -case 110: + ;} + break; + + case 111: #line 524 "Gmsh.y" -{ + { if((List_Nbr(View->VP) - ntmp) % 3) ViewErrorFlags[1]++; View->NbVP++; - ; - break;} -case 111: + ;} + break; + + case 112: #line 532 "Gmsh.y" -{ List_Add(View->TP, &yyvsp[0].d); ; - break;} -case 112: + { List_Add(View->TP, &yyvsp[0].d); ;} + break; + + case 113: #line 534 "Gmsh.y" -{ List_Add(View->TP, &yyvsp[0].d); ; - break;} -case 113: + { List_Add(View->TP, &yyvsp[0].d); ;} + break; + + case 114: #line 539 "Gmsh.y" -{ + { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); ntmp = List_Nbr(View->TP); - ; - break;} -case 114: + ;} + break; + + case 115: #line 545 "Gmsh.y" -{ + { if((List_Nbr(View->TP) - ntmp) % 9) ViewErrorFlags[2]++; View->NbTP++; - ; - break;} -case 115: + ;} + break; + + case 116: #line 553 "Gmsh.y" -{ List_Add(View->SL, &yyvsp[0].d); ; - break;} -case 116: + { List_Add(View->SL, &yyvsp[0].d); ;} + break; + + case 117: #line 555 "Gmsh.y" -{ List_Add(View->SL, &yyvsp[0].d); ; - break;} -case 117: + { List_Add(View->SL, &yyvsp[0].d); ;} + break; + + case 118: #line 561 "Gmsh.y" -{ + { List_Add(View->SL, &yyvsp[-11].d); List_Add(View->SL, &yyvsp[-5].d); List_Add(View->SL, &yyvsp[-9].d); List_Add(View->SL, &yyvsp[-3].d); List_Add(View->SL, &yyvsp[-7].d); List_Add(View->SL, &yyvsp[-1].d); ntmp = List_Nbr(View->SL); - ; - break;} -case 118: + ;} + break; + + case 119: #line 568 "Gmsh.y" -{ + { if((List_Nbr(View->SL) - ntmp) % 2) ViewErrorFlags[3]++; View->NbSL++; - ; - break;} -case 119: + ;} + break; + + case 120: #line 576 "Gmsh.y" -{ List_Add(View->VL, &yyvsp[0].d); ; - break;} -case 120: + { List_Add(View->VL, &yyvsp[0].d); ;} + break; + + case 121: #line 578 "Gmsh.y" -{ List_Add(View->VL, &yyvsp[0].d); ; - break;} -case 121: + { List_Add(View->VL, &yyvsp[0].d); ;} + break; + + case 122: #line 584 "Gmsh.y" -{ + { List_Add(View->VL, &yyvsp[-11].d); List_Add(View->VL, &yyvsp[-5].d); List_Add(View->VL, &yyvsp[-9].d); List_Add(View->VL, &yyvsp[-3].d); List_Add(View->VL, &yyvsp[-7].d); List_Add(View->VL, &yyvsp[-1].d); ntmp = List_Nbr(View->VL); - ; - break;} -case 122: + ;} + break; + + case 123: #line 591 "Gmsh.y" -{ + { if((List_Nbr(View->VL) - ntmp) % 6) ViewErrorFlags[4]++; View->NbVL++; - ; - break;} -case 123: + ;} + break; + + case 124: #line 599 "Gmsh.y" -{ List_Add(View->TL, &yyvsp[0].d); ; - break;} -case 124: + { List_Add(View->TL, &yyvsp[0].d); ;} + break; + + case 125: #line 601 "Gmsh.y" -{ List_Add(View->TL, &yyvsp[0].d); ; - break;} -case 125: + { List_Add(View->TL, &yyvsp[0].d); ;} + break; + + case 126: #line 607 "Gmsh.y" -{ + { List_Add(View->TL, &yyvsp[-11].d); List_Add(View->TL, &yyvsp[-5].d); List_Add(View->TL, &yyvsp[-9].d); List_Add(View->TL, &yyvsp[-3].d); List_Add(View->TL, &yyvsp[-7].d); List_Add(View->TL, &yyvsp[-1].d); ntmp = List_Nbr(View->TL); - ; - break;} -case 126: + ;} + break; + + case 127: #line 614 "Gmsh.y" -{ + { if((List_Nbr(View->TL) - ntmp) % 18) ViewErrorFlags[5]++; View->NbTL++; - ; - break;} -case 127: + ;} + break; + + case 128: #line 622 "Gmsh.y" -{ List_Add(View->ST, &yyvsp[0].d); ; - break;} -case 128: + { List_Add(View->ST, &yyvsp[0].d); ;} + break; + + case 129: #line 624 "Gmsh.y" -{ List_Add(View->ST, &yyvsp[0].d); ; - break;} -case 129: + { List_Add(View->ST, &yyvsp[0].d); ;} + break; + + case 130: #line 631 "Gmsh.y" -{ + { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); List_Add(View->ST, &yyvsp[-15].d); List_Add(View->ST, &yyvsp[-9].d); @@ -5198,26 +6172,30 @@ case 129: List_Add(View->ST, &yyvsp[-13].d); List_Add(View->ST, &yyvsp[-7].d); List_Add(View->ST, &yyvsp[-1].d); ntmp = List_Nbr(View->ST); - ; - break;} -case 130: + ;} + break; + + case 131: #line 641 "Gmsh.y" -{ + { if((List_Nbr(View->ST) - ntmp) % 3) ViewErrorFlags[6]++; View->NbST++; - ; - break;} -case 131: + ;} + break; + + case 132: #line 649 "Gmsh.y" -{ List_Add(View->VT, &yyvsp[0].d); ; - break;} -case 132: + { List_Add(View->VT, &yyvsp[0].d); ;} + break; + + case 133: #line 651 "Gmsh.y" -{ List_Add(View->VT, &yyvsp[0].d); ; - break;} -case 133: + { List_Add(View->VT, &yyvsp[0].d); ;} + break; + + case 134: #line 658 "Gmsh.y" -{ + { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); List_Add(View->VT, &yyvsp[-15].d); List_Add(View->VT, &yyvsp[-9].d); @@ -5225,26 +6203,30 @@ case 133: List_Add(View->VT, &yyvsp[-13].d); List_Add(View->VT, &yyvsp[-7].d); List_Add(View->VT, &yyvsp[-1].d); ntmp = List_Nbr(View->VT); - ; - break;} -case 134: + ;} + break; + + case 135: #line 668 "Gmsh.y" -{ + { if((List_Nbr(View->VT) - ntmp) % 9) ViewErrorFlags[7]++; View->NbVT++; - ; - break;} -case 135: + ;} + break; + + case 136: #line 676 "Gmsh.y" -{ List_Add(View->TT, &yyvsp[0].d); ; - break;} -case 136: + { List_Add(View->TT, &yyvsp[0].d); ;} + break; + + case 137: #line 678 "Gmsh.y" -{ List_Add(View->TT, &yyvsp[0].d); ; - break;} -case 137: + { List_Add(View->TT, &yyvsp[0].d); ;} + break; + + case 138: #line 685 "Gmsh.y" -{ + { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); List_Add(View->TT, &yyvsp[-15].d); List_Add(View->TT, &yyvsp[-9].d); @@ -5252,26 +6234,30 @@ case 137: List_Add(View->TT, &yyvsp[-13].d); List_Add(View->TT, &yyvsp[-7].d); List_Add(View->TT, &yyvsp[-1].d); ntmp = List_Nbr(View->TT); - ; - break;} -case 138: + ;} + break; + + case 139: #line 695 "Gmsh.y" -{ + { if((List_Nbr(View->TT) - ntmp) % 27) ViewErrorFlags[8]++; View->NbTT++; - ; - break;} -case 139: + ;} + break; + + case 140: #line 703 "Gmsh.y" -{ List_Add(View->SQ, &yyvsp[0].d); ; - break;} -case 140: + { List_Add(View->SQ, &yyvsp[0].d); ;} + break; + + case 141: #line 705 "Gmsh.y" -{ List_Add(View->SQ, &yyvsp[0].d); ; - break;} -case 141: + { List_Add(View->SQ, &yyvsp[0].d); ;} + break; + + case 142: #line 713 "Gmsh.y" -{ + { List_Add(View->SQ, &yyvsp[-23].d); List_Add(View->SQ, &yyvsp[-17].d); List_Add(View->SQ, &yyvsp[-11].d); List_Add(View->SQ, &yyvsp[-5].d); List_Add(View->SQ, &yyvsp[-21].d); List_Add(View->SQ, &yyvsp[-15].d); @@ -5279,26 +6265,30 @@ case 141: List_Add(View->SQ, &yyvsp[-19].d); List_Add(View->SQ, &yyvsp[-13].d); List_Add(View->SQ, &yyvsp[-7].d); List_Add(View->SQ, &yyvsp[-1].d); ntmp = List_Nbr(View->SQ); - ; - break;} -case 142: + ;} + break; + + case 143: #line 723 "Gmsh.y" -{ + { if((List_Nbr(View->SQ) - ntmp) % 4) ViewErrorFlags[9]++; View->NbSQ++; - ; - break;} -case 143: + ;} + break; + + case 144: #line 731 "Gmsh.y" -{ List_Add(View->VQ, &yyvsp[0].d); ; - break;} -case 144: + { List_Add(View->VQ, &yyvsp[0].d); ;} + break; + + case 145: #line 733 "Gmsh.y" -{ List_Add(View->VQ, &yyvsp[0].d); ; - break;} -case 145: + { List_Add(View->VQ, &yyvsp[0].d); ;} + break; + + case 146: #line 741 "Gmsh.y" -{ + { List_Add(View->VQ, &yyvsp[-23].d); List_Add(View->VQ, &yyvsp[-17].d); List_Add(View->VQ, &yyvsp[-11].d); List_Add(View->VQ, &yyvsp[-5].d); List_Add(View->VQ, &yyvsp[-21].d); List_Add(View->VQ, &yyvsp[-15].d); @@ -5306,26 +6296,30 @@ case 145: List_Add(View->VQ, &yyvsp[-19].d); List_Add(View->VQ, &yyvsp[-13].d); List_Add(View->VQ, &yyvsp[-7].d); List_Add(View->VQ, &yyvsp[-1].d); ntmp = List_Nbr(View->VQ); - ; - break;} -case 146: + ;} + break; + + case 147: #line 751 "Gmsh.y" -{ + { if((List_Nbr(View->VQ) - ntmp) % 12) ViewErrorFlags[10]++; View->NbVQ++; - ; - break;} -case 147: + ;} + break; + + case 148: #line 759 "Gmsh.y" -{ List_Add(View->TQ, &yyvsp[0].d); ; - break;} -case 148: + { List_Add(View->TQ, &yyvsp[0].d); ;} + break; + + case 149: #line 761 "Gmsh.y" -{ List_Add(View->TQ, &yyvsp[0].d); ; - break;} -case 149: + { List_Add(View->TQ, &yyvsp[0].d); ;} + break; + + case 150: #line 769 "Gmsh.y" -{ + { List_Add(View->TQ, &yyvsp[-23].d); List_Add(View->TQ, &yyvsp[-17].d); List_Add(View->TQ, &yyvsp[-11].d); List_Add(View->TQ, &yyvsp[-5].d); List_Add(View->TQ, &yyvsp[-21].d); List_Add(View->TQ, &yyvsp[-15].d); @@ -5333,26 +6327,30 @@ case 149: List_Add(View->TQ, &yyvsp[-19].d); List_Add(View->TQ, &yyvsp[-13].d); List_Add(View->TQ, &yyvsp[-7].d); List_Add(View->TQ, &yyvsp[-1].d); ntmp = List_Nbr(View->TQ); - ; - break;} -case 150: + ;} + break; + + case 151: #line 779 "Gmsh.y" -{ + { if((List_Nbr(View->TQ) - ntmp) % 36) ViewErrorFlags[11]++; View->NbTQ++; - ; - break;} -case 151: + ;} + break; + + case 152: #line 787 "Gmsh.y" -{ List_Add(View->SS, &yyvsp[0].d); ; - break;} -case 152: + { List_Add(View->SS, &yyvsp[0].d); ;} + break; + + case 153: #line 789 "Gmsh.y" -{ List_Add(View->SS, &yyvsp[0].d); ; - break;} -case 153: + { List_Add(View->SS, &yyvsp[0].d); ;} + break; + + case 154: #line 797 "Gmsh.y" -{ + { List_Add(View->SS, &yyvsp[-23].d); List_Add(View->SS, &yyvsp[-17].d); List_Add(View->SS, &yyvsp[-11].d); List_Add(View->SS, &yyvsp[-5].d); List_Add(View->SS, &yyvsp[-21].d); List_Add(View->SS, &yyvsp[-15].d); @@ -5360,26 +6358,30 @@ case 153: List_Add(View->SS, &yyvsp[-19].d); List_Add(View->SS, &yyvsp[-13].d); List_Add(View->SS, &yyvsp[-7].d); List_Add(View->SS, &yyvsp[-1].d); ntmp = List_Nbr(View->SS); - ; - break;} -case 154: + ;} + break; + + case 155: #line 807 "Gmsh.y" -{ + { if((List_Nbr(View->SS) - ntmp) % 4) ViewErrorFlags[12]++; View->NbSS++; - ; - break;} -case 155: + ;} + break; + + case 156: #line 815 "Gmsh.y" -{ List_Add(View->VS, &yyvsp[0].d); ; - break;} -case 156: + { List_Add(View->VS, &yyvsp[0].d); ;} + break; + + case 157: #line 817 "Gmsh.y" -{ List_Add(View->VS, &yyvsp[0].d); ; - break;} -case 157: + { List_Add(View->VS, &yyvsp[0].d); ;} + break; + + case 158: #line 825 "Gmsh.y" -{ + { List_Add(View->VS, &yyvsp[-23].d); List_Add(View->VS, &yyvsp[-17].d); List_Add(View->VS, &yyvsp[-11].d); List_Add(View->VS, &yyvsp[-5].d); List_Add(View->VS, &yyvsp[-21].d); List_Add(View->VS, &yyvsp[-15].d); @@ -5387,26 +6389,30 @@ case 157: List_Add(View->VS, &yyvsp[-19].d); List_Add(View->VS, &yyvsp[-13].d); List_Add(View->VS, &yyvsp[-7].d); List_Add(View->VS, &yyvsp[-1].d); ntmp = List_Nbr(View->VS); - ; - break;} -case 158: + ;} + break; + + case 159: #line 835 "Gmsh.y" -{ + { if((List_Nbr(View->VS) - ntmp) % 12) ViewErrorFlags[13]++; View->NbVS++; - ; - break;} -case 159: + ;} + break; + + case 160: #line 843 "Gmsh.y" -{ List_Add(View->TS, &yyvsp[0].d); ; - break;} -case 160: + { List_Add(View->TS, &yyvsp[0].d); ;} + break; + + case 161: #line 845 "Gmsh.y" -{ List_Add(View->TS, &yyvsp[0].d); ; - break;} -case 161: + { List_Add(View->TS, &yyvsp[0].d); ;} + break; + + case 162: #line 853 "Gmsh.y" -{ + { List_Add(View->TS, &yyvsp[-23].d); List_Add(View->TS, &yyvsp[-17].d); List_Add(View->TS, &yyvsp[-11].d); List_Add(View->TS, &yyvsp[-5].d); List_Add(View->TS, &yyvsp[-21].d); List_Add(View->TS, &yyvsp[-15].d); @@ -5414,26 +6420,30 @@ case 161: List_Add(View->TS, &yyvsp[-19].d); List_Add(View->TS, &yyvsp[-13].d); List_Add(View->TS, &yyvsp[-7].d); List_Add(View->TS, &yyvsp[-1].d); ntmp = List_Nbr(View->TS); - ; - break;} -case 162: + ;} + break; + + case 163: #line 863 "Gmsh.y" -{ + { if((List_Nbr(View->TS) - ntmp) % 36) ViewErrorFlags[14]++; View->NbTS++; - ; - break;} -case 163: + ;} + break; + + case 164: #line 871 "Gmsh.y" -{ List_Add(View->SH, &yyvsp[0].d); ; - break;} -case 164: + { List_Add(View->SH, &yyvsp[0].d); ;} + break; + + case 165: #line 873 "Gmsh.y" -{ List_Add(View->SH, &yyvsp[0].d); ; - break;} -case 165: + { List_Add(View->SH, &yyvsp[0].d); ;} + break; + + case 166: #line 885 "Gmsh.y" -{ + { List_Add(View->SH, &yyvsp[-47].d); List_Add(View->SH, &yyvsp[-41].d); List_Add(View->SH, &yyvsp[-35].d); List_Add(View->SH, &yyvsp[-29].d); List_Add(View->SH, &yyvsp[-23].d); List_Add(View->SH, &yyvsp[-17].d); @@ -5447,26 +6457,30 @@ case 165: List_Add(View->SH, &yyvsp[-19].d); List_Add(View->SH, &yyvsp[-13].d); List_Add(View->SH, &yyvsp[-7].d); List_Add(View->SH, &yyvsp[-1].d); ntmp = List_Nbr(View->SH); - ; - break;} -case 166: + ;} + break; + + case 167: #line 901 "Gmsh.y" -{ + { if((List_Nbr(View->SH) - ntmp) % 8) ViewErrorFlags[15]++; View->NbSH++; - ; - break;} -case 167: + ;} + break; + + case 168: #line 909 "Gmsh.y" -{ List_Add(View->VH, &yyvsp[0].d); ; - break;} -case 168: + { List_Add(View->VH, &yyvsp[0].d); ;} + break; + + case 169: #line 911 "Gmsh.y" -{ List_Add(View->VH, &yyvsp[0].d); ; - break;} -case 169: + { List_Add(View->VH, &yyvsp[0].d); ;} + break; + + case 170: #line 923 "Gmsh.y" -{ + { List_Add(View->VH, &yyvsp[-47].d); List_Add(View->VH, &yyvsp[-41].d); List_Add(View->VH, &yyvsp[-35].d); List_Add(View->VH, &yyvsp[-29].d); List_Add(View->VH, &yyvsp[-23].d); List_Add(View->VH, &yyvsp[-17].d); @@ -5480,26 +6494,30 @@ case 169: List_Add(View->VH, &yyvsp[-19].d); List_Add(View->VH, &yyvsp[-13].d); List_Add(View->VH, &yyvsp[-7].d); List_Add(View->VH, &yyvsp[-1].d); ntmp = List_Nbr(View->VH); - ; - break;} -case 170: + ;} + break; + + case 171: #line 939 "Gmsh.y" -{ + { if((List_Nbr(View->VH) - ntmp) % 24) ViewErrorFlags[16]++; View->NbVH++; - ; - break;} -case 171: + ;} + break; + + case 172: #line 947 "Gmsh.y" -{ List_Add(View->TH, &yyvsp[0].d); ; - break;} -case 172: + { List_Add(View->TH, &yyvsp[0].d); ;} + break; + + case 173: #line 949 "Gmsh.y" -{ List_Add(View->TH, &yyvsp[0].d); ; - break;} -case 173: + { List_Add(View->TH, &yyvsp[0].d); ;} + break; + + case 174: #line 961 "Gmsh.y" -{ + { List_Add(View->TH, &yyvsp[-47].d); List_Add(View->TH, &yyvsp[-41].d); List_Add(View->TH, &yyvsp[-35].d); List_Add(View->TH, &yyvsp[-29].d); List_Add(View->TH, &yyvsp[-23].d); List_Add(View->TH, &yyvsp[-17].d); @@ -5513,26 +6531,30 @@ case 173: List_Add(View->TH, &yyvsp[-19].d); List_Add(View->TH, &yyvsp[-13].d); List_Add(View->TH, &yyvsp[-7].d); List_Add(View->TH, &yyvsp[-1].d); ntmp = List_Nbr(View->TH); - ; - break;} -case 174: + ;} + break; + + case 175: #line 977 "Gmsh.y" -{ + { if((List_Nbr(View->TH) - ntmp) % 72) ViewErrorFlags[17]++; View->NbTH++; - ; - break;} -case 175: + ;} + break; + + case 176: #line 985 "Gmsh.y" -{ List_Add(View->SI, &yyvsp[0].d); ; - break;} -case 176: + { List_Add(View->SI, &yyvsp[0].d); ;} + break; + + case 177: #line 987 "Gmsh.y" -{ List_Add(View->SI, &yyvsp[0].d); ; - break;} -case 177: + { List_Add(View->SI, &yyvsp[0].d); ;} + break; + + case 178: #line 997 "Gmsh.y" -{ + { List_Add(View->SI, &yyvsp[-35].d); List_Add(View->SI, &yyvsp[-29].d); List_Add(View->SI, &yyvsp[-23].d); List_Add(View->SI, &yyvsp[-17].d); List_Add(View->SI, &yyvsp[-11].d); List_Add(View->SI, &yyvsp[-5].d); @@ -5543,26 +6565,30 @@ case 177: List_Add(View->SI, &yyvsp[-19].d); List_Add(View->SI, &yyvsp[-13].d); List_Add(View->SI, &yyvsp[-7].d); List_Add(View->SI, &yyvsp[-1].d); ntmp = List_Nbr(View->SI); - ; - break;} -case 178: + ;} + break; + + case 179: #line 1010 "Gmsh.y" -{ + { if((List_Nbr(View->SI) - ntmp) % 6) ViewErrorFlags[18]++; View->NbSI++; - ; - break;} -case 179: + ;} + break; + + case 180: #line 1018 "Gmsh.y" -{ List_Add(View->VI, &yyvsp[0].d); ; - break;} -case 180: + { List_Add(View->VI, &yyvsp[0].d); ;} + break; + + case 181: #line 1020 "Gmsh.y" -{ List_Add(View->VI, &yyvsp[0].d); ; - break;} -case 181: + { List_Add(View->VI, &yyvsp[0].d); ;} + break; + + case 182: #line 1030 "Gmsh.y" -{ + { List_Add(View->VI, &yyvsp[-35].d); List_Add(View->VI, &yyvsp[-29].d); List_Add(View->VI, &yyvsp[-23].d); List_Add(View->VI, &yyvsp[-17].d); List_Add(View->VI, &yyvsp[-11].d); List_Add(View->VI, &yyvsp[-5].d); @@ -5573,26 +6599,30 @@ case 181: List_Add(View->VI, &yyvsp[-19].d); List_Add(View->VI, &yyvsp[-13].d); List_Add(View->VI, &yyvsp[-7].d); List_Add(View->VI, &yyvsp[-1].d); ntmp = List_Nbr(View->VI); - ; - break;} -case 182: + ;} + break; + + case 183: #line 1043 "Gmsh.y" -{ + { if((List_Nbr(View->VI) - ntmp) % 18) ViewErrorFlags[19]++; View->NbVI++; - ; - break;} -case 183: + ;} + break; + + case 184: #line 1051 "Gmsh.y" -{ List_Add(View->TI, &yyvsp[0].d); ; - break;} -case 184: + { List_Add(View->TI, &yyvsp[0].d); ;} + break; + + case 185: #line 1053 "Gmsh.y" -{ List_Add(View->TI, &yyvsp[0].d); ; - break;} -case 185: + { List_Add(View->TI, &yyvsp[0].d); ;} + break; + + case 186: #line 1063 "Gmsh.y" -{ + { List_Add(View->TI, &yyvsp[-35].d); List_Add(View->TI, &yyvsp[-29].d); List_Add(View->TI, &yyvsp[-23].d); List_Add(View->TI, &yyvsp[-17].d); List_Add(View->TI, &yyvsp[-11].d); List_Add(View->TI, &yyvsp[-5].d); @@ -5603,26 +6633,30 @@ case 185: List_Add(View->TI, &yyvsp[-19].d); List_Add(View->TI, &yyvsp[-13].d); List_Add(View->TI, &yyvsp[-7].d); List_Add(View->TI, &yyvsp[-1].d); ntmp = List_Nbr(View->TI); - ; - break;} -case 186: + ;} + break; + + case 187: #line 1076 "Gmsh.y" -{ + { if((List_Nbr(View->TI) - ntmp) % 54) ViewErrorFlags[20]++; View->NbTI++; - ; - break;} -case 187: + ;} + break; + + case 188: #line 1084 "Gmsh.y" -{ List_Add(View->SY, &yyvsp[0].d); ; - break;} -case 188: + { List_Add(View->SY, &yyvsp[0].d); ;} + break; + + case 189: #line 1086 "Gmsh.y" -{ List_Add(View->SY, &yyvsp[0].d); ; - break;} -case 189: + { List_Add(View->SY, &yyvsp[0].d); ;} + break; + + case 190: #line 1095 "Gmsh.y" -{ + { List_Add(View->SY, &yyvsp[-29].d); List_Add(View->SY, &yyvsp[-23].d); List_Add(View->SY, &yyvsp[-17].d); List_Add(View->SY, &yyvsp[-11].d); List_Add(View->SY, &yyvsp[-5].d); @@ -5633,26 +6667,30 @@ case 189: List_Add(View->SY, &yyvsp[-13].d); List_Add(View->SY, &yyvsp[-7].d); List_Add(View->SY, &yyvsp[-1].d); ntmp = List_Nbr(View->SY); - ; - break;} -case 190: + ;} + break; + + case 191: #line 1108 "Gmsh.y" -{ + { if((List_Nbr(View->SY) - ntmp) % 5) ViewErrorFlags[21]++; View->NbSY++; - ; - break;} -case 191: + ;} + break; + + case 192: #line 1116 "Gmsh.y" -{ List_Add(View->VY, &yyvsp[0].d); ; - break;} -case 192: + { List_Add(View->VY, &yyvsp[0].d); ;} + break; + + case 193: #line 1118 "Gmsh.y" -{ List_Add(View->VY, &yyvsp[0].d); ; - break;} -case 193: + { List_Add(View->VY, &yyvsp[0].d); ;} + break; + + case 194: #line 1127 "Gmsh.y" -{ + { List_Add(View->VY, &yyvsp[-29].d); List_Add(View->VY, &yyvsp[-23].d); List_Add(View->VY, &yyvsp[-17].d); List_Add(View->VY, &yyvsp[-11].d); List_Add(View->VY, &yyvsp[-5].d); @@ -5663,26 +6701,30 @@ case 193: List_Add(View->VY, &yyvsp[-13].d); List_Add(View->VY, &yyvsp[-7].d); List_Add(View->VY, &yyvsp[-1].d); ntmp = List_Nbr(View->VY); - ; - break;} -case 194: + ;} + break; + + case 195: #line 1140 "Gmsh.y" -{ + { if((List_Nbr(View->VY) - ntmp) % 15) ViewErrorFlags[22]++; View->NbVY++; - ; - break;} -case 195: + ;} + break; + + case 196: #line 1148 "Gmsh.y" -{ List_Add(View->TY, &yyvsp[0].d); ; - break;} -case 196: + { List_Add(View->TY, &yyvsp[0].d); ;} + break; + + case 197: #line 1150 "Gmsh.y" -{ List_Add(View->TY, &yyvsp[0].d); ; - break;} -case 197: + { List_Add(View->TY, &yyvsp[0].d); ;} + break; + + case 198: #line 1159 "Gmsh.y" -{ + { List_Add(View->TY, &yyvsp[-29].d); List_Add(View->TY, &yyvsp[-23].d); List_Add(View->TY, &yyvsp[-17].d); List_Add(View->TY, &yyvsp[-11].d); List_Add(View->TY, &yyvsp[-5].d); @@ -5693,110 +6735,128 @@ case 197: List_Add(View->TY, &yyvsp[-13].d); List_Add(View->TY, &yyvsp[-7].d); List_Add(View->TY, &yyvsp[-1].d); ntmp = List_Nbr(View->TY); - ; - break;} -case 198: + ;} + break; + + case 199: #line 1172 "Gmsh.y" -{ + { if((List_Nbr(View->TY) - ntmp) % 45) ViewErrorFlags[23]++; View->NbTY++; - ; - break;} -case 199: + ;} + break; + + case 200: #line 1180 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 200: + ;} + break; + + case 201: #line 1185 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 201: + ;} + break; + + case 202: #line 1193 "Gmsh.y" -{ + { List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); List_Add(View->T2D, &yyvsp[-1].d); double d = List_Nbr(View->T2C); List_Add(View->T2D, &d); - ; - break;} -case 202: + ;} + break; + + case 203: #line 1200 "Gmsh.y" -{ + { View->NbT2++; - ; - break;} -case 203: + ;} + break; + + case 204: #line 1207 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 204: + ;} + break; + + case 205: #line 1212 "Gmsh.y" -{ + { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); - ; - break;} -case 205: + ;} + break; + + case 206: #line 1220 "Gmsh.y" -{ + { List_Add(View->T3D, &yyvsp[-7].d); List_Add(View->T3D, &yyvsp[-5].d); List_Add(View->T3D, &yyvsp[-3].d); List_Add(View->T3D, &yyvsp[-1].d); double d = List_Nbr(View->T3C); List_Add(View->T3D, &d); - ; - break;} -case 206: + ;} + break; + + case 207: #line 1227 "Gmsh.y" -{ + { View->NbT3++; - ; - break;} -case 207: + ;} + break; + + case 208: #line 1235 "Gmsh.y" -{ + { View->adaptive = new Adaptive_Post_View(View, yyvsp[-5].l, yyvsp[-2].l); - ; - break;} -case 208: + ;} + break; + + case 209: #line 1243 "Gmsh.y" -{ yyval.i = 0; ; - break;} -case 209: + { yyval.i = 0; ;} + break; + + case 210: #line 1244 "Gmsh.y" -{ yyval.i = 1; ; - break;} -case 210: + { yyval.i = 1; ;} + break; + + case 211: #line 1245 "Gmsh.y" -{ yyval.i = 2; ; - break;} -case 211: + { yyval.i = 2; ;} + break; + + case 212: #line 1246 "Gmsh.y" -{ yyval.i = 3; ; - break;} -case 212: + { yyval.i = 3; ;} + break; + + case 213: #line 1247 "Gmsh.y" -{ yyval.i = 4; ; - break;} -case 213: + { yyval.i = 4; ;} + break; + + case 214: #line 1251 "Gmsh.y" -{ yyval.i = 1; ; - break;} -case 214: + { yyval.i = 1; ;} + break; + + case 215: #line 1252 "Gmsh.y" -{ yyval.i = -1; ; - break;} -case 215: + { yyval.i = -1; ;} + break; + + case 216: #line 1260 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; Symbol *pSymbol; @@ -5822,11 +6882,12 @@ case 215: break; } } - ; - break;} -case 216: + ;} + break; + + case 217: #line 1288 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-6].c; Symbol *pSymbol; @@ -5860,11 +6921,12 @@ case 216: yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d); } } - ; - break;} -case 217: + ;} + break; + + case 218: #line 1324 "Gmsh.y" -{ + { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) yymsg(GERROR, "Incompatible array dimensions in affectation"); else{ @@ -5911,11 +6973,12 @@ case 217: } List_Delete(yyvsp[-5].l); List_Delete(yyvsp[-1].l); - ; - break;} -case 218: + ;} + break; + + case 219: #line 1373 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; Symbol *pSymbol; @@ -5929,11 +6992,12 @@ case 218: List_Copy(yyvsp[-1].l, pSymbol->val); } List_Delete(yyvsp[-1].l); - ; - break;} -case 219: + ;} + break; + + case 220: #line 1389 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; Symbol *pSymbol; @@ -5941,11 +7005,12 @@ case 219: yymsg(GERROR, "Unknown variable '%s'", yyvsp[-2].c); else *(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i; - ; - break;} -case 220: + ;} + break; + + case 221: #line 1399 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; Symbol *pSymbol; @@ -5958,11 +7023,12 @@ case 220: else yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-5].c, (int)yyvsp[-3].d); } - ; - break;} -case 221: + ;} + break; + + case 222: #line 1417 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) @@ -5973,11 +7039,12 @@ case 221: else pStrOpt(0, GMSH_SET|GMSH_GUI, yyvsp[-1].c); } - ; - break;} -case 222: + ;} + break; + + case 223: #line 1430 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) @@ -5988,11 +7055,12 @@ case 222: else pStrOpt((int)yyvsp[-6].d, GMSH_SET|GMSH_GUI, yyvsp[-1].c); } - ; - break;} -case 223: + ;} + break; + + case 224: #line 1446 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) @@ -6015,11 +7083,12 @@ case 223: pNumOpt(0, GMSH_SET|GMSH_GUI, d); } } - ; - break;} -case 224: + ;} + break; + + case 225: #line 1471 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) @@ -6043,11 +7112,12 @@ case 224: pNumOpt((int)yyvsp[-6].d, GMSH_SET|GMSH_GUI, d); } } - ; - break;} -case 225: + ;} + break; + + case 226: #line 1497 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) @@ -6058,11 +7128,12 @@ case 225: else pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+yyvsp[-1].i); } - ; - break;} -case 226: + ;} + break; + + case 227: #line 1510 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) @@ -6073,11 +7144,12 @@ case 226: else pNumOpt((int)yyvsp[-5].d, GMSH_SET|GMSH_GUI, pNumOpt((int)yyvsp[-5].d, GMSH_GET, 0)+yyvsp[-1].i); } - ; - break;} -case 227: + ;} + break; + + case 228: #line 1526 "Gmsh.y" -{ + { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) @@ -6088,11 +7160,12 @@ case 227: else pColOpt(0, GMSH_SET|GMSH_GUI, yyvsp[-1].u); } - ; - break;} -case 228: + ;} + break; + + case 229: #line 1539 "Gmsh.y" -{ + { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) @@ -6103,11 +7176,12 @@ case 228: else pColOpt((int)yyvsp[-8].d, GMSH_SET|GMSH_GUI, yyvsp[-1].u); } - ; - break;} -case 229: + ;} + break; + + case 230: #line 1555 "Gmsh.y" -{ + { GmshColorTable *ct = Get_ColorTable(0); if(!ct) yymsg(GERROR, "View[%d] does not exist", 0); @@ -6124,11 +7198,12 @@ case 229: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 230: + ;} + break; + + case 231: #line 1574 "Gmsh.y" -{ + { GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) yymsg(GERROR, "View[%d] does not exist", (int)yyvsp[-6].d); @@ -6145,33 +7220,36 @@ case 230: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 231: + ;} + break; + + case 232: #line 1596 "Gmsh.y" -{ + { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].d); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", yyvsp[-3].c, yyvsp[-6].c); } - ; - break;} -case 232: + ;} + break; + + case 233: #line 1605 "Gmsh.y" -{ + { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].c); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", yyvsp[-3].c, yyvsp[-6].c); } - ; - break;} -case 233: + ;} + break; + + case 234: #line 1623 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPoint(num, THEM)){ yymsg(GERROR, "Point %d already exists", num); @@ -6185,11 +7263,12 @@ case 233: } yyval.s.Type = MSH_POINT; yyval.s.Num = num; - ; - break;} -case 234: + ;} + break; + + case 235: #line 1639 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT, THEM)){ yymsg(GERROR, "Physical point %d already exists", num); @@ -6203,11 +7282,12 @@ case 234: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_POINT; yyval.s.Num = num; - ; - break;} -case 235: + ;} + break; + + case 236: #line 1655 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; List_Read(yyvsp[-9].l, i, &p); @@ -6224,11 +7304,12 @@ case 235: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ; - break;} -case 236: + ;} + break; + + case 237: #line 1674 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -6242,11 +7323,12 @@ case 236: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ; - break;} -case 237: + ;} + break; + + case 238: #line 1693 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6262,11 +7344,12 @@ case 237: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_LINE; yyval.s.Num = num; - ; - break;} -case 238: + ;} + break; + + case 239: #line 1711 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6282,11 +7365,12 @@ case 238: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_SPLN; yyval.s.Num = num; - ; - break;} -case 239: + ;} + break; + + case 240: #line 1729 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6302,11 +7386,12 @@ case 239: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_CIRC; yyval.s.Num = num; - ; - break;} -case 240: + ;} + break; + + case 241: #line 1747 "Gmsh.y" -{ + { int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6330,11 +7415,12 @@ case 240: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_CIRC; yyval.s.Num = num; - ; - break;} -case 241: + ;} + break; + + case 242: #line 1773 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6350,11 +7436,12 @@ case 241: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_ELLI; yyval.s.Num = num; - ; - break;} -case 242: + ;} + break; + + case 243: #line 1791 "Gmsh.y" -{ + { int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6378,11 +7465,12 @@ case 242: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_ELLI; yyval.s.Num = num; - ; - break;} -case 243: + ;} + break; + + case 244: #line 1818 "Gmsh.y" -{ + { int num = (int)yyvsp[-14].d; if(FindCurve(num, THEM)){ yymsg(GERROR, "Curve %d already exists", num); @@ -6398,11 +7486,12 @@ case 243: } yyval.s.Type = MSH_SEGM_PARAMETRIC; yyval.s.Num = num; - ; - break;} -case 244: + ;} + break; + + case 245: #line 1836 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ yymsg(GERROR, "Too few control points for BSpline %d (%d < 4)", num, @@ -6424,11 +7513,12 @@ case 244: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_BSPLN; yyval.s.Num = num; - ; - break;} -case 245: + ;} + break; + + case 246: #line 1860 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ yymsg(GERROR, "Too few control points for Bezier curve %d (%d < 4)", num, @@ -6450,11 +7540,12 @@ case 245: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_BEZIER; yyval.s.Num = num; - ; - break;} -case 246: + ;} + break; + + case 247: #line 1884 "Gmsh.y" -{ + { int num = (int)yyvsp[-8].d; if(List_Nbr(yyvsp[-5].l) + (int)yyvsp[-1].d + 1 != List_Nbr(yyvsp[-3].l)){ yymsg(GERROR, "Wrong definition of Nurbs Curve %d: " @@ -6478,11 +7569,12 @@ case 246: List_Delete(yyvsp[-3].l); yyval.s.Type = MSH_SEGM_NURBS; yyval.s.Num = num; - ; - break;} -case 247: + ;} + break; + + case 248: #line 1910 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindEdgeLoop(num, THEM)){ yymsg(GERROR, "Line loop %d already exists", num); @@ -6497,11 +7589,12 @@ case 247: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SEGM_LOOP; yyval.s.Num = num; - ; - break;} -case 248: + ;} + break; + + case 249: #line 1927 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; List_Read(yyvsp[-9].l, i, &p); @@ -6517,11 +7610,12 @@ case 248: // dummy values yyval.s.Type = 0; yyval.s.Num = 0; - ; - break;} -case 249: + ;} + break; + + case 250: #line 1945 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE, THEM)){ yymsg(GERROR, "Physical line %d already exists", num); @@ -6535,11 +7629,12 @@ case 249: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_LINE; yyval.s.Num = num; - ; - break;} -case 250: + ;} + break; + + case 251: #line 1964 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6556,11 +7651,12 @@ case 250: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SURF_PLAN; yyval.s.Num = num; - ; - break;} -case 251: + ;} + break; + + case 252: #line 1983 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d, type = 0; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6597,11 +7693,12 @@ case 251: List_Delete(yyvsp[-1].l); yyval.s.Type = type; yyval.s.Num = num; - ; - break;} -case 252: + ;} + break; + + case 253: #line 2022 "Gmsh.y" -{ + { int num = (int)yyvsp[-8].d; Surface *support = FindSurface((int)yyvsp[-4].d, THEM); if(!support){ @@ -6624,11 +7721,12 @@ case 252: List_Delete(yyvsp[-2].l); yyval.s.Type = MSH_SURF_TRIMMED; yyval.s.Num = num; - ; - break;} -case 253: + ;} + break; + + case 254: #line 2048 "Gmsh.y" -{ + { int num = (int)yyvsp[-10].d, type = 0; Surface *s = FindSurface(num, THEM); if(!s) { @@ -6645,11 +7743,12 @@ case 253: //List_Delete($13); yyval.s.Type = type; yyval.s.Num = (int)yyvsp[-10].d; - ; - break;} -case 254: + ;} + break; + + case 255: #line 2070 "Gmsh.y" -{ + { int num = (int)yyvsp[-10].d, type = 0; Surface *s = FindSurface(num, THEM); if(!s) { @@ -6662,11 +7761,12 @@ case 254: } yyval.s.Type = type; yyval.s.Num = (int)yyvsp[-10].d; - ; - break;} -case 255: + ;} + break; + + case 256: #line 2087 "Gmsh.y" -{ + { int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6681,11 +7781,12 @@ case 255: List_Delete(yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = num; - ; - break;} -case 256: + ;} + break; + + case 257: #line 2106 "Gmsh.y" -{ + { int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ yymsg(GERROR, "Surface %d already exists", num); @@ -6700,11 +7801,12 @@ case 256: List_Delete(yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = num; - ; - break;} -case 257: + ;} + break; + + case 258: #line 2123 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindSurfaceLoop(num, THEM)){ yymsg(GERROR, "Surface loop %d already exists", num); @@ -6718,11 +7820,12 @@ case 257: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_SURF_LOOP; yyval.s.Num = num; - ; - break;} -case 258: + ;} + break; + + case 259: #line 2139 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE, THEM)){ yymsg(GERROR, "Physical surface %d already exists", num); @@ -6736,11 +7839,12 @@ case 258: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_SURFACE; yyval.s.Num = num; - ; - break;} -case 259: + ;} + break; + + case 260: #line 2158 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ yymsg(GERROR, "Volume %d already exists", num); @@ -6755,11 +7859,12 @@ case 259: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_VOLUME; yyval.s.Num = num; - ; - break;} -case 260: + ;} + break; + + case 261: #line 2175 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ yymsg(GERROR, "Volume %d already exists", num); @@ -6774,11 +7879,12 @@ case 260: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_VOLUME; yyval.s.Num = num; - ; - break;} -case 261: + ;} + break; + + case 262: #line 2192 "Gmsh.y" -{ + { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME, THEM)){ yymsg(GERROR, "Physical volume %d already exists", num); @@ -6792,63 +7898,73 @@ case 261: List_Delete(yyvsp[-1].l); yyval.s.Type = MSH_PHYSICAL_VOLUME; yyval.s.Num = num; - ; - break;} -case 262: + ;} + break; + + case 263: #line 2213 "Gmsh.y" -{ + { TranslateShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-1].l, 1); yyval.l = yyvsp[-1].l; - ; - break;} -case 263: + ;} + break; + + case 264: #line 2218 "Gmsh.y" -{ + { RotateShapes(yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l, 1); yyval.l = yyvsp[-1].l; - ; - break;} -case 264: + ;} + break; + + case 265: #line 2223 "Gmsh.y" -{ + { SymmetryShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-3].v[3], yyvsp[-1].l, 1); yyval.l = yyvsp[-1].l; - ; - break;} -case 265: + ;} + break; + + case 266: #line 2228 "Gmsh.y" -{ + { DilatShapes(yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l, 1); yyval.l = yyvsp[-1].l; - ; - break;} -case 266: + ;} + break; + + case 267: #line 2235 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} -case 267: + { yyval.l = yyvsp[0].l; ;} + break; + + case 268: #line 2236 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} -case 268: + { yyval.l = yyvsp[0].l; ;} + break; + + case 269: #line 2237 "Gmsh.y" -{ yyval.l = yyvsp[0].l; ; - break;} -case 269: + { yyval.l = yyvsp[0].l; ;} + break; + + case 270: #line 2242 "Gmsh.y" -{ + { yyval.l = List_Create(3, 3, sizeof(Shape)); - ; - break;} -case 270: + ;} + break; + + case 271: #line 2246 "Gmsh.y" -{ + { List_Add(yyval.l, &yyvsp[0].s); - ; - break;} -case 271: + ;} + break; + + case 272: #line 2250 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6862,11 +7978,12 @@ case 271: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 272: + ;} + break; + + case 273: #line 2266 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6880,11 +7997,12 @@ case 272: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 273: + ;} + break; + + case 274: #line 2282 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6898,11 +8016,12 @@ case 273: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 274: + ;} + break; + + case 275: #line 2298 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; List_Read(yyvsp[-2].l, i, &d); @@ -6916,11 +8035,12 @@ case 274: List_Add(yyval.l, &TheShape); } } - ; - break;} -case 275: + ;} + break; + + case 276: #line 2319 "Gmsh.y" -{ + { yyval.l = List_Create(3, 3, sizeof(Shape)); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -6931,29 +8051,32 @@ case 275: List_Add(yyval.l, &TheShape); } List_Delete(yyvsp[-1].l); - ; - break;} -case 276: + ;} + break; + + case 277: #line 2332 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-4].c, "View")) DuplicateView((int)yyvsp[-2].d, 0); yyval.l = NULL; - ; - break;} -case 277: + ;} + break; + + case 278: #line 2343 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); DeleteShape(TheShape.Type, TheShape.Num); } List_Delete(yyvsp[-1].l); - ; - break;} -case 278: + ;} + break; + + case 279: #line 2352 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-4].c, "View")){ RemoveViewByIndex((int)yyvsp[-2].d); #if defined(HAVE_FLTK) @@ -6961,45 +8084,50 @@ case 278: UpdateViewsInGUI(); #endif } - ; - break;} -case 279: + ;} + break; + + case 280: #line 2362 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-1].c, "Meshes") || !strcmp(yyvsp[-1].c, "All")) Init_Mesh(THEM); - ; - break;} -case 280: + ;} + break; + + case 281: #line 2372 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); ColorShape(TheShape.Type, TheShape.Num, yyvsp[-3].u); } List_Delete(yyvsp[-1].l); - ; - break;} -case 281: + ;} + break; + + case 282: #line 2386 "Gmsh.y" -{ + { int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); for(int i = 2; i < 6; i++) SetVisibilityByNumber(yyvsp[-1].c, i, m); - ; - break;} -case 282: + ;} + break; + + case 283: #line 2393 "Gmsh.y" -{ + { for(int i = 2; i < 6; i++) SetVisibilityByNumber(yyvsp[-1].c, i, 0); - ; - break;} -case 283: + ;} + break; + + case 284: #line 2398 "Gmsh.y" -{ + { int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -7008,22 +8136,24 @@ case 283: VisibilityShape(TheShape.Type, TheShape.Num, m); } List_Delete(yyvsp[-1].l); - ; - break;} -case 284: + ;} + break; + + case 285: #line 2409 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; List_Read(yyvsp[-1].l, i, &TheShape); VisibilityShape(TheShape.Type, TheShape.Num, 0); } List_Delete(yyvsp[-1].l); - ; - break;} -case 285: + ;} + break; + + case 286: #line 2423 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-2].c, "Include")){ char tmpstring[1024]; FixRelativePath(yyvsp[-1].c, tmpstring); @@ -7064,27 +8194,29 @@ case 285: else{ yymsg(GERROR, "Unknown command '%s'", yyvsp[-2].c); } - ; - break;} -case 286: + ;} + break; + + case 287: #line 2466 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-6].c, "Save") && !strcmp(yyvsp[-5].c, "View")){ - Post_View *v = (Post_View *)List_Pointer_Test(CTX.post.list, (int)yyvsp[-3].d); - if(v){ + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)yyvsp[-3].d); + if(vv){ char tmpstring[1024]; FixRelativePath(yyvsp[-1].c, tmpstring); - WriteView(v, tmpstring, CTX.post.file_format, 0); + WriteView(*vv, tmpstring, CTX.post.file_format, 0); } } else{ yymsg(GERROR, "Unknown command '%s'", yyvsp[-6].c); } - ; - break;} -case 287: + ;} + break; + + case 288: #line 2480 "Gmsh.y" -{ + { if(!strcmp(yyvsp[-2].c, "Sleep")){ long sleep_time = GetTime(); while(1){ @@ -7097,22 +8229,24 @@ case 287: else{ yymsg(GERROR, "Unknown command '%s'", yyvsp[-2].c); } - ; - break;} -case 288: + ;} + break; + + case 289: #line 2495 "Gmsh.y" -{ + { try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); } catch(...) { yymsg(GERROR, "Unknown action '%s' or plugin '%s'", yyvsp[-1].c, yyvsp[-4].c); } - ; - break;} -case 289: + ;} + break; + + case 290: #line 2504 "Gmsh.y" -{ + { // for backward compatibility if(!strcmp(yyvsp[-1].c, "Views")) CombineViews(0, 1, CTX.post.combine_remove_orig); @@ -7120,38 +8254,43 @@ case 289: CombineViews(1, 2, CTX.post.combine_remove_orig); else yymsg(GERROR, "Unknown 'Combine' command"); - ; - break;} -case 290: + ;} + break; + + case 291: #line 2514 "Gmsh.y" -{ + { exit(0); - ; - break;} -case 291: + ;} + break; + + case 292: #line 2518 "Gmsh.y" -{ + { SetBoundingBox(); - ; - break;} -case 292: + ;} + break; + + case 293: #line 2522 "Gmsh.y" -{ + { SetBoundingBox(yyvsp[-12].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); - ; - break;} -case 293: + ;} + break; + + case 294: #line 2526 "Gmsh.y" -{ + { #if defined(HAVE_FLTK) if(!CTX.batch) // we're in interactive mode Draw(); #endif - ; - break;} -case 294: + ;} + break; + + case 295: #line 2539 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0; @@ -7163,11 +8302,12 @@ case 294: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 295: + ;} + break; + + case 296: #line 2553 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d; @@ -7179,11 +8319,12 @@ case 295: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 296: + ;} + break; + + case 297: #line 2567 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0; @@ -7206,11 +8347,12 @@ case 296: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 297: + ;} + break; + + case 298: #line 2592 "Gmsh.y" -{ + { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d; @@ -7233,11 +8375,12 @@ case 297: yymsg(GERROR, "Reached maximum number of imbricated loops"); ImbricatedLoop = MAX_RECUR_LOOPS-1; } - ; - break;} -case 298: + ;} + break; + + case 299: #line 2617 "Gmsh.y" -{ + { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ LoopControlVariablesTab[ImbricatedLoop-1][0] += @@ -7262,44 +8405,50 @@ case 298: ImbricatedLoop = 0; } } - ; - break;} -case 299: + ;} + break; + + case 300: #line 2644 "Gmsh.y" -{ + { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno)) yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c); skip_until(NULL, "Return"); - ; - break;} -case 300: + ;} + break; + + case 301: #line 2650 "Gmsh.y" -{ + { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); - ; - break;} -case 301: + ;} + break; + + case 302: #line 2655 "Gmsh.y" -{ + { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); - ; - break;} -case 302: + ;} + break; + + case 303: #line 2660 "Gmsh.y" -{ + { if(!yyvsp[-1].d) skip_until("If", "EndIf"); - ; - break;} -case 303: + ;} + break; + + case 304: #line 2664 "Gmsh.y" -{ - ; - break;} -case 304: + { + ;} + break; + + case 305: #line 2675 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -7313,11 +8462,12 @@ case 304: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 305: + ;} + break; + + case 306: #line 2691 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -7331,11 +8481,12 @@ case 305: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 306: + ;} + break; + + case 307: #line 2707 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -7349,18 +8500,20 @@ case 306: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 307: + ;} + break; + + case 308: #line 2723 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 308: + ;} + break; + + case 309: #line 2728 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -7374,18 +8527,20 @@ case 308: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 309: + ;} + break; + + case 310: #line 2744 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 310: + ;} + break; + + case 311: #line 2749 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -7399,18 +8554,20 @@ case 310: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 311: + ;} + break; + + case 312: #line 2765 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 312: + ;} + break; + + case 313: #line 2770 "Gmsh.y" -{ + { Curve *pc, *prc; Shape TheShape; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -7424,11 +8581,12 @@ case 312: TheShape.Type = pc->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 313: + ;} + break; + + case 314: #line 2788 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -7449,11 +8607,12 @@ case 313: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 314: + ;} + break; + + case 315: #line 2811 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -7474,11 +8633,12 @@ case 314: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 315: + ;} + break; + + case 316: #line 2834 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -7499,18 +8659,20 @@ case 315: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 316: + ;} + break; + + case 317: #line 2857 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 317: + ;} + break; + + case 318: #line 2862 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -7531,18 +8693,20 @@ case 317: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 318: + ;} + break; + + case 319: #line 2885 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 319: + ;} + break; + + case 320: #line 2890 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -7563,18 +8727,20 @@ case 319: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 320: + ;} + break; + + case 321: #line 2913 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 321: + ;} + break; + + case 322: #line 2918 "Gmsh.y" -{ + { Surface *ps; Shape TheShape; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -7595,11 +8761,12 @@ case 321: TheShape.Type = ps->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 322: + ;} + break; + + case 323: #line 2944 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -7620,11 +8787,12 @@ case 322: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 323: + ;} + break; + + case 324: #line 2967 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -7645,11 +8813,12 @@ case 323: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 324: + ;} + break; + + case 325: #line 2990 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -7670,18 +8839,20 @@ case 324: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 325: + ;} + break; + + case 326: #line 3013 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 326: + ;} + break; + + case 327: #line 3018 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -7702,18 +8873,20 @@ case 326: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 327: + ;} + break; + + case 328: #line 3041 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 328: + ;} + break; + + case 329: #line 3047 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -7734,18 +8907,20 @@ case 328: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 329: + ;} + break; + + case 330: #line 3070 "Gmsh.y" -{ + { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; - ; - break;} -case 330: + ;} + break; + + case 331: #line 3076 "Gmsh.y" -{ + { Volume *pv; Shape TheShape; TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -7766,21 +8941,24 @@ case 330: TheShape.Type = pv->Typ; List_Add(yyval.l, &TheShape); } - ; - break;} -case 331: + ;} + break; + + case 332: #line 3102 "Gmsh.y" -{ - ; - break;} -case 332: + { + ;} + break; + + case 333: #line 3105 "Gmsh.y" -{ - ; - break;} -case 333: + { + ;} + break; + + case 334: #line 3111 "Gmsh.y" -{ + { double d; extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr(yyvsp[-6].l); @@ -7804,11 +8982,12 @@ case 333: List_Delete(yyvsp[-6].l); List_Delete(yyvsp[-4].l); List_Delete(yyvsp[-2].l); - ; - break;} -case 334: + ;} + break; + + case 335: #line 3137 "Gmsh.y" -{ + { double d; extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr(yyvsp[-4].l); @@ -7830,17 +9009,19 @@ case 334: } List_Delete(yyvsp[-4].l); List_Delete(yyvsp[-2].l); - ; - break;} -case 335: + ;} + break; + + case 336: #line 3161 "Gmsh.y" -{ + { extr.mesh.Recombine = true; - ; - break;} -case 336: + ;} + break; + + case 337: #line 3170 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -7856,11 +9037,12 @@ case 336: } } List_Delete(yyvsp[-3].l); - ; - break;} -case 337: + ;} + break; + + case 338: #line 3188 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; List_Read(yyvsp[-6].l, i, &d); @@ -7876,11 +9058,12 @@ case 337: } } List_Delete(yyvsp[-6].l); - ; - break;} -case 338: + ;} + break; + + case 339: #line 3206 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; List_Read(yyvsp[-6].l, i, &d); @@ -7896,11 +9079,12 @@ case 338: } } List_Delete(yyvsp[-6].l); - ; - break;} -case 339: + ;} + break; + + case 340: #line 3224 "Gmsh.y" -{ + { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d); @@ -7925,11 +9109,12 @@ case 339: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 340: + ;} + break; + + case 341: #line 3251 "Gmsh.y" -{ + { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d); @@ -7953,11 +9138,12 @@ case 340: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 341: + ;} + break; + + case 342: #line 3277 "Gmsh.y" -{ + { Volume *v = FindVolume((int)yyvsp[-4].d, THEM); if(!v) yymsg(WARNING, "Unknown volume %d", (int)yyvsp[-4].d); @@ -7981,11 +9167,12 @@ case 341: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 342: + ;} + break; + + case 343: #line 3303 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; List_Read(yyvsp[-3].l, i, &d); @@ -7997,11 +9184,12 @@ case 342: } } List_Delete(yyvsp[-3].l); - ; - break;} -case 343: + ;} + break; + + case 344: #line 3317 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double d; List_Read(yyvsp[-1].l, i, &d); @@ -8012,312 +9200,386 @@ case 343: } } List_Delete(yyvsp[-1].l); - ; - break;} -case 344: + ;} + break; + + case 345: #line 3336 "Gmsh.y" -{ + { ReplaceAllDuplicates(THEM); - ; - break;} -case 345: + ;} + break; + + case 346: #line 3340 "Gmsh.y" -{ + { IntersectAllSegmentsTogether(); - ; - break;} -case 346: + ;} + break; + + case 347: #line 3349 "Gmsh.y" -{yyval.i = 1;; - break;} -case 347: + {yyval.i = 1;;} + break; + + case 348: #line 3350 "Gmsh.y" -{yyval.i = 0;; - break;} -case 348: + {yyval.i = 0;;} + break; + + case 349: #line 3351 "Gmsh.y" -{yyval.i = -1;; - break;} -case 349: + {yyval.i = -1;;} + break; + + case 350: #line 3352 "Gmsh.y" -{yyval.i = -1;; - break;} -case 350: + {yyval.i = -1;;} + break; + + case 351: #line 3353 "Gmsh.y" -{yyval.i = -1;; - break;} -case 351: + {yyval.i = -1;;} + break; + + case 352: #line 3357 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 352: + { yyval.d = yyvsp[0].d; ;} + break; + + case 353: #line 3358 "Gmsh.y" -{ yyval.d = yyvsp[-1].d; ; - break;} -case 353: + { yyval.d = yyvsp[-1].d; ;} + break; + + case 354: #line 3359 "Gmsh.y" -{ yyval.d = -yyvsp[0].d; ; - break;} -case 354: + { yyval.d = -yyvsp[0].d; ;} + break; + + case 355: #line 3360 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 355: + { yyval.d = yyvsp[0].d; ;} + break; + + case 356: #line 3361 "Gmsh.y" -{ yyval.d = !yyvsp[0].d; ; - break;} -case 356: + { yyval.d = !yyvsp[0].d; ;} + break; + + case 357: #line 3362 "Gmsh.y" -{ yyval.d = yyvsp[-2].d - yyvsp[0].d; ; - break;} -case 357: + { yyval.d = yyvsp[-2].d - yyvsp[0].d; ;} + break; + + case 358: #line 3363 "Gmsh.y" -{ yyval.d = yyvsp[-2].d + yyvsp[0].d; ; - break;} -case 358: + { yyval.d = yyvsp[-2].d + yyvsp[0].d; ;} + break; + + case 359: #line 3364 "Gmsh.y" -{ yyval.d = yyvsp[-2].d * yyvsp[0].d; ; - break;} -case 359: + { yyval.d = yyvsp[-2].d * yyvsp[0].d; ;} + break; + + case 360: #line 3366 "Gmsh.y" -{ + { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); else yyval.d = yyvsp[-2].d / yyvsp[0].d; - ; - break;} -case 360: + ;} + break; + + case 361: #line 3372 "Gmsh.y" -{ yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ; - break;} -case 361: + { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ;} + break; + + case 362: #line 3373 "Gmsh.y" -{ yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; - break;} -case 362: + { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ;} + break; + + case 363: #line 3374 "Gmsh.y" -{ yyval.d = yyvsp[-2].d < yyvsp[0].d; ; - break;} -case 363: + { yyval.d = yyvsp[-2].d < yyvsp[0].d; ;} + break; + + case 364: #line 3375 "Gmsh.y" -{ yyval.d = yyvsp[-2].d > yyvsp[0].d; ; - break;} -case 364: + { yyval.d = yyvsp[-2].d > yyvsp[0].d; ;} + break; + + case 365: #line 3376 "Gmsh.y" -{ yyval.d = yyvsp[-2].d <= yyvsp[0].d; ; - break;} -case 365: + { yyval.d = yyvsp[-2].d <= yyvsp[0].d; ;} + break; + + case 366: #line 3377 "Gmsh.y" -{ yyval.d = yyvsp[-2].d >= yyvsp[0].d; ; - break;} -case 366: + { yyval.d = yyvsp[-2].d >= yyvsp[0].d; ;} + break; + + case 367: #line 3378 "Gmsh.y" -{ yyval.d = yyvsp[-2].d == yyvsp[0].d; ; - break;} -case 367: + { yyval.d = yyvsp[-2].d == yyvsp[0].d; ;} + break; + + case 368: #line 3379 "Gmsh.y" -{ yyval.d = yyvsp[-2].d != yyvsp[0].d; ; - break;} -case 368: + { yyval.d = yyvsp[-2].d != yyvsp[0].d; ;} + break; + + case 369: #line 3380 "Gmsh.y" -{ yyval.d = yyvsp[-2].d && yyvsp[0].d; ; - break;} -case 369: + { yyval.d = yyvsp[-2].d && yyvsp[0].d; ;} + break; + + case 370: #line 3381 "Gmsh.y" -{ yyval.d = yyvsp[-2].d || yyvsp[0].d; ; - break;} -case 370: + { yyval.d = yyvsp[-2].d || yyvsp[0].d; ;} + break; + + case 371: #line 3382 "Gmsh.y" -{ yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ; - break;} -case 371: + { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ;} + break; + + case 372: #line 3383 "Gmsh.y" -{ yyval.d = exp(yyvsp[-1].d); ; - break;} -case 372: + { yyval.d = exp(yyvsp[-1].d); ;} + break; + + case 373: #line 3384 "Gmsh.y" -{ yyval.d = log(yyvsp[-1].d); ; - break;} -case 373: + { yyval.d = log(yyvsp[-1].d); ;} + break; + + case 374: #line 3385 "Gmsh.y" -{ yyval.d = log10(yyvsp[-1].d); ; - break;} -case 374: + { yyval.d = log10(yyvsp[-1].d); ;} + break; + + case 375: #line 3386 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-1].d); ; - break;} -case 375: + { yyval.d = sqrt(yyvsp[-1].d); ;} + break; + + case 376: #line 3387 "Gmsh.y" -{ yyval.d = sin(yyvsp[-1].d); ; - break;} -case 376: + { yyval.d = sin(yyvsp[-1].d); ;} + break; + + case 377: #line 3388 "Gmsh.y" -{ yyval.d = asin(yyvsp[-1].d); ; - break;} -case 377: + { yyval.d = asin(yyvsp[-1].d); ;} + break; + + case 378: #line 3389 "Gmsh.y" -{ yyval.d = cos(yyvsp[-1].d); ; - break;} -case 378: + { yyval.d = cos(yyvsp[-1].d); ;} + break; + + case 379: #line 3390 "Gmsh.y" -{ yyval.d = acos(yyvsp[-1].d); ; - break;} -case 379: + { yyval.d = acos(yyvsp[-1].d); ;} + break; + + case 380: #line 3391 "Gmsh.y" -{ yyval.d = tan(yyvsp[-1].d); ; - break;} -case 380: + { yyval.d = tan(yyvsp[-1].d); ;} + break; + + case 381: #line 3392 "Gmsh.y" -{ yyval.d = atan(yyvsp[-1].d); ; - break;} -case 381: + { yyval.d = atan(yyvsp[-1].d); ;} + break; + + case 382: #line 3393 "Gmsh.y" -{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; - break;} -case 382: + { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;} + break; + + case 383: #line 3394 "Gmsh.y" -{ yyval.d = sinh(yyvsp[-1].d); ; - break;} -case 383: + { yyval.d = sinh(yyvsp[-1].d); ;} + break; + + case 384: #line 3395 "Gmsh.y" -{ yyval.d = cosh(yyvsp[-1].d); ; - break;} -case 384: + { yyval.d = cosh(yyvsp[-1].d); ;} + break; + + case 385: #line 3396 "Gmsh.y" -{ yyval.d = tanh(yyvsp[-1].d); ; - break;} -case 385: + { yyval.d = tanh(yyvsp[-1].d); ;} + break; + + case 386: #line 3397 "Gmsh.y" -{ yyval.d = fabs(yyvsp[-1].d); ; - break;} -case 386: + { yyval.d = fabs(yyvsp[-1].d); ;} + break; + + case 387: #line 3398 "Gmsh.y" -{ yyval.d = floor(yyvsp[-1].d); ; - break;} -case 387: + { yyval.d = floor(yyvsp[-1].d); ;} + break; + + case 388: #line 3399 "Gmsh.y" -{ yyval.d = ceil(yyvsp[-1].d); ; - break;} -case 388: + { yyval.d = ceil(yyvsp[-1].d); ;} + break; + + case 389: #line 3400 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 389: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 390: #line 3401 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 390: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 391: #line 3402 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; - break;} -case 391: + { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;} + break; + + case 392: #line 3403 "Gmsh.y" -{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; - break;} -case 392: + { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;} + break; + + case 393: #line 3405 "Gmsh.y" -{ yyval.d = exp(yyvsp[-1].d); ; - break;} -case 393: + { yyval.d = exp(yyvsp[-1].d); ;} + break; + + case 394: #line 3406 "Gmsh.y" -{ yyval.d = log(yyvsp[-1].d); ; - break;} -case 394: + { yyval.d = log(yyvsp[-1].d); ;} + break; + + case 395: #line 3407 "Gmsh.y" -{ yyval.d = log10(yyvsp[-1].d); ; - break;} -case 395: + { yyval.d = log10(yyvsp[-1].d); ;} + break; + + case 396: #line 3408 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-1].d); ; - break;} -case 396: + { yyval.d = sqrt(yyvsp[-1].d); ;} + break; + + case 397: #line 3409 "Gmsh.y" -{ yyval.d = sin(yyvsp[-1].d); ; - break;} -case 397: + { yyval.d = sin(yyvsp[-1].d); ;} + break; + + case 398: #line 3410 "Gmsh.y" -{ yyval.d = asin(yyvsp[-1].d); ; - break;} -case 398: + { yyval.d = asin(yyvsp[-1].d); ;} + break; + + case 399: #line 3411 "Gmsh.y" -{ yyval.d = cos(yyvsp[-1].d); ; - break;} -case 399: + { yyval.d = cos(yyvsp[-1].d); ;} + break; + + case 400: #line 3412 "Gmsh.y" -{ yyval.d = acos(yyvsp[-1].d); ; - break;} -case 400: + { yyval.d = acos(yyvsp[-1].d); ;} + break; + + case 401: #line 3413 "Gmsh.y" -{ yyval.d = tan(yyvsp[-1].d); ; - break;} -case 401: + { yyval.d = tan(yyvsp[-1].d); ;} + break; + + case 402: #line 3414 "Gmsh.y" -{ yyval.d = atan(yyvsp[-1].d); ; - break;} -case 402: + { yyval.d = atan(yyvsp[-1].d); ;} + break; + + case 403: #line 3415 "Gmsh.y" -{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; - break;} -case 403: + { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;} + break; + + case 404: #line 3416 "Gmsh.y" -{ yyval.d = sinh(yyvsp[-1].d); ; - break;} -case 404: + { yyval.d = sinh(yyvsp[-1].d); ;} + break; + + case 405: #line 3417 "Gmsh.y" -{ yyval.d = cosh(yyvsp[-1].d); ; - break;} -case 405: + { yyval.d = cosh(yyvsp[-1].d); ;} + break; + + case 406: #line 3418 "Gmsh.y" -{ yyval.d = tanh(yyvsp[-1].d); ; - break;} -case 406: + { yyval.d = tanh(yyvsp[-1].d); ;} + break; + + case 407: #line 3419 "Gmsh.y" -{ yyval.d = fabs(yyvsp[-1].d); ; - break;} -case 407: + { yyval.d = fabs(yyvsp[-1].d); ;} + break; + + case 408: #line 3420 "Gmsh.y" -{ yyval.d = floor(yyvsp[-1].d); ; - break;} -case 408: + { yyval.d = floor(yyvsp[-1].d); ;} + break; + + case 409: #line 3421 "Gmsh.y" -{ yyval.d = ceil(yyvsp[-1].d); ; - break;} -case 409: + { yyval.d = ceil(yyvsp[-1].d); ;} + break; + + case 410: #line 3422 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 410: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 411: #line 3423 "Gmsh.y" -{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; - break;} -case 411: + { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;} + break; + + case 412: #line 3424 "Gmsh.y" -{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; - break;} -case 412: + { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;} + break; + + case 413: #line 3425 "Gmsh.y" -{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; - break;} -case 413: + { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;} + break; + + case 414: #line 3434 "Gmsh.y" -{ yyval.d = yyvsp[0].d; ; - break;} -case 414: + { yyval.d = yyvsp[0].d; ;} + break; + + case 415: #line 3435 "Gmsh.y" -{ yyval.d = 3.141592653589793; ; - break;} -case 415: + { yyval.d = 3.141592653589793; ;} + break; + + case 416: #line 3436 "Gmsh.y" -{ yyval.d = ParUtil::Instance()->rank(); ; - break;} -case 416: + { yyval.d = ParUtil::Instance()->rank(); ;} + break; + + case 417: #line 3437 "Gmsh.y" -{ yyval.d = ParUtil::Instance()->size(); ; - break;} -case 417: + { yyval.d = ParUtil::Instance()->size(); ;} + break; + + case 418: #line 3442 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[0].c; Symbol *pSymbol; @@ -8327,11 +9589,12 @@ case 417: } else yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0); - ; - break;} -case 418: + ;} + break; + + case 419: #line 3454 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; Symbol *pSymbol; @@ -8348,11 +9611,12 @@ case 418: yyval.d = 0.; } } - ; - break;} -case 419: + ;} + break; + + case 420: #line 3473 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; Symbol *pSymbol; @@ -8363,11 +9627,12 @@ case 419: else{ yyval.d = List_Nbr(pSymbol->val); } - ; - break;} -case 420: + ;} + break; + + case 421: #line 3486 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-1].c; Symbol *pSymbol; @@ -8377,11 +9642,12 @@ case 420: } else yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i); - ; - break;} -case 421: + ;} + break; + + case 422: #line 3498 "Gmsh.y" -{ + { Symbol TheSymbol; TheSymbol.Name = yyvsp[-4].c; Symbol *pSymbol; @@ -8398,11 +9664,12 @@ case 421: yyval.d = 0.; } } - ; - break;} -case 422: + ;} + break; + + case 423: #line 3520 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ @@ -8417,11 +9684,12 @@ case 422: else yyval.d = pNumOpt(0, GMSH_GET, 0); } - ; - break;} -case 423: + ;} + break; + + case 424: #line 3537 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ @@ -8436,11 +9704,12 @@ case 423: else yyval.d = pNumOpt((int)yyvsp[-3].d, GMSH_GET, 0); } - ; - break;} -case 424: + ;} + break; + + case 425: #line 3554 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ @@ -8455,11 +9724,12 @@ case 424: else yyval.d = pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+yyvsp[0].i); } - ; - break;} -case 425: + ;} + break; + + case 426: #line 3571 "Gmsh.y" -{ + { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ @@ -8474,153 +9744,177 @@ case 425: else yyval.d = pNumOpt((int)yyvsp[-4].d, GMSH_SET|GMSH_GUI, pNumOpt((int)yyvsp[-4].d, GMSH_GET, 0)+yyvsp[0].i); } - ; - break;} -case 426: + ;} + break; + + case 427: #line 3591 "Gmsh.y" -{ + { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); - ; - break;} -case 427: + ;} + break; + + case 428: #line 3595 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; - ; - break;} -case 428: + ;} + break; + + case 429: #line 3599 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; - ; - break;} -case 429: + ;} + break; + + case 430: #line 3603 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; - ; - break;} -case 430: + ;} + break; + + case 431: #line 3607 "Gmsh.y" -{ + { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i]; - ; - break;} -case 431: + ;} + break; + + case 432: #line 3614 "Gmsh.y" -{ + { yyval.v[0] = yyvsp[-9].d; yyval.v[1] = yyvsp[-7].d; yyval.v[2] = yyvsp[-5].d; yyval.v[3] = yyvsp[-3].d; yyval.v[4] = yyvsp[-1].d; - ; - break;} -case 432: + ;} + break; + + case 433: #line 3618 "Gmsh.y" -{ + { yyval.v[0] = yyvsp[-7].d; yyval.v[1] = yyvsp[-5].d; yyval.v[2] = yyvsp[-3].d; yyval.v[3] = yyvsp[-1].d; yyval.v[4] = 1.0; - ; - break;} -case 433: + ;} + break; + + case 434: #line 3622 "Gmsh.y" -{ + { yyval.v[0] = yyvsp[-5].d; yyval.v[1] = yyvsp[-3].d; yyval.v[2] = yyvsp[-1].d; yyval.v[3] = 0.0; yyval.v[4] = 1.0; - ; - break;} -case 434: + ;} + break; + + case 435: #line 3626 "Gmsh.y" -{ + { yyval.v[0] = yyvsp[-5].d; yyval.v[1] = yyvsp[-3].d; yyval.v[2] = yyvsp[-1].d; yyval.v[3] = 0.0; yyval.v[4] = 1.0; - ; - break;} -case 435: + ;} + break; + + case 436: #line 3633 "Gmsh.y" -{ - ; - break;} -case 436: + { + ;} + break; + + case 437: #line 3636 "Gmsh.y" -{ - ; - break;} -case 437: + { + ;} + break; + + case 438: #line 3642 "Gmsh.y" -{ - ; - break;} -case 438: + { + ;} + break; + + case 439: #line 3645 "Gmsh.y" -{ - ; - break;} -case 439: + { + ;} + break; + + case 440: #line 3651 "Gmsh.y" -{ - ; - break;} -case 440: + { + ;} + break; + + case 441: #line 3654 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 441: + ;} + break; + + case 442: #line 3658 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 442: + ;} + break; + + case 443: #line 3665 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(List_T*)); List_Add(yyval.l, &(yyvsp[0].l)); - ; - break;} -case 443: + ;} + break; + + case 444: #line 3670 "Gmsh.y" -{ + { List_Add(yyval.l, &(yyvsp[0].l)); - ; - break;} -case 444: + ;} + break; + + case 445: #line 3678 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); - ; - break;} -case 445: + ;} + break; + + case 446: #line 3683 "Gmsh.y" -{ + { yyval.l = yyvsp[0].l; - ; - break;} -case 446: + ;} + break; + + case 447: #line 3687 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 447: + ;} + break; + + case 448: #line 3691 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; double *pd; for(int i = 0; i < List_Nbr(yyval.l); i++){ pd = (double*)List_Pointer(yyval.l, i); (*pd) = - (*pd); } - ; - break;} -case 448: + ;} + break; + + case 449: #line 3703 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); for(double d = yyvsp[-2].d; (yyvsp[-2].d < yyvsp[0].d) ? (d <= yyvsp[0].d) : (d >= yyvsp[0].d); (yyvsp[-2].d < yyvsp[0].d) ? (d += 1.) : (d -= 1.)) List_Add(yyval.l, &d); - ; - break;} -case 449: + ;} + break; + + case 450: #line 3709 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); if(!yyvsp[0].d || (yyvsp[-4].d < yyvsp[-2].d && yyvsp[0].d < 0) || (yyvsp[-4].d > yyvsp[-2].d && yyvsp[0].d > 0)){ yymsg(GERROR, "Wrong increment in '%g:%g:%g'", yyvsp[-4].d, yyvsp[-2].d, yyvsp[0].d); @@ -8629,11 +9923,12 @@ case 449: else for(double d = yyvsp[-4].d; (yyvsp[0].d > 0) ? (d <= yyvsp[-2].d) : (d >= yyvsp[-2].d); d += yyvsp[0].d) List_Add(yyval.l, &d); - ; - break;} -case 450: + ;} + break; + + case 451: #line 3720 "Gmsh.y" -{ + { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are // always conserved @@ -8651,11 +9946,12 @@ case 450: List_Add(yyval.l, &v->Pos.Y); List_Add(yyval.l, &v->Pos.Z); } - ; - break;} -case 451: + ;} + break; + + case 452: #line 3740 "Gmsh.y" -{ + { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ Shape *s = (Shape*) List_Pointer(yyvsp[0].l, i); @@ -8663,11 +9959,12 @@ case 451: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 452: + ;} + break; + + case 453: #line 3750 "Gmsh.y" -{ + { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ Shape *s = (Shape*) List_Pointer(yyvsp[0].l, i); @@ -8675,11 +9972,12 @@ case 452: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 453: + ;} + break; + + case 454: #line 3760 "Gmsh.y" -{ + { // FIXME: The syntax for this is ugly: we get double semi-colons // at the end of the line yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); @@ -8689,11 +9987,12 @@ case 453: List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 454: + ;} + break; + + case 455: #line 3772 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -8707,11 +10006,12 @@ case 454: for(int i = 0; i < List_Nbr(pSymbol->val); i++) List_Add(yyval.l, (double*)List_Pointer_Fast(pSymbol->val, i)); } - ; - break;} -case 455: + ;} + break; + + case 456: #line 3788 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -8727,11 +10027,12 @@ case 455: List_Add(yyval.l, &d); } } - ; - break;} -case 456: + ;} + break; + + case 457: #line 3806 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -8752,11 +10053,12 @@ case 456: } } List_Delete(yyvsp[-2].l); - ; - break;} -case 457: + ;} + break; + + case 458: #line 3829 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -8779,61 +10081,69 @@ case 457: } } List_Delete(yyvsp[-2].l); - ; - break;} -case 458: + ;} + break; + + case 459: #line 3857 "Gmsh.y" -{ + { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); - ; - break;} -case 459: + ;} + break; + + case 460: #line 3862 "Gmsh.y" -{ + { yyval.l = yyvsp[0].l; - ; - break;} -case 460: + ;} + break; + + case 461: #line 3866 "Gmsh.y" -{ + { List_Add(yyval.l, &(yyvsp[0].d)); - ; - break;} -case 461: + ;} + break; + + case 462: #line 3870 "Gmsh.y" -{ + { for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ double d; List_Read(yyvsp[0].l, i, &d); List_Add(yyval.l, &d); } List_Delete(yyvsp[0].l); - ; - break;} -case 462: + ;} + break; + + case 463: #line 3883 "Gmsh.y" -{ + { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); - ; - break;} -case 463: + ;} + break; + + case 464: #line 3887 "Gmsh.y" -{ + { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); - ; - break;} -case 464: + ;} + break; + + case 465: #line 3899 "Gmsh.y" -{ + { int flag; yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) yymsg(GERROR, "Unknown color '%s'", yyvsp[0].c); - ; - break;} -case 465: + ;} + break; + + case 466: #line 3905 "Gmsh.y" -{ + { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ @@ -8849,17 +10159,19 @@ case 465: yyval.u = pColOpt(0, GMSH_GET, 0); } } - ; - break;} -case 466: + ;} + break; + + case 467: #line 3926 "Gmsh.y" -{ + { yyval.l = yyvsp[-1].l; - ; - break;} -case 467: + ;} + break; + + case 468: #line 3930 "Gmsh.y" -{ + { yyval.l = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); if(!ct) @@ -8868,40 +10180,45 @@ case 467: for(int i = 0; i < ct->size; i++) List_Add(yyval.l, &ct->table[i]); } - ; - break;} -case 468: + ;} + break; + + case 469: #line 3944 "Gmsh.y" -{ + { yyval.l = List_Create(256, 10, sizeof(unsigned int)); List_Add(yyval.l, &(yyvsp[0].u)); - ; - break;} -case 469: + ;} + break; + + case 470: #line 3949 "Gmsh.y" -{ + { List_Add(yyval.l, &(yyvsp[0].u)); - ; - break;} -case 470: + ;} + break; + + case 471: #line 3956 "Gmsh.y" -{ + { yyval.c = yyvsp[0].c; - ; - break;} -case 471: + ;} + break; + + case 472: #line 3960 "Gmsh.y" -{ + { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)); strcpy(yyval.c, yyvsp[-3].c); strcat(yyval.c, yyvsp[-1].c); Free(yyvsp[-3].c); Free(yyvsp[-1].c); - ; - break;} -case 472: + ;} + break; + + case 473: #line 3968 "Gmsh.y" -{ + { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; for(i = strlen(yyvsp[-1].c)-1; i >= 0; i--){ @@ -8913,17 +10230,19 @@ case 472: } if(i <= 0) strcpy(yyval.c, yyvsp[-1].c); Free(yyvsp[-1].c); - ; - break;} -case 473: + ;} + break; + + case 474: #line 3982 "Gmsh.y" -{ + { yyval.c = yyvsp[-1].c; - ; - break;} -case 474: + ;} + break; + + case 475: #line 3986 "Gmsh.y" -{ + { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); if(i < 0){ @@ -8940,11 +10259,12 @@ case 474: Free(yyvsp[-3].c); } List_Delete(yyvsp[-1].l); - ; - break;} -case 475: + ;} + break; + + case 476: #line 4005 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))) @@ -8958,11 +10278,12 @@ case 475: strcpy(yyval.c, str); } } - ; - break;} -case 476: + ;} + break; + + case 477: #line 4021 "Gmsh.y" -{ + { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))) @@ -8976,230 +10297,238 @@ case 476: strcpy(yyval.c, str); } } - ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 543 "/usr/share/bison.simple" + ;} + break; + + + } + +/* Line 1000 of yacc.c. */ +#line 10308 "Gmsh.tab.cpp" yyvsp -= yylen; yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif + + YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ + /* Now `shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTBASE]; + yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; -yyerrlab: /* here on detecting error */ - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ +/*------------------------------------. +| yyerrlab -- here on detecting error | +`------------------------------------*/ +yyerrlab: + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) { ++yynerrs; - -#ifdef YYERROR_VERBOSE +#if YYERROR_VERBOSE yyn = yypact[yystate]; - if (yyn > YYFLAG && yyn < YYLAST) + if (YYPACT_NINF < yyn && yyn < YYLAST) { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) + YYSIZE_T yysize = 0; + int yytype = YYTRANSLATE (yychar); + const char* yyprefix; + char *yymsg; + int yyx; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 0; + + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); + yycount += 1; + if (yycount == 5) + { + yysize = 0; + break; + } + } + yysize += (sizeof ("syntax error, unexpected ") + + yystrlen (yytname[yytype])); + yymsg = (char *) YYSTACK_ALLOC (yysize); + if (yymsg != 0) { - strcpy(msg, "parse error"); + char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); + yyp = yystpcpy (yyp, yytname[yytype]); - if (count < 5) + if (yycount < 5) { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; + yyp = yystpcpy (yyp, yyprefix); + yyp = yystpcpy (yyp, yytname[yyx]); + yyprefix = " or "; } } - yyerror(msg); - free(msg); + yyerror (yymsg); + YYSTACK_FREE (yymsg); } else - yyerror ("parse error; also virtual memory exceeded"); + yyerror ("syntax error; also virtual memory exhausted"); } else #endif /* YYERROR_VERBOSE */ - yyerror("parse error"); + yyerror ("syntax error"); } - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ + if (yyerrstatus == 3) { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* If at end of input, pop the error token, + then the rest of the stack, then return failure. */ + if (yychar == YYEOF) + for (;;) + { + YYPOPSTACK; + if (yyssp == yyss) + YYABORT; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[*yyssp], yyvsp); + } + } + else + { + YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct (yytoken, &yylval); + yychar = YYEMPTY; - yychar = YYEMPTY; + } } - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; - goto yyerrhandle; -yyerrdefault: /* current state does not do anything special for the error token. */ +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; +#ifdef __GNUC__ + /* Pacify GCC when the user code never invokes YYERROR and the label + yyerrorlab therefore never appears in user code. */ + if (0) + goto yyerrorlab; #endif -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif + yyvsp -= yylen; + yyssp -= yylen; + yystate = *yyssp; + goto yyerrlab1; -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif -yyerrhandle: +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; + for (;;) + { + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); + YYPOPSTACK; + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); } - else if (yyn == 0) - goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif + YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif + yystate = yyn; goto yynewstate; - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#ifndef yyoverflow +/*----------------------------------------------. +| yyoverflowlab -- parser overflow comes here. | +`----------------------------------------------*/ +yyoverflowlab: + yyerror ("parser stack overflow"); + yyresult = 2; + /* Fall through. */ #endif - } - return 0; - yyabortlab: - /* YYABORT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); +yyreturn: +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); #endif - } - return 1; + return yyresult; } + + #line 4038 "Gmsh.y" @@ -9294,3 +10623,4 @@ void yymsg(int type, char *fmt, ...){ if(type == GERROR) yyerrorstate++; } + diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 329b660dd2..e8749a8936 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -1,4 +1,415 @@ -typedef union { +/* A Bison parser, made by GNU Bison 1.875c. */ + +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + tDOUBLE = 258, + tSTRING = 259, + tBIGSTR = 260, + tEND = 261, + tAFFECT = 262, + tDOTS = 263, + tPi = 264, + tMPI_Rank = 265, + tMPI_Size = 266, + tExp = 267, + tLog = 268, + tLog10 = 269, + tSqrt = 270, + tSin = 271, + tAsin = 272, + tCos = 273, + tAcos = 274, + tTan = 275, + tRand = 276, + tAtan = 277, + tAtan2 = 278, + tSinh = 279, + tCosh = 280, + tTanh = 281, + tFabs = 282, + tFloor = 283, + tCeil = 284, + tFmod = 285, + tModulo = 286, + tHypot = 287, + tPrintf = 288, + tSprintf = 289, + tStrCat = 290, + tStrPrefix = 291, + tBoundingBox = 292, + tDraw = 293, + tPoint = 294, + tCircle = 295, + tEllipse = 296, + tLine = 297, + tSurface = 298, + tSpline = 299, + tVolume = 300, + tCharacteristic = 301, + tLength = 302, + tParametric = 303, + tElliptic = 304, + tPlane = 305, + tRuled = 306, + tTriangulation = 307, + tTransfinite = 308, + tComplex = 309, + tPhysical = 310, + tUsing = 311, + tBump = 312, + tProgression = 313, + tPlugin = 314, + tRotate = 315, + tTranslate = 316, + tSymmetry = 317, + tDilate = 318, + tExtrude = 319, + tDuplicata = 320, + tLoop = 321, + tRecombine = 322, + tDelete = 323, + tCoherence = 324, + tIntersect = 325, + tAttractor = 326, + tLayers = 327, + tScalarPoint = 328, + tVectorPoint = 329, + tTensorPoint = 330, + tScalarLine = 331, + tVectorLine = 332, + tTensorLine = 333, + tScalarTriangle = 334, + tVectorTriangle = 335, + tTensorTriangle = 336, + tScalarQuadrangle = 337, + tVectorQuadrangle = 338, + tTensorQuadrangle = 339, + tScalarTetrahedron = 340, + tVectorTetrahedron = 341, + tTensorTetrahedron = 342, + tScalarHexahedron = 343, + tVectorHexahedron = 344, + tTensorHexahedron = 345, + tScalarPrism = 346, + tVectorPrism = 347, + tTensorPrism = 348, + tScalarPyramid = 349, + tVectorPyramid = 350, + tTensorPyramid = 351, + tText2D = 352, + tText3D = 353, + tInterpolationScheme = 354, + tCombine = 355, + tBSpline = 356, + tBezier = 357, + tNurbs = 358, + tOrder = 359, + tWith = 360, + tBounds = 361, + tKnots = 362, + tColor = 363, + tColorTable = 364, + tFor = 365, + tIn = 366, + tEndFor = 367, + tIf = 368, + tEndIf = 369, + tExit = 370, + tReturn = 371, + tCall = 372, + tFunction = 373, + tTrimmed = 374, + tShow = 375, + tHide = 376, + tB_SPLINE_SURFACE_WITH_KNOTS = 377, + tB_SPLINE_CURVE_WITH_KNOTS = 378, + tCARTESIAN_POINT = 379, + tTRUE = 380, + tFALSE = 381, + tUNSPECIFIED = 382, + tU = 383, + tV = 384, + tEDGE_CURVE = 385, + tVERTEX_POINT = 386, + tORIENTED_EDGE = 387, + tPLANE = 388, + tFACE_OUTER_BOUND = 389, + tEDGE_LOOP = 390, + tADVANCED_FACE = 391, + tVECTOR = 392, + tDIRECTION = 393, + tAXIS2_PLACEMENT_3D = 394, + tISO = 395, + tENDISO = 396, + tENDSEC = 397, + tDATA = 398, + tHEADER = 399, + tFILE_DESCRIPTION = 400, + tFILE_SCHEMA = 401, + tFILE_NAME = 402, + tMANIFOLD_SOLID_BREP = 403, + tCLOSED_SHELL = 404, + tADVANCED_BREP_SHAPE_REPRESENTATION = 405, + tFACE_BOUND = 406, + tCYLINDRICAL_SURFACE = 407, + tCONICAL_SURFACE = 408, + tCIRCLE = 409, + tTRIMMED_CURVE = 410, + tGEOMETRIC_SET = 411, + tCOMPOSITE_CURVE_SEGMENT = 412, + tCONTINUOUS = 413, + tCOMPOSITE_CURVE = 414, + tTOROIDAL_SURFACE = 415, + tPRODUCT_DEFINITION = 416, + tPRODUCT_DEFINITION_SHAPE = 417, + tSHAPE_DEFINITION_REPRESENTATION = 418, + tELLIPSE = 419, + tSolid = 420, + tEndSolid = 421, + tVertex = 422, + tFacet = 423, + tNormal = 424, + tOuter = 425, + tLoopSTL = 426, + tEndLoop = 427, + tEndFacet = 428, + tAFFECTDIVIDE = 429, + tAFFECTTIMES = 430, + tAFFECTMINUS = 431, + tAFFECTPLUS = 432, + tOR = 433, + tAND = 434, + tAPPROXEQUAL = 435, + tNOTEQUAL = 436, + tEQUAL = 437, + tGREATEROREQUAL = 438, + tLESSOREQUAL = 439, + tCROSSPRODUCT = 440, + UNARYPREC = 441, + tMINUSMINUS = 442, + tPLUSPLUS = 443 + }; +#endif +#define tDOUBLE 258 +#define tSTRING 259 +#define tBIGSTR 260 +#define tEND 261 +#define tAFFECT 262 +#define tDOTS 263 +#define tPi 264 +#define tMPI_Rank 265 +#define tMPI_Size 266 +#define tExp 267 +#define tLog 268 +#define tLog10 269 +#define tSqrt 270 +#define tSin 271 +#define tAsin 272 +#define tCos 273 +#define tAcos 274 +#define tTan 275 +#define tRand 276 +#define tAtan 277 +#define tAtan2 278 +#define tSinh 279 +#define tCosh 280 +#define tTanh 281 +#define tFabs 282 +#define tFloor 283 +#define tCeil 284 +#define tFmod 285 +#define tModulo 286 +#define tHypot 287 +#define tPrintf 288 +#define tSprintf 289 +#define tStrCat 290 +#define tStrPrefix 291 +#define tBoundingBox 292 +#define tDraw 293 +#define tPoint 294 +#define tCircle 295 +#define tEllipse 296 +#define tLine 297 +#define tSurface 298 +#define tSpline 299 +#define tVolume 300 +#define tCharacteristic 301 +#define tLength 302 +#define tParametric 303 +#define tElliptic 304 +#define tPlane 305 +#define tRuled 306 +#define tTriangulation 307 +#define tTransfinite 308 +#define tComplex 309 +#define tPhysical 310 +#define tUsing 311 +#define tBump 312 +#define tProgression 313 +#define tPlugin 314 +#define tRotate 315 +#define tTranslate 316 +#define tSymmetry 317 +#define tDilate 318 +#define tExtrude 319 +#define tDuplicata 320 +#define tLoop 321 +#define tRecombine 322 +#define tDelete 323 +#define tCoherence 324 +#define tIntersect 325 +#define tAttractor 326 +#define tLayers 327 +#define tScalarPoint 328 +#define tVectorPoint 329 +#define tTensorPoint 330 +#define tScalarLine 331 +#define tVectorLine 332 +#define tTensorLine 333 +#define tScalarTriangle 334 +#define tVectorTriangle 335 +#define tTensorTriangle 336 +#define tScalarQuadrangle 337 +#define tVectorQuadrangle 338 +#define tTensorQuadrangle 339 +#define tScalarTetrahedron 340 +#define tVectorTetrahedron 341 +#define tTensorTetrahedron 342 +#define tScalarHexahedron 343 +#define tVectorHexahedron 344 +#define tTensorHexahedron 345 +#define tScalarPrism 346 +#define tVectorPrism 347 +#define tTensorPrism 348 +#define tScalarPyramid 349 +#define tVectorPyramid 350 +#define tTensorPyramid 351 +#define tText2D 352 +#define tText3D 353 +#define tInterpolationScheme 354 +#define tCombine 355 +#define tBSpline 356 +#define tBezier 357 +#define tNurbs 358 +#define tOrder 359 +#define tWith 360 +#define tBounds 361 +#define tKnots 362 +#define tColor 363 +#define tColorTable 364 +#define tFor 365 +#define tIn 366 +#define tEndFor 367 +#define tIf 368 +#define tEndIf 369 +#define tExit 370 +#define tReturn 371 +#define tCall 372 +#define tFunction 373 +#define tTrimmed 374 +#define tShow 375 +#define tHide 376 +#define tB_SPLINE_SURFACE_WITH_KNOTS 377 +#define tB_SPLINE_CURVE_WITH_KNOTS 378 +#define tCARTESIAN_POINT 379 +#define tTRUE 380 +#define tFALSE 381 +#define tUNSPECIFIED 382 +#define tU 383 +#define tV 384 +#define tEDGE_CURVE 385 +#define tVERTEX_POINT 386 +#define tORIENTED_EDGE 387 +#define tPLANE 388 +#define tFACE_OUTER_BOUND 389 +#define tEDGE_LOOP 390 +#define tADVANCED_FACE 391 +#define tVECTOR 392 +#define tDIRECTION 393 +#define tAXIS2_PLACEMENT_3D 394 +#define tISO 395 +#define tENDISO 396 +#define tENDSEC 397 +#define tDATA 398 +#define tHEADER 399 +#define tFILE_DESCRIPTION 400 +#define tFILE_SCHEMA 401 +#define tFILE_NAME 402 +#define tMANIFOLD_SOLID_BREP 403 +#define tCLOSED_SHELL 404 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 405 +#define tFACE_BOUND 406 +#define tCYLINDRICAL_SURFACE 407 +#define tCONICAL_SURFACE 408 +#define tCIRCLE 409 +#define tTRIMMED_CURVE 410 +#define tGEOMETRIC_SET 411 +#define tCOMPOSITE_CURVE_SEGMENT 412 +#define tCONTINUOUS 413 +#define tCOMPOSITE_CURVE 414 +#define tTOROIDAL_SURFACE 415 +#define tPRODUCT_DEFINITION 416 +#define tPRODUCT_DEFINITION_SHAPE 417 +#define tSHAPE_DEFINITION_REPRESENTATION 418 +#define tELLIPSE 419 +#define tSolid 420 +#define tEndSolid 421 +#define tVertex 422 +#define tFacet 423 +#define tNormal 424 +#define tOuter 425 +#define tLoopSTL 426 +#define tEndLoop 427 +#define tEndFacet 428 +#define tAFFECTDIVIDE 429 +#define tAFFECTTIMES 430 +#define tAFFECTMINUS 431 +#define tAFFECTPLUS 432 +#define tOR 433 +#define tAND 434 +#define tAPPROXEQUAL 435 +#define tNOTEQUAL 436 +#define tEQUAL 437 +#define tGREATEROREQUAL 438 +#define tLESSOREQUAL 439 +#define tCROSSPRODUCT 440 +#define UNARYPREC 441 +#define tMINUSMINUS 442 +#define tPLUSPLUS 443 + + + + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +#line 81 "Gmsh.y" +typedef union YYSTYPE { char *c; int i; unsigned int u; @@ -7,192 +418,14 @@ typedef union { Shape s; List_T *l; } YYSTYPE; -#define tDOUBLE 257 -#define tSTRING 258 -#define tBIGSTR 259 -#define tEND 260 -#define tAFFECT 261 -#define tDOTS 262 -#define tPi 263 -#define tMPI_Rank 264 -#define tMPI_Size 265 -#define tExp 266 -#define tLog 267 -#define tLog10 268 -#define tSqrt 269 -#define tSin 270 -#define tAsin 271 -#define tCos 272 -#define tAcos 273 -#define tTan 274 -#define tRand 275 -#define tAtan 276 -#define tAtan2 277 -#define tSinh 278 -#define tCosh 279 -#define tTanh 280 -#define tFabs 281 -#define tFloor 282 -#define tCeil 283 -#define tFmod 284 -#define tModulo 285 -#define tHypot 286 -#define tPrintf 287 -#define tSprintf 288 -#define tStrCat 289 -#define tStrPrefix 290 -#define tBoundingBox 291 -#define tDraw 292 -#define tPoint 293 -#define tCircle 294 -#define tEllipse 295 -#define tLine 296 -#define tSurface 297 -#define tSpline 298 -#define tVolume 299 -#define tCharacteristic 300 -#define tLength 301 -#define tParametric 302 -#define tElliptic 303 -#define tPlane 304 -#define tRuled 305 -#define tTriangulation 306 -#define tTransfinite 307 -#define tComplex 308 -#define tPhysical 309 -#define tUsing 310 -#define tBump 311 -#define tProgression 312 -#define tPlugin 313 -#define tRotate 314 -#define tTranslate 315 -#define tSymmetry 316 -#define tDilate 317 -#define tExtrude 318 -#define tDuplicata 319 -#define tLoop 320 -#define tRecombine 321 -#define tDelete 322 -#define tCoherence 323 -#define tIntersect 324 -#define tAttractor 325 -#define tLayers 326 -#define tScalarPoint 327 -#define tVectorPoint 328 -#define tTensorPoint 329 -#define tScalarLine 330 -#define tVectorLine 331 -#define tTensorLine 332 -#define tScalarTriangle 333 -#define tVectorTriangle 334 -#define tTensorTriangle 335 -#define tScalarQuadrangle 336 -#define tVectorQuadrangle 337 -#define tTensorQuadrangle 338 -#define tScalarTetrahedron 339 -#define tVectorTetrahedron 340 -#define tTensorTetrahedron 341 -#define tScalarHexahedron 342 -#define tVectorHexahedron 343 -#define tTensorHexahedron 344 -#define tScalarPrism 345 -#define tVectorPrism 346 -#define tTensorPrism 347 -#define tScalarPyramid 348 -#define tVectorPyramid 349 -#define tTensorPyramid 350 -#define tText2D 351 -#define tText3D 352 -#define tInterpolationScheme 353 -#define tCombine 354 -#define tBSpline 355 -#define tBezier 356 -#define tNurbs 357 -#define tOrder 358 -#define tWith 359 -#define tBounds 360 -#define tKnots 361 -#define tColor 362 -#define tColorTable 363 -#define tFor 364 -#define tIn 365 -#define tEndFor 366 -#define tIf 367 -#define tEndIf 368 -#define tExit 369 -#define tReturn 370 -#define tCall 371 -#define tFunction 372 -#define tTrimmed 373 -#define tShow 374 -#define tHide 375 -#define tB_SPLINE_SURFACE_WITH_KNOTS 376 -#define tB_SPLINE_CURVE_WITH_KNOTS 377 -#define tCARTESIAN_POINT 378 -#define tTRUE 379 -#define tFALSE 380 -#define tUNSPECIFIED 381 -#define tU 382 -#define tV 383 -#define tEDGE_CURVE 384 -#define tVERTEX_POINT 385 -#define tORIENTED_EDGE 386 -#define tPLANE 387 -#define tFACE_OUTER_BOUND 388 -#define tEDGE_LOOP 389 -#define tADVANCED_FACE 390 -#define tVECTOR 391 -#define tDIRECTION 392 -#define tAXIS2_PLACEMENT_3D 393 -#define tISO 394 -#define tENDISO 395 -#define tENDSEC 396 -#define tDATA 397 -#define tHEADER 398 -#define tFILE_DESCRIPTION 399 -#define tFILE_SCHEMA 400 -#define tFILE_NAME 401 -#define tMANIFOLD_SOLID_BREP 402 -#define tCLOSED_SHELL 403 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 404 -#define tFACE_BOUND 405 -#define tCYLINDRICAL_SURFACE 406 -#define tCONICAL_SURFACE 407 -#define tCIRCLE 408 -#define tTRIMMED_CURVE 409 -#define tGEOMETRIC_SET 410 -#define tCOMPOSITE_CURVE_SEGMENT 411 -#define tCONTINUOUS 412 -#define tCOMPOSITE_CURVE 413 -#define tTOROIDAL_SURFACE 414 -#define tPRODUCT_DEFINITION 415 -#define tPRODUCT_DEFINITION_SHAPE 416 -#define tSHAPE_DEFINITION_REPRESENTATION 417 -#define tELLIPSE 418 -#define tSolid 419 -#define tEndSolid 420 -#define tVertex 421 -#define tFacet 422 -#define tNormal 423 -#define tOuter 424 -#define tLoopSTL 425 -#define tEndLoop 426 -#define tEndFacet 427 -#define tAFFECTPLUS 428 -#define tAFFECTMINUS 429 -#define tAFFECTTIMES 430 -#define tAFFECTDIVIDE 431 -#define tOR 432 -#define tAND 433 -#define tEQUAL 434 -#define tNOTEQUAL 435 -#define tAPPROXEQUAL 436 -#define tLESSOREQUAL 437 -#define tGREATEROREQUAL 438 -#define tCROSSPRODUCT 439 -#define tPLUSPLUS 440 -#define tMINUSMINUS 441 -#define UNARYPREC 442 - +/* Line 1275 of yacc.c. */ +#line 423 "Gmsh.tab.hpp" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif extern YYSTYPE yylval; + + + diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 522eafa6c9..aa9e346d68 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.184 2004-11-19 22:54:40 geuzaine Exp $ +// $Id: Gmsh.y,v 1.185 2004-11-25 02:10:39 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -2465,11 +2465,11 @@ Command : | tSTRING tSTRING '[' FExpr ']' StringExpr tEND { if(!strcmp($1, "Save") && !strcmp($2, "View")){ - Post_View *v = (Post_View *)List_Pointer_Test(CTX.post.list, (int)$4); - if(v){ + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, (int)$4); + if(vv){ char tmpstring[1024]; FixRelativePath($6, tmpstring); - WriteView(v, tmpstring, CTX.post.file_format, 0); + WriteView(*vv, tmpstring, CTX.post.file_format, 0); } } else{ diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 6445277a66..d2fbf72142 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.208 2004-11-19 22:54:40 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.209 2004-11-25 02:10:39 geuzaine Exp $ */ #define FLEX_SCANNER @@ -10,6 +10,7 @@ #define YY_FLEX_MINOR_VERSION 5 #include <stdio.h> +#include <unistd.h> /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ @@ -23,7 +24,6 @@ #ifdef __cplusplus #include <stdlib.h> -#include <unistd.h> /* Use prototypes in function declarations. */ #define YY_USE_PROTOS @@ -1029,7 +1029,7 @@ char *yytext; #line 1 "Gmsh.l" #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.208 2004-11-19 22:54:40 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.209 2004-11-25 02:10:39 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -1238,7 +1238,7 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; + register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; #line 80 "Gmsh.l" @@ -2750,6 +2750,7 @@ register char *yy_bp; #endif /* ifndef YY_NO_UNPUT */ +#ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput() #else @@ -2821,7 +2822,7 @@ static int input() return c; } - +#endif /* YY_NO_INPUT */ #ifdef YY_USE_PROTOS void yyrestart( FILE *input_file ) @@ -2932,11 +2933,6 @@ YY_BUFFER_STATE b; } -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) diff --git a/Parser/OpenFile.cpp b/Parser/OpenFile.cpp index e54db5de19..58d10763c7 100644 --- a/Parser/OpenFile.cpp +++ b/Parser/OpenFile.cpp @@ -1,4 +1,4 @@ -// $Id: OpenFile.cpp,v 1.65 2004-10-28 03:44:37 geuzaine Exp $ +// $Id: OpenFile.cpp,v 1.66 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -94,10 +94,10 @@ void SetBoundingBox(void) else if(List_Nbr(CTX.post.list)) { // else, if we have views, use the max bb of all the views double bbox[6]; - Post_View *v = (Post_View *)List_Pointer(CTX.post.list, 0); + Post_View *v = *(Post_View **)List_Pointer(CTX.post.list, 0); for(int i = 0; i < 6; i++) bbox[i] = v->BBox[i]; for(int i = 1; i < List_Nbr(CTX.post.list); i++){ - v = (Post_View *)List_Pointer(CTX.post.list, i); + v = *(Post_View **)List_Pointer(CTX.post.list, i); if(v->BBox[0] < bbox[0]) bbox[0] = v->BBox[0]; if(v->BBox[1] > bbox[1]) bbox[1] = v->BBox[1]; if(v->BBox[2] < bbox[2]) bbox[2] = v->BBox[2]; diff --git a/Plugin/CutGrid.cpp b/Plugin/CutGrid.cpp index 062cad672b..11d856dc63 100644 --- a/Plugin/CutGrid.cpp +++ b/Plugin/CutGrid.cpp @@ -1,4 +1,4 @@ -// $Id: CutGrid.cpp,v 1.8 2004-06-24 16:02:21 geuzaine Exp $ +// $Id: CutGrid.cpp,v 1.9 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -222,7 +222,7 @@ Post_View *GMSH_CutGridPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GenerateView(v1); } diff --git a/Plugin/CutMap.cpp b/Plugin/CutMap.cpp index c12b81bc4a..e9ddd21212 100644 --- a/Plugin/CutMap.cpp +++ b/Plugin/CutMap.cpp @@ -1,4 +1,4 @@ -// $Id: CutMap.cpp,v 1.41 2004-11-09 16:27:53 remacle Exp $ +// $Id: CutMap.cpp,v 1.42 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -52,10 +52,10 @@ double GMSH_CutMapPlugin::callbackA(int num, int action, double value) if(action > 0){ int iview = (int)CutMapOptions_Number[3].def; if(iview < 0) iview = num; - Post_View *v = (Post_View*)List_Pointer_Test(CTX.post.list, iview); - if(v){ - min = v->Min; - max = v->Max; + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, iview); + if(vv){ + min = (*vv)->Min; + max = (*vv)->Max; } } switch(action){ // configure the input field @@ -131,7 +131,7 @@ Post_View *GMSH_CutMapPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GMSH_LevelsetPlugin::execute(v1); } diff --git a/Plugin/CutParametric.cpp b/Plugin/CutParametric.cpp index 5ee0536d95..7875f66f16 100644 --- a/Plugin/CutParametric.cpp +++ b/Plugin/CutParametric.cpp @@ -1,4 +1,4 @@ -// $Id: CutParametric.cpp,v 1.5 2004-11-13 22:52:46 geuzaine Exp $ +// $Id: CutParametric.cpp,v 1.6 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -162,9 +162,10 @@ Post_View *GMSH_CutParametricPlugin::execute(Post_View * v) return v; } - Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); OctreePost o(v1); + + Post_View *v2 = BeginView(1); double *res0 = new double[v1->NbTimeStep]; double *res = new double[v1->NbTimeStep]; double x, y, z, x0, y0, z0; diff --git a/Plugin/CutPlane.cpp b/Plugin/CutPlane.cpp index dbb51afcac..8531890932 100644 --- a/Plugin/CutPlane.cpp +++ b/Plugin/CutPlane.cpp @@ -1,4 +1,4 @@ -// $Id: CutPlane.cpp,v 1.37 2004-11-09 16:27:53 remacle Exp $ +// $Id: CutPlane.cpp,v 1.38 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -59,10 +59,10 @@ void GMSH_CutPlanePlugin::draw() #if defined(HAVE_FLTK) int num = (int)CutPlaneOptions_Number[4].def; if(num < 0) num = iview; - Post_View *v = (Post_View*)List_Pointer_Test(CTX.post.list, num); - if(!v) return; - Draw_PlaneInBoundingBox(v->BBox[0], v->BBox[2], v->BBox[4], - v->BBox[1], v->BBox[3], v->BBox[5], + Post_View **vv = (Post_View **)List_Pointer_Test(CTX.post.list, num); + if(!vv) return; + Draw_PlaneInBoundingBox((*vv)->BBox[0], (*vv)->BBox[2], (*vv)->BBox[4], + (*vv)->BBox[1], (*vv)->BBox[3], (*vv)->BBox[5], CutPlaneOptions_Number[0].def, CutPlaneOptions_Number[1].def, CutPlaneOptions_Number[2].def, @@ -206,7 +206,7 @@ Post_View *GMSH_CutPlanePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GMSH_LevelsetPlugin::execute(v1); } diff --git a/Plugin/CutSphere.cpp b/Plugin/CutSphere.cpp index e71694f152..8bebf96c64 100644 --- a/Plugin/CutSphere.cpp +++ b/Plugin/CutSphere.cpp @@ -1,4 +1,4 @@ -// $Id: CutSphere.cpp,v 1.35 2004-11-09 16:27:53 remacle Exp $ +// $Id: CutSphere.cpp,v 1.36 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -209,7 +209,7 @@ Post_View *GMSH_CutSpherePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); return GMSH_LevelsetPlugin::execute(v1); } diff --git a/Plugin/DecomposeInSimplex.cpp b/Plugin/DecomposeInSimplex.cpp index 234856d8a3..9e8a98dea0 100644 --- a/Plugin/DecomposeInSimplex.cpp +++ b/Plugin/DecomposeInSimplex.cpp @@ -1,4 +1,4 @@ -// $Id: DecomposeInSimplex.cpp,v 1.13 2004-07-14 22:42:27 geuzaine Exp $ +// $Id: DecomposeInSimplex.cpp,v 1.14 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -132,7 +132,7 @@ Post_View *GMSH_DecomposeInSimplexPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); // Bail out if the view is a duplicate or if other views duplicate it if(v1->DuplicateOf || v1->Links) { diff --git a/Plugin/DisplacementRaise.cpp b/Plugin/DisplacementRaise.cpp index 3700e5bf6e..8d666d5641 100644 --- a/Plugin/DisplacementRaise.cpp +++ b/Plugin/DisplacementRaise.cpp @@ -1,4 +1,4 @@ -// $Id: DisplacementRaise.cpp,v 1.16 2004-07-05 15:20:06 geuzaine Exp $ +// $Id: DisplacementRaise.cpp,v 1.17 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -194,8 +194,8 @@ Post_View *GMSH_DisplacementRaisePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); - Post_View *v2 = (Post_View*)List_Pointer(CTX.post.list, dView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); + Post_View *v2 = *(Post_View **)List_Pointer(CTX.post.list, dView); displacementRaise(v1, v2, factor, dTimeStep); diff --git a/Plugin/Evaluate.cpp b/Plugin/Evaluate.cpp index db0924d367..390e9e1db9 100644 --- a/Plugin/Evaluate.cpp +++ b/Plugin/Evaluate.cpp @@ -1,4 +1,4 @@ -// $Id: Evaluate.cpp,v 1.7 2004-05-16 20:04:43 geuzaine Exp $ +// $Id: Evaluate.cpp,v 1.8 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -200,7 +200,7 @@ Post_View *GMSH_EvaluatePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); evaluate(v1, v1->SP, v1->NbSP, 1, 1, comp, timeStep, expr); evaluate(v1, v1->VP, v1->NbVP, 1, 3, comp, timeStep, expr); diff --git a/Plugin/Extract.cpp b/Plugin/Extract.cpp index 4ddcdc96a3..c7ec89db7f 100644 --- a/Plugin/Extract.cpp +++ b/Plugin/Extract.cpp @@ -1,4 +1,4 @@ -// $Id: Extract.cpp,v 1.13 2004-10-27 05:51:10 geuzaine Exp $ +// $Id: Extract.cpp,v 1.14 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -212,11 +212,9 @@ Post_View *GMSH_ExtractPlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - // get v1 after BeginView: this is ok even if post.list got reallocated - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); - // points extract(expr, v1->SP, v1->NbSP, v2->SP, &v2->NbSP, v2->VP, &v2->NbVP, v1->NbTimeStep, 1, 1); extract(expr, v1->VP, v1->NbVP, v2->SP, &v2->NbSP, v2->VP, &v2->NbVP, v1->NbTimeStep, 1, 3); diff --git a/Plugin/HarmonicToTime.cpp b/Plugin/HarmonicToTime.cpp index 98a4383ebd..c7855622af 100644 --- a/Plugin/HarmonicToTime.cpp +++ b/Plugin/HarmonicToTime.cpp @@ -1,4 +1,4 @@ -// $Id: HarmonicToTime.cpp,v 1.2 2004-10-31 01:50:27 geuzaine Exp $ +// $Id: HarmonicToTime.cpp,v 1.3 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -136,7 +136,7 @@ Post_View *GMSH_HarmonicToTimePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); if(rIndex < 0 || rIndex >= v1->NbTimeStep || iIndex < 0 || iIndex >= v1->NbTimeStep){ Msg(GERROR, "Wrong real or imaginary part index"); @@ -144,8 +144,6 @@ Post_View *GMSH_HarmonicToTimePlugin::execute(Post_View * v) } Post_View *v2 = BeginView(1); - // get v1 again, in case BeginView induced a realloc of the view list - v1 = (Post_View*)List_Pointer(CTX.post.list, iView); h2t(v1->NbSP, v1->SP, &v2->NbSP, v2->SP, 1, 1, rIndex, iIndex, nSteps); h2t(v1->NbVP, v1->VP, &v2->NbVP, v2->VP, 1, 3, rIndex, iIndex, nSteps); diff --git a/Plugin/Integrate.cpp b/Plugin/Integrate.cpp index 155f77a6af..4071f4d009 100644 --- a/Plugin/Integrate.cpp +++ b/Plugin/Integrate.cpp @@ -1,4 +1,4 @@ -// $Id: Integrate.cpp,v 1.3 2004-11-24 18:52:21 geuzaine Exp $ +// $Id: Integrate.cpp,v 1.4 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -173,8 +173,8 @@ Post_View *GMSH_IntegratePlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); double x = (v1->BBox[0]+v1->BBox[1])/2.; double y = (v1->BBox[2]+v1->BBox[3])/2.; diff --git a/Plugin/Levelset.cpp b/Plugin/Levelset.cpp index f42911b5f5..f5d0f2ca0a 100644 --- a/Plugin/Levelset.cpp +++ b/Plugin/Levelset.cpp @@ -1,4 +1,4 @@ -// $Id: Levelset.cpp,v 1.17 2004-11-23 09:00:50 remacle Exp $ +// $Id: Levelset.cpp,v 1.18 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -348,14 +348,15 @@ Post_View *GMSH_LevelsetPlugin::execute(Post_View * v) if(_valueView < 0) { w = v; } - else if(!(w = (Post_View *)List_Pointer_Test(CTX.post.list, _valueView))) { + else if(!List_Pointer_Test(CTX.post.list, _valueView)) { Msg(GERROR, "View[%d] does not exist: reverting to View[%d]", _valueView, v->Index); w = v; } + else{ + w = *(Post_View **)List_Pointer(CTX.post.list, _valueView); + } - // FIXME: this is not secure: if BeginView forces a post.list - // reallocation, w and v are wrong if(_valueIndependent) { out.push_back(BeginView(1)); } diff --git a/Plugin/Skin.cpp b/Plugin/Skin.cpp index a503c1ae11..598cb97541 100644 --- a/Plugin/Skin.cpp +++ b/Plugin/Skin.cpp @@ -1,4 +1,4 @@ -// $Id: Skin.cpp,v 1.28 2004-09-16 19:15:27 geuzaine Exp $ +// $Id: Skin.cpp,v 1.29 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -181,8 +181,8 @@ Post_View *GMSH_SkinPlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); _nbTimeStep = v1->NbTimeStep; diff --git a/Plugin/Smooth.cpp b/Plugin/Smooth.cpp index f225c1d0c1..b3da95cd10 100644 --- a/Plugin/Smooth.cpp +++ b/Plugin/Smooth.cpp @@ -1,4 +1,4 @@ -// $Id: Smooth.cpp,v 1.19 2004-05-16 20:04:43 geuzaine Exp $ +// $Id: Smooth.cpp,v 1.20 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -90,7 +90,7 @@ Post_View *GMSH_SmoothPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); v1->smooth(); return v1; diff --git a/Plugin/SphericalRaise.cpp b/Plugin/SphericalRaise.cpp index 40f3675acf..bc558313a7 100644 --- a/Plugin/SphericalRaise.cpp +++ b/Plugin/SphericalRaise.cpp @@ -1,4 +1,4 @@ -// $Id: SphericalRaise.cpp,v 1.19 2004-07-21 18:18:23 geuzaine Exp $ +// $Id: SphericalRaise.cpp,v 1.20 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -179,7 +179,7 @@ Post_View *GMSH_SphericalRaisePlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); sphericalRaise(v1, timeStep, center, raise); return v1; diff --git a/Plugin/StreamLines.cpp b/Plugin/StreamLines.cpp index 4391683300..dba4c39dfb 100644 --- a/Plugin/StreamLines.cpp +++ b/Plugin/StreamLines.cpp @@ -1,4 +1,4 @@ -// $Id: StreamLines.cpp,v 1.12 2004-06-24 16:02:21 geuzaine Exp $ +// $Id: StreamLines.cpp,v 1.13 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -143,8 +143,18 @@ Post_View * GMSH_StreamLinesPlugin::GenerateView(int iView, int dView) const double sizeElem = 0.033, val[3], *val2 = NULL; Post_View *View = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer_Test(CTX.post.list, iView); - Post_View *v2 = (Post_View*)List_Pointer_Test(CTX.post.list, dView); + + Post_View *v1; + if(List_Pointer_Test(CTX.post.list, iView)) + List_Read(CTX.post.list, iView, &v1); + else + v1 = NULL; + + Post_View *v2; + if(List_Pointer_Test(CTX.post.list, dView)) + List_Read(CTX.post.list, dView, &v2); + else + v2 = NULL; if(!v1) { Msg(GERROR, "View[%d] does not exist", iView); diff --git a/Plugin/Transform.cpp b/Plugin/Transform.cpp index b07fe91b19..99f682e9a3 100644 --- a/Plugin/Transform.cpp +++ b/Plugin/Transform.cpp @@ -1,4 +1,4 @@ -// $Id: Transform.cpp,v 1.26 2004-11-15 18:15:52 geuzaine Exp $ +// $Id: Transform.cpp,v 1.27 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -181,7 +181,7 @@ Post_View *GMSH_TransformPlugin::execute(Post_View * v) return v; } - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); for(int i = 0; i < 3; i++) { v1->BBox[2 * i] = VAL_INF; diff --git a/Plugin/Triangulate.cpp b/Plugin/Triangulate.cpp index d1771099df..b3f509cc5f 100644 --- a/Plugin/Triangulate.cpp +++ b/Plugin/Triangulate.cpp @@ -1,4 +1,4 @@ -// $Id: Triangulate.cpp,v 1.24 2004-07-05 15:20:06 geuzaine Exp $ +// $Id: Triangulate.cpp,v 1.25 2004-11-25 02:10:40 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -219,8 +219,8 @@ Post_View *GMSH_TriangulatePlugin::execute(Post_View * v) return v; } + Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); Post_View *v2 = BeginView(1); - Post_View *v1 = (Post_View*)List_Pointer(CTX.post.list, iView); Triangulate(v1->NbSP, v1->SP, &v2->NbST, v2->ST, v1->NbTimeStep, 1); Triangulate(v1->NbVP, v1->VP, &v2->NbVT, v2->VT, v1->NbTimeStep, 3); diff --git a/TODO b/TODO index 5ca56cb8d9..2e861be210 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,4 @@ -$Id: TODO,v 1.68 2004-11-24 22:46:53 geuzaine Exp $ - -******************************************************************** - -Convert the CTX.post.list to a list of pointers to views, so as to -avoid problems when the list is reallocated (Plugins/Levelset is the -last place where the problem is still present, but it would be simpler -to just manipule a list of pointers anyway) +$Id: TODO,v 1.69 2004-11-25 02:10:30 geuzaine Exp $ ******************************************************************** -- GitLab