diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index 071cae54fbe20c4df1026829020da8852e0b2bbd..18a9ba7ecf9a95bfb0b4bb7ffd90ec72cdf1b0ec 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -505,6 +505,8 @@ StringXNumber ViewOptions_Number[] = { "Show time value (or time step) if NbTimeStep > 1?" }, { F|O, "ShowScale" , opt_view_show_scale , 1. , "Show value scale?" }, + { F|O, "DrawStrings" , opt_view_draw_strings , 1. , + "Display post-processing annotation strings?" }, { F|O, "DrawPoints" , opt_view_draw_points , 1. , "Display post-processing points?" }, { F|O, "DrawLines" , opt_view_draw_lines , 1. , diff --git a/Common/Options.cpp b/Common/Options.cpp index 8b34438319b4ad1f44a364267855bb344104185c..01aa916de960c42c8ca049f5e7b86cc41dfe1bea 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.52 2001-10-30 08:18:50 geuzaine Exp $ +// $Id: Options.cpp,v 1.53 2001-10-30 14:27:47 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -2023,6 +2023,18 @@ double opt_view_show_scale(OPT_ARGS_NUM){ #endif return v->ShowScale; } +double opt_view_draw_strings(OPT_ARGS_NUM){ + GET_VIEW(0.) ; + if(action & GMSH_SET){ + v->DrawStrings = (int)val; + v->Changed = 1; + } +#ifdef _FLTK + if(WID && (action & GMSH_GUI) && (num == WID->view_number)) + WID->view_butt[5]->value(v->DrawStrings); +#endif + return v->DrawStrings; +} double opt_view_draw_points(OPT_ARGS_NUM){ GET_VIEW(0.) ; if(action & GMSH_SET){ @@ -2114,7 +2126,7 @@ double opt_view_transparent_scale(OPT_ARGS_NUM){ } #ifdef _FLTK if(WID && (action & GMSH_GUI) && (num == WID->view_number)) - WID->view_butt[5]->value(v->TransparentScale); + WID->view_butt[6]->value(v->TransparentScale); #endif return v->TransparentScale; } diff --git a/Common/Options.h b/Common/Options.h index 6854f6154faa25248144d6b7d28193933e73ecae..664b59dfb0dfe98a6319dc7a31864bacd6fc92ed 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -234,6 +234,7 @@ double opt_view_angle_smooth_normals(OPT_ARGS_NUM); double opt_view_show_element(OPT_ARGS_NUM); double opt_view_show_time(OPT_ARGS_NUM); double opt_view_show_scale(OPT_ARGS_NUM); +double opt_view_draw_strings(OPT_ARGS_NUM); double opt_view_draw_points(OPT_ARGS_NUM); double opt_view_draw_lines(OPT_ARGS_NUM); double opt_view_draw_triangles(OPT_ARGS_NUM); diff --git a/Common/Views.cpp b/Common/Views.cpp index e428b94116efae4f2ec3b0e6ec838e4323780c39..f0467b21be2632d452e5f975636bf70f8bb7a2c6 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.55 2001-10-29 08:52:19 geuzaine Exp $ +// $Id: Views.cpp,v 1.56 2001-10-30 14:27:47 geuzaine Exp $ #include <set> #include "Gmsh.h" @@ -53,6 +53,7 @@ Post_View * BeginView(int allocate){ v->NbSL = v->NbVL = v->NbTL = 0; v->NbST = v->NbVT = v->NbTT = 0; v->NbSS = v->NbVS = v->NbTS = 0; + v->NbT2 = v->NbT3 = 0; if(allocate){ v->datasize = sizeof(double); @@ -74,6 +75,11 @@ Post_View * BeginView(int allocate){ v->SS = List_Create(100,1000,sizeof(double)); v->VS = List_Create(100,1000,sizeof(double)); v->TS = List_Create(100,1000,sizeof(double)); + + v->T2D = List_Create(10,100,sizeof(double)); + v->T2C = List_Create(100,1000,sizeof(char)); + v->T3D = List_Create(10,100,sizeof(double)); + v->T3C = List_Create(100,1000,sizeof(char)); } else{ v->Time = NULL; @@ -81,6 +87,8 @@ Post_View * BeginView(int allocate){ v->SL = NULL; v->VL = NULL; v->TL = NULL; v->ST = NULL; v->VT = NULL; v->TT = NULL; v->SS = NULL; v->VS = NULL; v->TS = NULL; + v->T2D = NULL; v->T2C = NULL; + v->T3D = NULL; v->T3C = NULL; } // Copy all options from the reference view initialized in InitOptions() @@ -374,6 +382,8 @@ void FreeView(Post_View *v){ List_Delete(v->SL); List_Delete(v->VL); List_Delete(v->TL); List_Delete(v->ST); List_Delete(v->VT); List_Delete(v->TT); List_Delete(v->SS); List_Delete(v->VS); List_Delete(v->TS); + List_Delete(v->T2D); List_Delete(v->T2C); + List_Delete(v->T3D); List_Delete(v->T3C); v->reset_normals(); } diff --git a/Common/Views.h b/Common/Views.h index 29dbbe57c96245832c596411e308b3189abc49f6..6045dd15d9aa26aeabb5383c3591362105a7b63e 100644 --- a/Common/Views.h +++ b/Common/Views.h @@ -13,6 +13,8 @@ class Post_View{ // the data int datasize; // size(double) or sizeof(float) + int NbTimeStep, ScalarOnly; + double Min, Max, BBox[6]; List_T *Time; int NbSP, NbVP, NbTP; List_T *SP, *VP, *TP; // points @@ -22,8 +24,8 @@ class Post_View{ List_T *ST, *VT, *TT; // triangles int NbSS, NbVS, NbTS; List_T *SS, *VS, *TS; // tetrahedra - int NbTimeStep, ScalarOnly; - double Min, Max, BBox[6]; + int NbT2, NbT3; + List_T *T2D, *T2C, *T3D, *T3C; // 2D and 3D text strings // options char Format[256]; @@ -36,6 +38,7 @@ class Post_View{ int TransparentScale, ScaleType, RangeType; int ArrowType, ArrowLocation; int TimeStep; + int DrawStrings; int DrawPoints, DrawLines, DrawTriangles, DrawTetrahedra; int DrawScalars, DrawVectors, DrawTensors; int Boundary, PointSize, LineWidth; diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 2575cc16c8149a794a87d94581430701dc13ae93..c0e0715be364c38f5d7657fd6c0b962e6ac29561 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.88 2001-10-30 08:18:50 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.89 2001-10-30 14:27:47 geuzaine Exp $ #include <sys/types.h> #include <signal.h> @@ -1840,7 +1840,10 @@ void view_options_ok_cb(CALLBACK_ARGS){ opt_view_show_time(i, GMSH_SET, WID->view_butt[50]->value()); if(force || WID->view_butt[5]->changed()) - opt_view_transparent_scale(i, GMSH_SET, WID->view_butt[5]->value()); + opt_view_draw_strings(i, GMSH_SET, WID->view_butt[5]->value()); + + if(force || WID->view_butt[6]->changed()) + opt_view_transparent_scale(i, GMSH_SET, WID->view_butt[6]->value()); if(force || WID->view_butt[11]->changed()) opt_view_light(i,GMSH_SET,WID->view_butt[11]->value()); diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index e8d692a374d644c90d29904d46377e3624210684..4c7701bfbfb5b44fae07cc23a847ce6f52bb8eee 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.121 2001-10-30 08:18:50 geuzaine Exp $ +// $Id: GUI.cpp,v 1.122 2001-10-30 14:27:47 geuzaine Exp $ // To make the interface as visually consistent as possible, please: // - use the BH, BW, WB, IW values for button heights/widths, window borders, etc. @@ -453,6 +453,13 @@ int GUI::global_shortcuts(int event){ redraw_opengl(); return 1; } + else if(Fl::test_shortcut(FL_ALT+'n')){ + for(i=0 ; i<List_Nbr(CTX.post.list) ; i++) + if(opt_view_visible(i,GMSH_GET,0)) + opt_view_draw_strings(i, GMSH_SET|GMSH_GUI,!opt_view_draw_strings(0,GMSH_GET,0)); + redraw_opengl(); + return 1; + } else if(Fl::test_shortcut(FL_ALT+'h')){ static int show = 0; for(i=0 ; i<List_Nbr(CTX.post.list) ; i++) @@ -2059,8 +2066,9 @@ void GUI::create_view_options_window(int num){ view_input[i]->callback(set_changed_cb, 0); } view_butt[4] = new Fl_Check_Button(2*WB, 2*WB+3*BH, BW, BH, "Show labels"); - view_butt[5] = new Fl_Check_Button(2*WB, 2*WB+4*BH, BW, BH, "Transparent labels"); - for(i=4 ; i<=5 ; i++){ + view_butt[5] = new Fl_Check_Button(2*WB, 2*WB+4*BH, BW, BH, "Show annotations"); + view_butt[6] = new Fl_Check_Button(2*WB, 2*WB+5*BH, BW, BH, "Transparent labels"); + for(i=4 ; i<=6 ; i++){ view_butt[i]->type(FL_TOGGLE_BUTTON); view_butt[i]->down_box(FL_DOWN_BOX); view_butt[i]->labelsize(CTX.fontsize); @@ -2128,7 +2136,7 @@ void GUI::create_view_options_window(int num){ view_2d = new Fl_Group(WB, WB+BH, width-2*WB, height-3*WB-2*BH, "2D"); view_2d->labelsize(CTX.fontsize); view_2d->hide(); - + view_value[20] = new Fl_Value_Input(2*WB, 2*WB+ 1*BH, IW, BH, "X position"); view_value[21] = new Fl_Value_Input(2*WB, 2*WB+ 2*BH, IW, BH, "Y position"); view_value[22] = new Fl_Value_Input(2*WB, 2*WB+ 3*BH, IW, BH, "Width"); @@ -2366,6 +2374,7 @@ void GUI::update_view_window(int num){ opt_view_format(num, GMSH_GUI, NULL); opt_view_graph_type(num, GMSH_GUI, 0); opt_view_show_scale(num, GMSH_GUI, 0); + opt_view_draw_strings(num, GMSH_GUI, 0); opt_view_transparent_scale(num, GMSH_GUI, 0); //3D diff --git a/Graphics/Draw.cpp b/Graphics/Draw.cpp index 1854e84429866a15050c449ba56dc89b4ec309b7..6a190703db50f1d5bf7c9ba19d498f39fea29ca6 100644 --- a/Graphics/Draw.cpp +++ b/Graphics/Draw.cpp @@ -1,4 +1,4 @@ -// $Id: Draw.cpp,v 1.27 2001-10-29 08:52:19 geuzaine Exp $ +// $Id: Draw.cpp,v 1.28 2001-10-30 14:27:47 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -68,6 +68,7 @@ void Draw2d(void){ glPushMatrix(); Draw_Graph2D(); + Draw_Text2D(); if(CTX.post.draw && CTX.post.scales) Draw_Scales(); if(CTX.small_axes) Draw_SmallAxes(); glPopMatrix(); diff --git a/Graphics/Draw.h b/Graphics/Draw.h index d4dc8d8f4456ba52e32417c667bed3accca14f8a..395a5136ab9cf760f9659bea762d3fd101e5c1ed 100644 --- a/Graphics/Draw.h +++ b/Graphics/Draw.h @@ -50,6 +50,8 @@ void Draw_Geom (Mesh *m); void Draw_Mesh(Mesh *M); void Draw_Post(void); void Draw_Graph2D(void); +void Draw_Text2D(void); +void Draw_Text2D3D(int dim, int timestep, int nb, List_T *td, List_T *tc); void Draw_Scales(void); void Draw_Axes (double s); void Draw_SmallAxes(void); diff --git a/Graphics/Graph2D.cpp b/Graphics/Graph2D.cpp index 608bce7c21a4f83a46955d143bc682cee0da703d..3f4329654dc4e7429566faea305eac1c37979add 100644 --- a/Graphics/Graph2D.cpp +++ b/Graphics/Graph2D.cpp @@ -1,4 +1,4 @@ -// $Id: Graph2D.cpp,v 1.6 2001-10-30 08:18:50 geuzaine Exp $ +// $Id: Graph2D.cpp,v 1.7 2001-10-30 14:27:47 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -11,6 +11,10 @@ extern Context_T CTX; +/* ------------------------------------------------------------------------ + 2D graphics (gnuplot style) + ------------------------------------------------------------------------ */ + #define TIC 5 static void addval(Post_View *v, double min, double max, @@ -223,3 +227,76 @@ void Draw_Graph2D(void){ } + +/* ------------------------------------------------------------------------ + 2D text strings + ------------------------------------------------------------------------ */ + +// T2(x,y,style){"str","str",...}; +// T2D : x,y,style,index,x,y,style,index,... +// T2C : string\0,string\0,string\0,string\0,... + +// T3(x,y,z,style){"str","str",...}; +// T3D : x,y,z,style,index,x,y,z,style,index,... +// T3C : string\0,string\0,string\0,string\0,... + +void Draw_Text2D3D(int dim, int timestep, int nb, List_T *td, List_T *tc){ + int j,k,l,nbd,index,stop; + char *c; + double *d1, *d2, style, x, y, z; + + if(dim==2) nbd=4; + else if(dim==3) nbd=5; + else return; + + for(j=0; j<nb; j++){ + d1 = (double*)List_Pointer(td, j*nbd); + d2 = (double*)List_Pointer_Test(td, (j+1)*nbd); + if(dim==2){ + x = d1[0]; + y = CTX.viewport[3]-d1[1]; + z = 0.; + style = d1[2]; + index = (int)d1[3]; + if(d2) stop=(int)d2[3]; + else stop=List_Nbr(tc)-index; + } + else{ + x = d1[0]; + y = d1[1]; + z = d1[2]; + style = d1[3]; + index = (int)d1[4]; + if(d2) stop=(int)d2[4]; + else stop=List_Nbr(tc)-index; + } + glRasterPos3d(x,y,z); + c = (char*)List_Pointer(tc, index); + k=l=0; + while(k<stop && l!=timestep){ + if(c[k++]=='\0') l++; + } + if(k<stop && l==timestep) + Draw_String(&c[k]); + else + Draw_String(c); + } +} + + +void Draw_Text2D(void){ + int i; + Post_View *v; + + if(!CTX.post.list) return; + + glColor4ubv((GLubyte*)&CTX.color.fg); + + for(i=0;i<List_Nbr(CTX.post.list);i++){ + v = (Post_View*)List_Pointer(CTX.post.list,i); + if(v->Visible && v->DrawStrings) + Draw_Text2D3D(2, v->TimeStep, v->NbT2, v->T2D, v->T2C); + } + +} + diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp index 15cd4cc722d78894349cef16fc73da6b0056a542..582a7df8cb909b6e0ac40359e51263c08a3105a9 100644 --- a/Graphics/Post.cpp +++ b/Graphics/Post.cpp @@ -1,4 +1,4 @@ -// $Id: Post.cpp,v 1.26 2001-10-29 08:52:19 geuzaine Exp $ +// $Id: Post.cpp,v 1.27 2001-10-30 14:27:47 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -423,6 +423,10 @@ void Draw_Post (void) { } } + if(v->DrawStrings){ + glColor4ubv((GLubyte*)&CTX.color.fg); + Draw_Text2D3D(3, v->TimeStep, v->NbT3, v->T3D, v->T3C); + } if(CTX.display_lists) glEndList(); diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 3fd3b7c143bc329d433a12f74fd7102e3210d55b..c40c540a1624a07ec9f64113f477a0cfc6080ddb 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,6 +1,6 @@ %{ -// $Id: Gmsh.l,v 1.37 2001-10-29 08:52:20 geuzaine Exp $ +// $Id: Gmsh.l,v 1.38 2001-10-30 14:27:48 geuzaine Exp $ #include <stdio.h> #include <stdlib.h> @@ -212,6 +212,8 @@ TL return tTensorLine; SP return tScalarPoint; VP return tVectorPoint; TP return tTensorPoint; +T2 return tText2D; +T3 return tText3D; CARTESIAN_POINT return tCARTESIAN_POINT; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 0a91a9c6f1c36febbb77b3bba271f4b622ded2c3..1266101c7d00331bd6c7d040df7076a2a08c750d 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -84,98 +84,100 @@ #define tScalarPoint 334 #define tVectorPoint 335 #define tTensorPoint 336 -#define tBSpline 337 -#define tBezier 338 -#define tNurbs 339 -#define tOrder 340 -#define tWith 341 -#define tBounds 342 -#define tKnots 343 -#define tColor 344 -#define tColorTable 345 -#define tFor 346 -#define tIn 347 -#define tEndFor 348 -#define tIf 349 -#define tEndIf 350 -#define tExit 351 -#define tReturn 352 -#define tCall 353 -#define tFunction 354 -#define tMesh 355 -#define tB_SPLINE_SURFACE_WITH_KNOTS 356 -#define tB_SPLINE_CURVE_WITH_KNOTS 357 -#define tCARTESIAN_POINT 358 -#define tTRUE 359 -#define tFALSE 360 -#define tUNSPECIFIED 361 -#define tU 362 -#define tV 363 -#define tEDGE_CURVE 364 -#define tVERTEX_POINT 365 -#define tORIENTED_EDGE 366 -#define tPLANE 367 -#define tFACE_OUTER_BOUND 368 -#define tEDGE_LOOP 369 -#define tADVANCED_FACE 370 -#define tVECTOR 371 -#define tDIRECTION 372 -#define tAXIS2_PLACEMENT_3D 373 -#define tISO 374 -#define tENDISO 375 -#define tENDSEC 376 -#define tDATA 377 -#define tHEADER 378 -#define tFILE_DESCRIPTION 379 -#define tFILE_SCHEMA 380 -#define tFILE_NAME 381 -#define tMANIFOLD_SOLID_BREP 382 -#define tCLOSED_SHELL 383 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 384 -#define tFACE_BOUND 385 -#define tCYLINDRICAL_SURFACE 386 -#define tCONICAL_SURFACE 387 -#define tCIRCLE 388 -#define tTRIMMED_CURVE 389 -#define tGEOMETRIC_SET 390 -#define tCOMPOSITE_CURVE_SEGMENT 391 -#define tCONTINUOUS 392 -#define tCOMPOSITE_CURVE 393 -#define tTOROIDAL_SURFACE 394 -#define tPRODUCT_DEFINITION 395 -#define tPRODUCT_DEFINITION_SHAPE 396 -#define tSHAPE_DEFINITION_REPRESENTATION 397 -#define tELLIPSE 398 -#define tTrimmed 399 -#define tSolid 400 -#define tEndSolid 401 -#define tVertex 402 -#define tFacet 403 -#define tNormal 404 -#define tOuter 405 -#define tLoopSTL 406 -#define tEndLoop 407 -#define tEndFacet 408 -#define tAFFECTPLUS 409 -#define tAFFECTMINUS 410 -#define tAFFECTTIMES 411 -#define tAFFECTDIVIDE 412 -#define tOR 413 -#define tAND 414 -#define tEQUAL 415 -#define tNOTEQUAL 416 -#define tAPPROXEQUAL 417 -#define tLESSOREQUAL 418 -#define tGREATEROREQUAL 419 -#define tCROSSPRODUCT 420 -#define tPLUSPLUS 421 -#define tMINUSMINUS 422 -#define UNARYPREC 423 +#define tText2D 337 +#define tText3D 338 +#define tBSpline 339 +#define tBezier 340 +#define tNurbs 341 +#define tOrder 342 +#define tWith 343 +#define tBounds 344 +#define tKnots 345 +#define tColor 346 +#define tColorTable 347 +#define tFor 348 +#define tIn 349 +#define tEndFor 350 +#define tIf 351 +#define tEndIf 352 +#define tExit 353 +#define tReturn 354 +#define tCall 355 +#define tFunction 356 +#define tMesh 357 +#define tB_SPLINE_SURFACE_WITH_KNOTS 358 +#define tB_SPLINE_CURVE_WITH_KNOTS 359 +#define tCARTESIAN_POINT 360 +#define tTRUE 361 +#define tFALSE 362 +#define tUNSPECIFIED 363 +#define tU 364 +#define tV 365 +#define tEDGE_CURVE 366 +#define tVERTEX_POINT 367 +#define tORIENTED_EDGE 368 +#define tPLANE 369 +#define tFACE_OUTER_BOUND 370 +#define tEDGE_LOOP 371 +#define tADVANCED_FACE 372 +#define tVECTOR 373 +#define tDIRECTION 374 +#define tAXIS2_PLACEMENT_3D 375 +#define tISO 376 +#define tENDISO 377 +#define tENDSEC 378 +#define tDATA 379 +#define tHEADER 380 +#define tFILE_DESCRIPTION 381 +#define tFILE_SCHEMA 382 +#define tFILE_NAME 383 +#define tMANIFOLD_SOLID_BREP 384 +#define tCLOSED_SHELL 385 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 386 +#define tFACE_BOUND 387 +#define tCYLINDRICAL_SURFACE 388 +#define tCONICAL_SURFACE 389 +#define tCIRCLE 390 +#define tTRIMMED_CURVE 391 +#define tGEOMETRIC_SET 392 +#define tCOMPOSITE_CURVE_SEGMENT 393 +#define tCONTINUOUS 394 +#define tCOMPOSITE_CURVE 395 +#define tTOROIDAL_SURFACE 396 +#define tPRODUCT_DEFINITION 397 +#define tPRODUCT_DEFINITION_SHAPE 398 +#define tSHAPE_DEFINITION_REPRESENTATION 399 +#define tELLIPSE 400 +#define tTrimmed 401 +#define tSolid 402 +#define tEndSolid 403 +#define tVertex 404 +#define tFacet 405 +#define tNormal 406 +#define tOuter 407 +#define tLoopSTL 408 +#define tEndLoop 409 +#define tEndFacet 410 +#define tAFFECTPLUS 411 +#define tAFFECTMINUS 412 +#define tAFFECTTIMES 413 +#define tAFFECTDIVIDE 414 +#define tOR 415 +#define tAND 416 +#define tEQUAL 417 +#define tNOTEQUAL 418 +#define tAPPROXEQUAL 419 +#define tLESSOREQUAL 420 +#define tGREATEROREQUAL 421 +#define tCROSSPRODUCT 422 +#define tPLUSPLUS 423 +#define tMINUSMINUS 424 +#define UNARYPREC 425 #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.119 2001-10-29 08:52:20 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.120 2001-10-30 14:27:48 geuzaine Exp $ #include <stdarg.h> #ifndef _NOPLUGIN @@ -262,26 +264,26 @@ typedef union { -#define YYFINAL 1632 +#define YYFINAL 1668 #define YYFLAG -32768 -#define YYNTBASE 188 +#define YYNTBASE 190 -#define YYTRANSLATE(x) ((unsigned)(x) <= 423 ? yytranslate[x] : 273) +#define YYTRANSLATE(x) ((unsigned)(x) <= 425 ? yytranslate[x] : 281) 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, 175, 2, 2, 2, 173, 2, 2, 180, - 181, 171, 169, 185, 170, 184, 172, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 165, - 2, 167, 159, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 177, 2, 2, 2, 175, 2, 2, 182, + 183, 173, 171, 187, 172, 186, 174, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 167, + 2, 169, 161, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 182, 2, 183, 179, 2, 2, 2, 2, 2, 2, + 184, 2, 185, 181, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 186, 2, 187, 2, 2, 2, 2, 2, + 2, 2, 188, 2, 189, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -310,8 +312,8 @@ static const short yytranslate[] = { 0, 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, 160, 161, 162, 163, 164, 166, 168, 174, - 176, 177, 178 + 157, 158, 159, 160, 162, 163, 164, 165, 166, 168, + 170, 176, 178, 179, 180 }; #if YYDEBUG != 0 @@ -324,274 +326,280 @@ static const short yyprhs[] = { 0, 475, 487, 497, 498, 501, 503, 505, 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 531, 539, 546, 555, 556, 559, 562, 565, 568, 571, 574, 577, 580, - 583, 586, 589, 592, 594, 598, 599, 613, 615, 619, - 620, 634, 636, 640, 641, 655, 657, 661, 662, 682, - 684, 688, 689, 709, 711, 715, 716, 736, 738, 742, - 743, 769, 771, 775, 776, 802, 804, 808, 809, 835, - 837, 841, 842, 874, 876, 880, 881, 913, 915, 919, - 920, 952, 954, 956, 958, 960, 962, 964, 966, 971, - 979, 989, 996, 1000, 1007, 1014, 1024, 1031, 1041, 1047, - 1056, 1065, 1077, 1084, 1094, 1104, 1114, 1122, 1131, 1144, - 1151, 1157, 1165, 1173, 1186, 1194, 1202, 1212, 1230, 1239, - 1248, 1256, 1264, 1276, 1282, 1291, 1304, 1313, 1336, 1357, - 1366, 1375, 1381, 1390, 1398, 1407, 1413, 1425, 1431, 1441, - 1443, 1445, 1447, 1448, 1451, 1456, 1461, 1468, 1472, 1476, - 1480, 1488, 1491, 1494, 1501, 1510, 1519, 1530, 1532, 1535, - 1537, 1541, 1546, 1548, 1557, 1570, 1579, 1592, 1593, 1606, - 1607, 1624, 1633, 1646, 1647, 1660, 1661, 1678, 1680, 1683, - 1693, 1701, 1704, 1711, 1721, 1731, 1740, 1749, 1758, 1765, - 1770, 1773, 1776, 1778, 1780, 1782, 1784, 1786, 1788, 1792, - 1795, 1798, 1801, 1805, 1809, 1813, 1817, 1821, 1825, 1829, - 1833, 1837, 1841, 1845, 1849, 1853, 1857, 1863, 1868, 1873, - 1878, 1883, 1888, 1893, 1898, 1903, 1908, 1913, 1920, 1925, - 1930, 1935, 1940, 1945, 1950, 1957, 1964, 1971, 1976, 1981, - 1986, 1991, 1996, 2001, 2006, 2011, 2016, 2021, 2026, 2033, - 2038, 2043, 2048, 2053, 2058, 2063, 2070, 2077, 2084, 2089, - 2091, 2093, 2095, 2097, 2099, 2104, 2107, 2113, 2117, 2124, - 2129, 2137, 2139, 2142, 2145, 2149, 2153, 2165, 2175, 2183, - 2191, 2192, 2196, 2198, 2202, 2203, 2207, 2211, 2213, 2217, - 2219, 2221, 2225, 2230, 2234, 2240, 2244, 2249, 2256, 2264, - 2266, 2268, 2272, 2276, 2286, 2294, 2296, 2302, 2306, 2313, - 2315, 2319, 2321, 2328, 2333, 2338, 2345, 2352 + 583, 586, 589, 592, 595, 598, 600, 604, 605, 619, + 621, 625, 626, 640, 642, 646, 647, 661, 663, 667, + 668, 688, 690, 694, 695, 715, 717, 721, 722, 742, + 744, 748, 749, 775, 777, 781, 782, 808, 810, 814, + 815, 841, 843, 847, 848, 880, 882, 886, 887, 919, + 921, 925, 926, 958, 960, 964, 965, 979, 981, 985, + 986, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1021, + 1029, 1039, 1046, 1050, 1057, 1064, 1074, 1081, 1091, 1097, + 1106, 1115, 1127, 1134, 1144, 1154, 1164, 1172, 1181, 1194, + 1201, 1207, 1215, 1223, 1236, 1244, 1252, 1262, 1280, 1289, + 1298, 1306, 1314, 1326, 1332, 1341, 1354, 1363, 1386, 1407, + 1416, 1425, 1431, 1440, 1448, 1457, 1463, 1475, 1481, 1491, + 1493, 1495, 1497, 1498, 1501, 1506, 1511, 1518, 1522, 1526, + 1530, 1538, 1541, 1544, 1551, 1560, 1569, 1580, 1582, 1585, + 1587, 1591, 1596, 1598, 1607, 1620, 1629, 1642, 1643, 1656, + 1657, 1674, 1683, 1696, 1697, 1710, 1711, 1728, 1730, 1733, + 1743, 1751, 1754, 1761, 1771, 1781, 1790, 1799, 1808, 1815, + 1820, 1823, 1826, 1828, 1830, 1832, 1834, 1836, 1838, 1842, + 1845, 1848, 1851, 1855, 1859, 1863, 1867, 1871, 1875, 1879, + 1883, 1887, 1891, 1895, 1899, 1903, 1907, 1913, 1918, 1923, + 1928, 1933, 1938, 1943, 1948, 1953, 1958, 1963, 1970, 1975, + 1980, 1985, 1990, 1995, 2000, 2007, 2014, 2021, 2026, 2031, + 2036, 2041, 2046, 2051, 2056, 2061, 2066, 2071, 2076, 2083, + 2088, 2093, 2098, 2103, 2108, 2113, 2120, 2127, 2134, 2139, + 2141, 2143, 2145, 2147, 2149, 2154, 2157, 2163, 2167, 2174, + 2179, 2187, 2189, 2192, 2195, 2199, 2203, 2215, 2225, 2233, + 2241, 2242, 2246, 2248, 2252, 2253, 2257, 2261, 2263, 2267, + 2269, 2271, 2275, 2280, 2284, 2290, 2294, 2299, 2306, 2314, + 2316, 2318, 2322, 2326, 2336, 2344, 2346, 2352, 2356, 2363, + 2365, 2369, 2371, 2378, 2383, 2388, 2395, 2402 }; -static const short yyrhs[] = { 191, - 0, 190, 0, 196, 0, 1, 6, 0, 3, 0, - 170, 3, 0, 146, 0, 149, 150, 189, 189, 189, - 151, 152, 148, 189, 189, 189, 148, 189, 189, 189, - 148, 189, 189, 189, 153, 154, 0, 147, 0, 0, - 191, 192, 0, 193, 0, 195, 0, 194, 0, 120, - 6, 0, 121, 6, 0, 123, 6, 0, 122, 6, - 0, 124, 6, 0, 125, 180, 262, 185, 5, 181, - 6, 0, 126, 180, 262, 181, 6, 0, 127, 180, - 5, 185, 5, 185, 262, 185, 262, 185, 5, 185, - 5, 185, 5, 181, 6, 0, 3, 7, 104, 180, - 5, 185, 260, 181, 6, 0, 3, 7, 103, 180, - 5, 185, 258, 185, 266, 185, 257, 185, 257, 185, - 257, 185, 266, 185, 266, 185, 257, 181, 6, 0, - 3, 7, 102, 180, 5, 185, 258, 185, 258, 185, - 264, 185, 257, 185, 257, 185, 257, 185, 257, 185, - 266, 185, 266, 185, 266, 185, 266, 185, 257, 181, - 6, 0, 3, 7, 110, 180, 5, 185, 3, 185, - 3, 185, 3, 185, 257, 181, 6, 0, 3, 7, - 114, 180, 5, 185, 3, 185, 257, 181, 6, 0, - 3, 7, 131, 180, 5, 185, 3, 185, 257, 181, - 6, 0, 3, 7, 112, 180, 5, 185, 171, 185, - 171, 185, 258, 185, 257, 181, 6, 0, 3, 7, - 115, 180, 5, 185, 266, 181, 6, 0, 3, 7, - 116, 180, 5, 185, 266, 185, 3, 185, 257, 181, - 6, 0, 3, 7, 111, 180, 5, 185, 3, 181, - 6, 0, 3, 7, 117, 180, 5, 185, 3, 185, - 258, 181, 6, 0, 3, 7, 119, 180, 5, 185, - 3, 185, 3, 185, 3, 181, 6, 0, 3, 7, - 118, 180, 5, 185, 260, 181, 6, 0, 3, 7, - 113, 180, 5, 185, 3, 181, 6, 0, 3, 7, - 41, 180, 5, 185, 3, 185, 3, 181, 6, 0, - 3, 7, 129, 180, 5, 185, 266, 181, 6, 0, - 3, 7, 130, 180, 5, 185, 266, 185, 3, 181, - 6, 0, 3, 7, 128, 180, 5, 185, 3, 181, - 6, 0, 3, 7, 132, 180, 5, 185, 3, 185, - 258, 181, 6, 0, 3, 7, 133, 180, 5, 185, - 3, 185, 258, 185, 258, 181, 6, 0, 3, 7, - 140, 180, 5, 185, 3, 185, 258, 185, 258, 181, - 6, 0, 3, 7, 134, 180, 5, 185, 3, 185, - 258, 181, 6, 0, 3, 7, 144, 180, 5, 185, - 3, 185, 258, 185, 258, 181, 6, 0, 3, 7, - 135, 180, 5, 185, 3, 185, 266, 185, 266, 185, - 257, 185, 257, 181, 6, 0, 3, 7, 136, 180, - 5, 185, 266, 181, 6, 0, 3, 7, 137, 180, - 138, 185, 257, 185, 3, 181, 6, 0, 3, 7, - 139, 180, 5, 185, 266, 185, 257, 181, 6, 0, - 3, 7, 141, 180, 5, 185, 5, 185, 3, 185, - 3, 181, 6, 0, 3, 7, 142, 180, 5, 185, - 5, 185, 3, 181, 6, 0, 3, 7, 143, 180, - 3, 185, 3, 181, 6, 0, 0, 196, 197, 0, - 199, 0, 198, 0, 239, 0, 240, 0, 241, 0, - 244, 0, 245, 0, 248, 0, 255, 0, 256, 0, - 247, 0, 246, 0, 33, 180, 5, 181, 6, 0, - 33, 180, 5, 185, 268, 181, 6, 0, 4, 5, - 186, 200, 187, 6, 0, 4, 5, 4, 260, 186, - 200, 187, 6, 0, 0, 200, 202, 0, 200, 205, - 0, 200, 208, 0, 200, 211, 0, 200, 214, 0, - 200, 217, 0, 200, 220, 0, 200, 223, 0, 200, - 226, 0, 200, 229, 0, 200, 232, 0, 200, 235, - 0, 258, 0, 201, 185, 258, 0, 0, 80, 180, - 258, 185, 258, 185, 258, 181, 203, 186, 201, 187, - 6, 0, 258, 0, 204, 185, 258, 0, 0, 81, - 180, 258, 185, 258, 185, 258, 181, 206, 186, 204, - 187, 6, 0, 258, 0, 207, 185, 258, 0, 0, - 82, 180, 258, 185, 258, 185, 258, 181, 209, 186, - 207, 187, 6, 0, 258, 0, 210, 185, 258, 0, - 0, 77, 180, 258, 185, 258, 185, 258, 185, 258, - 185, 258, 185, 258, 181, 212, 186, 210, 187, 6, - 0, 258, 0, 213, 185, 258, 0, 0, 78, 180, - 258, 185, 258, 185, 258, 185, 258, 185, 258, 185, - 258, 181, 215, 186, 213, 187, 6, 0, 258, 0, - 216, 185, 258, 0, 0, 79, 180, 258, 185, 258, - 185, 258, 185, 258, 185, 258, 185, 258, 181, 218, - 186, 216, 187, 6, 0, 258, 0, 219, 185, 258, - 0, 0, 74, 180, 258, 185, 258, 185, 258, 185, - 258, 185, 258, 185, 258, 185, 258, 185, 258, 185, - 258, 181, 221, 186, 219, 187, 6, 0, 258, 0, - 222, 185, 258, 0, 0, 75, 180, 258, 185, 258, - 185, 258, 185, 258, 185, 258, 185, 258, 185, 258, - 185, 258, 185, 258, 181, 224, 186, 222, 187, 6, - 0, 258, 0, 225, 185, 258, 0, 0, 76, 180, - 258, 185, 258, 185, 258, 185, 258, 185, 258, 185, - 258, 185, 258, 185, 258, 185, 258, 181, 227, 186, - 225, 187, 6, 0, 258, 0, 228, 185, 258, 0, - 0, 71, 180, 258, 185, 258, 185, 258, 185, 258, - 185, 258, 185, 258, 185, 258, 185, 258, 185, 258, - 185, 258, 185, 258, 185, 258, 181, 230, 186, 228, - 187, 6, 0, 258, 0, 231, 185, 258, 0, 0, - 72, 180, 258, 185, 258, 185, 258, 185, 258, 185, - 258, 185, 258, 185, 258, 185, 258, 185, 258, 185, - 258, 185, 258, 185, 258, 181, 233, 186, 231, 187, - 6, 0, 258, 0, 234, 185, 258, 0, 0, 73, - 180, 258, 185, 258, 185, 258, 185, 258, 185, 258, - 185, 258, 185, 258, 185, 258, 185, 258, 185, 258, - 185, 258, 185, 258, 181, 236, 186, 234, 187, 6, - 0, 7, 0, 155, 0, 156, 0, 157, 0, 158, - 0, 176, 0, 177, 0, 4, 237, 258, 6, 0, - 4, 182, 258, 183, 237, 258, 6, 0, 4, 182, - 186, 268, 187, 183, 237, 266, 6, 0, 4, 182, - 183, 7, 266, 6, 0, 4, 238, 6, 0, 4, - 182, 258, 183, 238, 6, 0, 4, 184, 4, 7, - 272, 6, 0, 4, 182, 258, 183, 184, 4, 7, - 272, 6, 0, 4, 184, 4, 237, 258, 6, 0, - 4, 182, 258, 183, 184, 4, 237, 258, 6, 0, - 4, 184, 4, 238, 6, 0, 4, 182, 258, 183, - 184, 4, 238, 6, 0, 4, 184, 90, 184, 4, - 7, 269, 6, 0, 4, 182, 258, 183, 184, 90, - 184, 4, 7, 269, 6, 0, 4, 184, 91, 7, - 270, 6, 0, 4, 182, 258, 183, 184, 91, 7, - 270, 6, 0, 57, 180, 4, 181, 184, 4, 7, - 258, 6, 0, 57, 180, 4, 181, 184, 4, 7, - 272, 6, 0, 38, 180, 258, 181, 7, 260, 6, - 0, 53, 38, 180, 258, 181, 7, 266, 6, 0, - 69, 38, 266, 7, 186, 258, 185, 258, 185, 258, - 187, 6, 0, 45, 46, 266, 7, 258, 6, 0, - 38, 186, 258, 187, 6, 0, 41, 180, 258, 181, - 7, 266, 6, 0, 43, 180, 258, 181, 7, 266, - 6, 0, 69, 41, 266, 7, 186, 258, 185, 258, - 185, 258, 187, 6, 0, 39, 180, 258, 181, 7, - 266, 6, 0, 40, 180, 258, 181, 7, 266, 6, - 0, 39, 180, 258, 181, 7, 266, 49, 260, 6, - 0, 47, 180, 258, 181, 7, 186, 258, 185, 258, - 185, 5, 185, 5, 185, 5, 187, 6, 0, 53, - 41, 180, 258, 181, 7, 266, 6, 0, 41, 64, - 180, 258, 181, 7, 266, 6, 0, 83, 180, 258, - 181, 7, 266, 6, 0, 84, 180, 258, 181, 7, - 266, 6, 0, 85, 180, 258, 181, 7, 266, 89, - 266, 86, 258, 6, 0, 41, 186, 258, 187, 6, - 0, 49, 42, 180, 258, 181, 7, 266, 6, 0, - 145, 42, 180, 258, 181, 7, 186, 258, 185, 266, - 187, 6, 0, 50, 42, 180, 258, 181, 7, 266, - 6, 0, 85, 42, 87, 88, 180, 258, 181, 7, - 264, 89, 186, 266, 185, 266, 187, 86, 186, 258, - 185, 258, 187, 6, 0, 85, 42, 180, 258, 181, - 7, 264, 89, 186, 266, 185, 266, 187, 86, 186, - 258, 185, 258, 187, 6, 0, 53, 42, 180, 258, - 181, 7, 266, 6, 0, 42, 64, 180, 258, 181, - 7, 266, 6, 0, 42, 186, 258, 187, 6, 0, - 52, 44, 180, 258, 181, 7, 266, 6, 0, 44, - 180, 258, 181, 7, 266, 6, 0, 53, 44, 180, - 258, 181, 7, 266, 6, 0, 59, 260, 186, 242, - 187, 0, 58, 186, 260, 185, 260, 185, 258, 187, - 186, 242, 187, 0, 60, 260, 186, 242, 187, 0, - 61, 186, 260, 185, 258, 187, 186, 242, 187, 0, - 244, 0, 243, 0, 241, 0, 0, 243, 240, 0, - 63, 186, 243, 187, 0, 66, 186, 243, 187, 0, - 66, 4, 182, 258, 183, 6, 0, 66, 101, 6, - 0, 4, 272, 6, 0, 4, 258, 6, 0, 57, - 180, 4, 181, 184, 4, 6, 0, 97, 6, 0, - 37, 6, 0, 92, 180, 258, 8, 258, 181, 0, - 92, 180, 258, 8, 258, 8, 258, 181, 0, 92, - 4, 93, 186, 258, 8, 258, 187, 0, 92, 4, - 93, 186, 258, 8, 258, 8, 258, 187, 0, 94, - 0, 100, 4, 0, 98, 0, 99, 4, 6, 0, - 95, 180, 258, 181, 0, 96, 0, 62, 38, 186, - 258, 185, 260, 187, 6, 0, 62, 38, 186, 258, - 185, 260, 185, 260, 185, 258, 187, 6, 0, 62, - 41, 186, 258, 185, 260, 187, 6, 0, 62, 41, - 186, 258, 185, 260, 185, 260, 185, 258, 187, 6, - 0, 0, 62, 41, 186, 258, 185, 260, 187, 249, - 186, 253, 187, 6, 0, 0, 62, 41, 186, 258, - 185, 260, 185, 260, 185, 258, 187, 250, 186, 253, - 187, 6, 0, 62, 42, 186, 258, 185, 260, 187, - 6, 0, 62, 42, 186, 258, 185, 260, 185, 260, - 185, 258, 187, 6, 0, 0, 62, 42, 186, 258, - 185, 260, 187, 251, 186, 253, 187, 6, 0, 0, - 62, 42, 186, 258, 185, 260, 185, 260, 185, 258, - 187, 252, 186, 253, 187, 6, 0, 254, 0, 253, - 254, 0, 70, 186, 266, 185, 266, 185, 266, 187, - 6, 0, 70, 186, 266, 185, 266, 187, 6, 0, - 65, 6, 0, 51, 41, 266, 7, 258, 6, 0, - 51, 41, 266, 7, 258, 54, 56, 258, 6, 0, - 51, 41, 266, 7, 258, 54, 55, 258, 6, 0, - 51, 42, 186, 258, 187, 7, 266, 6, 0, 48, - 42, 186, 258, 187, 7, 266, 6, 0, 51, 44, - 186, 258, 187, 7, 266, 6, 0, 65, 42, 266, - 7, 258, 6, 0, 65, 42, 266, 6, 0, 67, - 6, 0, 68, 6, 0, 105, 0, 106, 0, 107, - 0, 108, 0, 109, 0, 259, 0, 180, 258, 181, - 0, 170, 258, 0, 169, 258, 0, 175, 258, 0, - 258, 170, 258, 0, 258, 169, 258, 0, 258, 171, - 258, 0, 258, 172, 258, 0, 258, 173, 258, 0, - 258, 179, 258, 0, 258, 165, 258, 0, 258, 167, - 258, 0, 258, 166, 258, 0, 258, 168, 258, 0, - 258, 162, 258, 0, 258, 163, 258, 0, 258, 161, - 258, 0, 258, 160, 258, 0, 258, 159, 258, 8, - 258, 0, 12, 180, 258, 181, 0, 13, 180, 258, - 181, 0, 14, 180, 258, 181, 0, 15, 180, 258, - 181, 0, 16, 180, 258, 181, 0, 17, 180, 258, - 181, 0, 18, 180, 258, 181, 0, 19, 180, 258, - 181, 0, 20, 180, 258, 181, 0, 22, 180, 258, - 181, 0, 23, 180, 258, 185, 258, 181, 0, 24, - 180, 258, 181, 0, 25, 180, 258, 181, 0, 26, - 180, 258, 181, 0, 27, 180, 258, 181, 0, 28, - 180, 258, 181, 0, 29, 180, 258, 181, 0, 30, - 180, 258, 185, 258, 181, 0, 31, 180, 258, 185, - 258, 181, 0, 32, 180, 258, 185, 258, 181, 0, - 21, 180, 258, 181, 0, 12, 182, 258, 183, 0, - 13, 182, 258, 183, 0, 14, 182, 258, 183, 0, - 15, 182, 258, 183, 0, 16, 182, 258, 183, 0, - 17, 182, 258, 183, 0, 18, 182, 258, 183, 0, - 19, 182, 258, 183, 0, 20, 182, 258, 183, 0, - 22, 182, 258, 183, 0, 23, 182, 258, 185, 258, - 183, 0, 24, 182, 258, 183, 0, 25, 182, 258, - 183, 0, 26, 182, 258, 183, 0, 27, 182, 258, - 183, 0, 28, 182, 258, 183, 0, 29, 182, 258, - 183, 0, 30, 182, 258, 185, 258, 183, 0, 31, - 182, 258, 185, 258, 183, 0, 32, 182, 258, 185, - 258, 183, 0, 21, 182, 258, 183, 0, 3, 0, - 9, 0, 10, 0, 11, 0, 4, 0, 4, 182, - 258, 183, 0, 4, 238, 0, 4, 182, 258, 183, - 238, 0, 4, 184, 4, 0, 4, 182, 258, 183, - 184, 4, 0, 4, 184, 4, 238, 0, 4, 182, - 258, 183, 184, 4, 238, 0, 261, 0, 170, 260, - 0, 169, 260, 0, 260, 170, 260, 0, 260, 169, - 260, 0, 186, 258, 185, 258, 185, 258, 185, 258, - 185, 258, 187, 0, 186, 258, 185, 258, 185, 258, - 185, 258, 187, 0, 186, 258, 185, 258, 185, 258, - 187, 0, 180, 258, 185, 258, 185, 258, 181, 0, - 0, 180, 263, 181, 0, 5, 0, 263, 185, 5, - 0, 0, 186, 265, 187, 0, 180, 265, 181, 0, - 266, 0, 265, 185, 266, 0, 258, 0, 267, 0, - 186, 268, 187, 0, 170, 186, 268, 187, 0, 258, - 8, 258, 0, 258, 8, 258, 8, 258, 0, 4, - 182, 183, 0, 170, 4, 182, 183, 0, 4, 182, - 186, 268, 187, 183, 0, 170, 4, 182, 186, 268, - 187, 183, 0, 258, 0, 267, 0, 268, 185, 258, - 0, 268, 185, 267, 0, 186, 258, 185, 258, 185, - 258, 185, 258, 187, 0, 186, 258, 185, 258, 185, - 258, 187, 0, 4, 0, 4, 184, 90, 184, 4, - 0, 186, 271, 187, 0, 4, 182, 258, 183, 184, - 91, 0, 269, 0, 271, 185, 269, 0, 5, 0, - 35, 180, 272, 185, 272, 181, 0, 36, 180, 272, - 181, 0, 34, 180, 272, 181, 0, 34, 180, 272, - 185, 268, 181, 0, 34, 180, 4, 184, 4, 181, - 0, 34, 180, 4, 182, 258, 183, 184, 4, 181, +static const short yyrhs[] = { 193, + 0, 192, 0, 198, 0, 1, 6, 0, 3, 0, + 172, 3, 0, 148, 0, 151, 152, 191, 191, 191, + 153, 154, 150, 191, 191, 191, 150, 191, 191, 191, + 150, 191, 191, 191, 155, 156, 0, 149, 0, 0, + 193, 194, 0, 195, 0, 197, 0, 196, 0, 122, + 6, 0, 123, 6, 0, 125, 6, 0, 124, 6, + 0, 126, 6, 0, 127, 182, 270, 187, 5, 183, + 6, 0, 128, 182, 270, 183, 6, 0, 129, 182, + 5, 187, 5, 187, 270, 187, 270, 187, 5, 187, + 5, 187, 5, 183, 6, 0, 3, 7, 106, 182, + 5, 187, 268, 183, 6, 0, 3, 7, 105, 182, + 5, 187, 266, 187, 274, 187, 265, 187, 265, 187, + 265, 187, 274, 187, 274, 187, 265, 183, 6, 0, + 3, 7, 104, 182, 5, 187, 266, 187, 266, 187, + 272, 187, 265, 187, 265, 187, 265, 187, 265, 187, + 274, 187, 274, 187, 274, 187, 274, 187, 265, 183, + 6, 0, 3, 7, 112, 182, 5, 187, 3, 187, + 3, 187, 3, 187, 265, 183, 6, 0, 3, 7, + 116, 182, 5, 187, 3, 187, 265, 183, 6, 0, + 3, 7, 133, 182, 5, 187, 3, 187, 265, 183, + 6, 0, 3, 7, 114, 182, 5, 187, 173, 187, + 173, 187, 266, 187, 265, 183, 6, 0, 3, 7, + 117, 182, 5, 187, 274, 183, 6, 0, 3, 7, + 118, 182, 5, 187, 274, 187, 3, 187, 265, 183, + 6, 0, 3, 7, 113, 182, 5, 187, 3, 183, + 6, 0, 3, 7, 119, 182, 5, 187, 3, 187, + 266, 183, 6, 0, 3, 7, 121, 182, 5, 187, + 3, 187, 3, 187, 3, 183, 6, 0, 3, 7, + 120, 182, 5, 187, 268, 183, 6, 0, 3, 7, + 115, 182, 5, 187, 3, 183, 6, 0, 3, 7, + 41, 182, 5, 187, 3, 187, 3, 183, 6, 0, + 3, 7, 131, 182, 5, 187, 274, 183, 6, 0, + 3, 7, 132, 182, 5, 187, 274, 187, 3, 183, + 6, 0, 3, 7, 130, 182, 5, 187, 3, 183, + 6, 0, 3, 7, 134, 182, 5, 187, 3, 187, + 266, 183, 6, 0, 3, 7, 135, 182, 5, 187, + 3, 187, 266, 187, 266, 183, 6, 0, 3, 7, + 142, 182, 5, 187, 3, 187, 266, 187, 266, 183, + 6, 0, 3, 7, 136, 182, 5, 187, 3, 187, + 266, 183, 6, 0, 3, 7, 146, 182, 5, 187, + 3, 187, 266, 187, 266, 183, 6, 0, 3, 7, + 137, 182, 5, 187, 3, 187, 274, 187, 274, 187, + 265, 187, 265, 183, 6, 0, 3, 7, 138, 182, + 5, 187, 274, 183, 6, 0, 3, 7, 139, 182, + 140, 187, 265, 187, 3, 183, 6, 0, 3, 7, + 141, 182, 5, 187, 274, 187, 265, 183, 6, 0, + 3, 7, 143, 182, 5, 187, 5, 187, 3, 187, + 3, 183, 6, 0, 3, 7, 144, 182, 5, 187, + 5, 187, 3, 183, 6, 0, 3, 7, 145, 182, + 3, 187, 3, 183, 6, 0, 0, 198, 199, 0, + 201, 0, 200, 0, 247, 0, 248, 0, 249, 0, + 252, 0, 253, 0, 256, 0, 263, 0, 264, 0, + 255, 0, 254, 0, 33, 182, 5, 183, 6, 0, + 33, 182, 5, 187, 276, 183, 6, 0, 4, 5, + 188, 202, 189, 6, 0, 4, 5, 4, 268, 188, + 202, 189, 6, 0, 0, 202, 204, 0, 202, 207, + 0, 202, 210, 0, 202, 213, 0, 202, 216, 0, + 202, 219, 0, 202, 222, 0, 202, 225, 0, 202, + 228, 0, 202, 231, 0, 202, 234, 0, 202, 237, + 0, 202, 240, 0, 202, 243, 0, 266, 0, 203, + 187, 266, 0, 0, 80, 182, 266, 187, 266, 187, + 266, 183, 205, 188, 203, 189, 6, 0, 266, 0, + 206, 187, 266, 0, 0, 81, 182, 266, 187, 266, + 187, 266, 183, 208, 188, 206, 189, 6, 0, 266, + 0, 209, 187, 266, 0, 0, 82, 182, 266, 187, + 266, 187, 266, 183, 211, 188, 209, 189, 6, 0, + 266, 0, 212, 187, 266, 0, 0, 77, 182, 266, + 187, 266, 187, 266, 187, 266, 187, 266, 187, 266, + 183, 214, 188, 212, 189, 6, 0, 266, 0, 215, + 187, 266, 0, 0, 78, 182, 266, 187, 266, 187, + 266, 187, 266, 187, 266, 187, 266, 183, 217, 188, + 215, 189, 6, 0, 266, 0, 218, 187, 266, 0, + 0, 79, 182, 266, 187, 266, 187, 266, 187, 266, + 187, 266, 187, 266, 183, 220, 188, 218, 189, 6, + 0, 266, 0, 221, 187, 266, 0, 0, 74, 182, + 266, 187, 266, 187, 266, 187, 266, 187, 266, 187, + 266, 187, 266, 187, 266, 187, 266, 183, 223, 188, + 221, 189, 6, 0, 266, 0, 224, 187, 266, 0, + 0, 75, 182, 266, 187, 266, 187, 266, 187, 266, + 187, 266, 187, 266, 187, 266, 187, 266, 187, 266, + 183, 226, 188, 224, 189, 6, 0, 266, 0, 227, + 187, 266, 0, 0, 76, 182, 266, 187, 266, 187, + 266, 187, 266, 187, 266, 187, 266, 187, 266, 187, + 266, 187, 266, 183, 229, 188, 227, 189, 6, 0, + 266, 0, 230, 187, 266, 0, 0, 71, 182, 266, + 187, 266, 187, 266, 187, 266, 187, 266, 187, 266, + 187, 266, 187, 266, 187, 266, 187, 266, 187, 266, + 187, 266, 183, 232, 188, 230, 189, 6, 0, 266, + 0, 233, 187, 266, 0, 0, 72, 182, 266, 187, + 266, 187, 266, 187, 266, 187, 266, 187, 266, 187, + 266, 187, 266, 187, 266, 187, 266, 187, 266, 187, + 266, 183, 235, 188, 233, 189, 6, 0, 266, 0, + 236, 187, 266, 0, 0, 73, 182, 266, 187, 266, + 187, 266, 187, 266, 187, 266, 187, 266, 187, 266, + 187, 266, 187, 266, 187, 266, 187, 266, 187, 266, + 183, 238, 188, 236, 189, 6, 0, 280, 0, 239, + 187, 280, 0, 0, 83, 182, 266, 187, 266, 187, + 266, 183, 241, 188, 239, 189, 6, 0, 280, 0, + 242, 187, 280, 0, 0, 84, 182, 266, 187, 266, + 187, 266, 187, 266, 183, 244, 188, 242, 189, 6, + 0, 7, 0, 157, 0, 158, 0, 159, 0, 160, + 0, 178, 0, 179, 0, 4, 245, 266, 6, 0, + 4, 184, 266, 185, 245, 266, 6, 0, 4, 184, + 188, 276, 189, 185, 245, 274, 6, 0, 4, 184, + 185, 7, 274, 6, 0, 4, 246, 6, 0, 4, + 184, 266, 185, 246, 6, 0, 4, 186, 4, 7, + 280, 6, 0, 4, 184, 266, 185, 186, 4, 7, + 280, 6, 0, 4, 186, 4, 245, 266, 6, 0, + 4, 184, 266, 185, 186, 4, 245, 266, 6, 0, + 4, 186, 4, 246, 6, 0, 4, 184, 266, 185, + 186, 4, 246, 6, 0, 4, 186, 92, 186, 4, + 7, 277, 6, 0, 4, 184, 266, 185, 186, 92, + 186, 4, 7, 277, 6, 0, 4, 186, 93, 7, + 278, 6, 0, 4, 184, 266, 185, 186, 93, 7, + 278, 6, 0, 57, 182, 4, 183, 186, 4, 7, + 266, 6, 0, 57, 182, 4, 183, 186, 4, 7, + 280, 6, 0, 38, 182, 266, 183, 7, 268, 6, + 0, 53, 38, 182, 266, 183, 7, 274, 6, 0, + 69, 38, 274, 7, 188, 266, 187, 266, 187, 266, + 189, 6, 0, 45, 46, 274, 7, 266, 6, 0, + 38, 188, 266, 189, 6, 0, 41, 182, 266, 183, + 7, 274, 6, 0, 43, 182, 266, 183, 7, 274, + 6, 0, 69, 41, 274, 7, 188, 266, 187, 266, + 187, 266, 189, 6, 0, 39, 182, 266, 183, 7, + 274, 6, 0, 40, 182, 266, 183, 7, 274, 6, + 0, 39, 182, 266, 183, 7, 274, 49, 268, 6, + 0, 47, 182, 266, 183, 7, 188, 266, 187, 266, + 187, 5, 187, 5, 187, 5, 189, 6, 0, 53, + 41, 182, 266, 183, 7, 274, 6, 0, 41, 64, + 182, 266, 183, 7, 274, 6, 0, 85, 182, 266, + 183, 7, 274, 6, 0, 86, 182, 266, 183, 7, + 274, 6, 0, 87, 182, 266, 183, 7, 274, 91, + 274, 88, 266, 6, 0, 41, 188, 266, 189, 6, + 0, 49, 42, 182, 266, 183, 7, 274, 6, 0, + 147, 42, 182, 266, 183, 7, 188, 266, 187, 274, + 189, 6, 0, 50, 42, 182, 266, 183, 7, 274, + 6, 0, 87, 42, 89, 90, 182, 266, 183, 7, + 272, 91, 188, 274, 187, 274, 189, 88, 188, 266, + 187, 266, 189, 6, 0, 87, 42, 182, 266, 183, + 7, 272, 91, 188, 274, 187, 274, 189, 88, 188, + 266, 187, 266, 189, 6, 0, 53, 42, 182, 266, + 183, 7, 274, 6, 0, 42, 64, 182, 266, 183, + 7, 274, 6, 0, 42, 188, 266, 189, 6, 0, + 52, 44, 182, 266, 183, 7, 274, 6, 0, 44, + 182, 266, 183, 7, 274, 6, 0, 53, 44, 182, + 266, 183, 7, 274, 6, 0, 59, 268, 188, 250, + 189, 0, 58, 188, 268, 187, 268, 187, 266, 189, + 188, 250, 189, 0, 60, 268, 188, 250, 189, 0, + 61, 188, 268, 187, 266, 189, 188, 250, 189, 0, + 252, 0, 251, 0, 249, 0, 0, 251, 248, 0, + 63, 188, 251, 189, 0, 66, 188, 251, 189, 0, + 66, 4, 184, 266, 185, 6, 0, 66, 103, 6, + 0, 4, 280, 6, 0, 4, 266, 6, 0, 57, + 182, 4, 183, 186, 4, 6, 0, 99, 6, 0, + 37, 6, 0, 94, 182, 266, 8, 266, 183, 0, + 94, 182, 266, 8, 266, 8, 266, 183, 0, 94, + 4, 95, 188, 266, 8, 266, 189, 0, 94, 4, + 95, 188, 266, 8, 266, 8, 266, 189, 0, 96, + 0, 102, 4, 0, 100, 0, 101, 4, 6, 0, + 97, 182, 266, 183, 0, 98, 0, 62, 38, 188, + 266, 187, 268, 189, 6, 0, 62, 38, 188, 266, + 187, 268, 187, 268, 187, 266, 189, 6, 0, 62, + 41, 188, 266, 187, 268, 189, 6, 0, 62, 41, + 188, 266, 187, 268, 187, 268, 187, 266, 189, 6, + 0, 0, 62, 41, 188, 266, 187, 268, 189, 257, + 188, 261, 189, 6, 0, 0, 62, 41, 188, 266, + 187, 268, 187, 268, 187, 266, 189, 258, 188, 261, + 189, 6, 0, 62, 42, 188, 266, 187, 268, 189, + 6, 0, 62, 42, 188, 266, 187, 268, 187, 268, + 187, 266, 189, 6, 0, 0, 62, 42, 188, 266, + 187, 268, 189, 259, 188, 261, 189, 6, 0, 0, + 62, 42, 188, 266, 187, 268, 187, 268, 187, 266, + 189, 260, 188, 261, 189, 6, 0, 262, 0, 261, + 262, 0, 70, 188, 274, 187, 274, 187, 274, 189, + 6, 0, 70, 188, 274, 187, 274, 189, 6, 0, + 65, 6, 0, 51, 41, 274, 7, 266, 6, 0, + 51, 41, 274, 7, 266, 54, 56, 266, 6, 0, + 51, 41, 274, 7, 266, 54, 55, 266, 6, 0, + 51, 42, 188, 266, 189, 7, 274, 6, 0, 48, + 42, 188, 266, 189, 7, 274, 6, 0, 51, 44, + 188, 266, 189, 7, 274, 6, 0, 65, 42, 274, + 7, 266, 6, 0, 65, 42, 274, 6, 0, 67, + 6, 0, 68, 6, 0, 107, 0, 108, 0, 109, + 0, 110, 0, 111, 0, 267, 0, 182, 266, 183, + 0, 172, 266, 0, 171, 266, 0, 177, 266, 0, + 266, 172, 266, 0, 266, 171, 266, 0, 266, 173, + 266, 0, 266, 174, 266, 0, 266, 175, 266, 0, + 266, 181, 266, 0, 266, 167, 266, 0, 266, 169, + 266, 0, 266, 168, 266, 0, 266, 170, 266, 0, + 266, 164, 266, 0, 266, 165, 266, 0, 266, 163, + 266, 0, 266, 162, 266, 0, 266, 161, 266, 8, + 266, 0, 12, 182, 266, 183, 0, 13, 182, 266, + 183, 0, 14, 182, 266, 183, 0, 15, 182, 266, + 183, 0, 16, 182, 266, 183, 0, 17, 182, 266, + 183, 0, 18, 182, 266, 183, 0, 19, 182, 266, + 183, 0, 20, 182, 266, 183, 0, 22, 182, 266, + 183, 0, 23, 182, 266, 187, 266, 183, 0, 24, + 182, 266, 183, 0, 25, 182, 266, 183, 0, 26, + 182, 266, 183, 0, 27, 182, 266, 183, 0, 28, + 182, 266, 183, 0, 29, 182, 266, 183, 0, 30, + 182, 266, 187, 266, 183, 0, 31, 182, 266, 187, + 266, 183, 0, 32, 182, 266, 187, 266, 183, 0, + 21, 182, 266, 183, 0, 12, 184, 266, 185, 0, + 13, 184, 266, 185, 0, 14, 184, 266, 185, 0, + 15, 184, 266, 185, 0, 16, 184, 266, 185, 0, + 17, 184, 266, 185, 0, 18, 184, 266, 185, 0, + 19, 184, 266, 185, 0, 20, 184, 266, 185, 0, + 22, 184, 266, 185, 0, 23, 184, 266, 187, 266, + 185, 0, 24, 184, 266, 185, 0, 25, 184, 266, + 185, 0, 26, 184, 266, 185, 0, 27, 184, 266, + 185, 0, 28, 184, 266, 185, 0, 29, 184, 266, + 185, 0, 30, 184, 266, 187, 266, 185, 0, 31, + 184, 266, 187, 266, 185, 0, 32, 184, 266, 187, + 266, 185, 0, 21, 184, 266, 185, 0, 3, 0, + 9, 0, 10, 0, 11, 0, 4, 0, 4, 184, + 266, 185, 0, 4, 246, 0, 4, 184, 266, 185, + 246, 0, 4, 186, 4, 0, 4, 184, 266, 185, + 186, 4, 0, 4, 186, 4, 246, 0, 4, 184, + 266, 185, 186, 4, 246, 0, 269, 0, 172, 268, + 0, 171, 268, 0, 268, 172, 268, 0, 268, 171, + 268, 0, 188, 266, 187, 266, 187, 266, 187, 266, + 187, 266, 189, 0, 188, 266, 187, 266, 187, 266, + 187, 266, 189, 0, 188, 266, 187, 266, 187, 266, + 189, 0, 182, 266, 187, 266, 187, 266, 183, 0, + 0, 182, 271, 183, 0, 5, 0, 271, 187, 5, + 0, 0, 188, 273, 189, 0, 182, 273, 183, 0, + 274, 0, 273, 187, 274, 0, 266, 0, 275, 0, + 188, 276, 189, 0, 172, 188, 276, 189, 0, 266, + 8, 266, 0, 266, 8, 266, 8, 266, 0, 4, + 184, 185, 0, 172, 4, 184, 185, 0, 4, 184, + 188, 276, 189, 185, 0, 172, 4, 184, 188, 276, + 189, 185, 0, 266, 0, 275, 0, 276, 187, 266, + 0, 276, 187, 275, 0, 188, 266, 187, 266, 187, + 266, 187, 266, 189, 0, 188, 266, 187, 266, 187, + 266, 189, 0, 4, 0, 4, 186, 92, 186, 4, + 0, 188, 279, 189, 0, 4, 184, 266, 185, 186, + 93, 0, 277, 0, 279, 187, 277, 0, 5, 0, + 35, 182, 280, 187, 280, 183, 0, 36, 182, 280, + 183, 0, 34, 182, 280, 183, 0, 34, 182, 280, + 187, 276, 183, 0, 34, 182, 4, 186, 4, 183, + 0, 34, 182, 4, 184, 266, 185, 186, 4, 183, 0 }; @@ -599,43 +607,44 @@ static const short yyrhs[] = { 191, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 153, 155, 156, 157, 164, 166, 169, 177, 191, 203, - 205, 208, 210, 211, 214, 220, 225, 226, 227, 230, - 234, 237, 243, 248, 254, 262, 267, 271, 277, 282, - 286, 291, 295, 298, 303, 307, 311, 315, 320, 324, - 327, 331, 335, 339, 343, 347, 351, 354, 358, 361, - 365, 368, 377, 381, 387, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 402, 407, 436, 441, - 447, 452, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 466, 469, 473, 479, 485, 488, 492, - 498, 504, 507, 511, 517, 523, 526, 530, 538, 544, - 547, 551, 559, 565, 568, 572, 580, 586, 589, 593, - 605, 611, 614, 618, 630, 636, 639, 643, 655, 661, - 664, 668, 681, 687, 690, 694, 707, 713, 716, 720, - 733, 745, 747, 748, 749, 750, 752, 754, 756, 787, - 821, 868, 883, 892, 907, 919, 933, 956, 980, 992, - 1006, 1018, 1032, 1048, 1064, 1077, 1097, 1108, 1114, 1133, - 1144, 1152, 1158, 1164, 1183, 1189, 1195, 1211, 1218, 1224, - 1230, 1241, 1252, 1274, 1286, 1292, 1311, 1332, 1340, 1346, - 1352, 1358, 1370, 1376, 1382, 1394, 1400, 1405, 1410, 1417, - 1419, 1420, 1423, 1428, 1439, 1457, 1465, 1470, 1481, 1549, - 1569, 1576, 1580, 1600, 1613, 1624, 1646, 1668, 1689, 1695, - 1700, 1705, 1709, 1719, 1726, 1735, 1739, 1743, 1748, 1752, - 1757, 1764, 1768, 1772, 1777, 1782, 1788, 1795, 1799, 1804, - 1834, 1860, 1870, 1889, 1907, 1925, 1947, 1968, 1989, 2003, - 2024, 2029, 2040, 2042, 2043, 2044, 2045, 2048, 2050, 2051, - 2052, 2053, 2054, 2055, 2056, 2057, 2064, 2065, 2066, 2067, - 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, - 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, - 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2097, 2098, - 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, - 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2122, - 2127, 2128, 2129, 2133, 2144, 2161, 2172, 2191, 2207, 2223, - 2239, 2256, 2261, 2265, 2269, 2273, 2278, 2283, 2287, 2291, - 2297, 2301, 2306, 2310, 2315, 2319, 2323, 2329, 2335, 2342, - 2348, 2352, 2356, 2366, 2373, 2384, 2398, 2414, 2434, 2458, - 2464, 2468, 2472, 2483, 2488, 2499, 2504, 2522, 2527, 2540, - 2546, 2552, 2557, 2565, 2578, 2582, 2607, 2621 + 154, 156, 157, 158, 165, 167, 170, 178, 192, 204, + 206, 209, 211, 212, 215, 221, 226, 227, 228, 231, + 235, 238, 244, 249, 255, 263, 268, 272, 278, 283, + 287, 292, 296, 299, 304, 308, 312, 316, 321, 325, + 328, 332, 336, 340, 344, 348, 352, 355, 359, 362, + 366, 369, 378, 382, 388, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 403, 408, 437, 442, + 448, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, 469, 472, 476, 482, 488, + 491, 495, 501, 507, 510, 514, 520, 526, 529, 533, + 541, 547, 550, 554, 562, 568, 571, 575, 583, 589, + 592, 596, 608, 614, 617, 621, 633, 639, 642, 646, + 658, 664, 667, 671, 684, 690, 693, 697, 710, 716, + 719, 723, 736, 742, 748, 755, 763, 769, 775, 782, + 790, 801, 803, 804, 805, 806, 808, 810, 812, 843, + 877, 924, 939, 948, 963, 975, 989, 1012, 1036, 1048, + 1062, 1074, 1088, 1104, 1120, 1133, 1153, 1164, 1170, 1189, + 1200, 1208, 1214, 1220, 1239, 1245, 1251, 1267, 1274, 1280, + 1286, 1297, 1308, 1330, 1342, 1348, 1367, 1388, 1396, 1402, + 1408, 1414, 1426, 1432, 1438, 1450, 1456, 1461, 1466, 1473, + 1475, 1476, 1479, 1484, 1495, 1513, 1521, 1526, 1537, 1605, + 1625, 1632, 1636, 1656, 1669, 1680, 1702, 1724, 1745, 1751, + 1756, 1761, 1765, 1775, 1782, 1791, 1795, 1799, 1804, 1808, + 1813, 1820, 1824, 1828, 1833, 1838, 1844, 1851, 1855, 1860, + 1890, 1916, 1926, 1945, 1963, 1981, 2003, 2024, 2045, 2059, + 2080, 2085, 2096, 2098, 2099, 2100, 2101, 2104, 2106, 2107, + 2108, 2109, 2110, 2111, 2112, 2113, 2120, 2121, 2122, 2123, + 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, + 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, + 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2153, 2154, + 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, + 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2178, + 2183, 2184, 2185, 2189, 2200, 2217, 2228, 2247, 2263, 2279, + 2295, 2312, 2317, 2321, 2325, 2329, 2334, 2339, 2343, 2347, + 2353, 2357, 2362, 2366, 2371, 2375, 2379, 2385, 2391, 2398, + 2404, 2408, 2412, 2422, 2429, 2440, 2454, 2470, 2490, 2514, + 2520, 2524, 2528, 2539, 2544, 2555, 2560, 2578, 2583, 2596, + 2602, 2608, 2613, 2621, 2634, 2638, 2663, 2677 }; #endif @@ -653,33 +662,34 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tDilate","tExtrude","tDuplicata","tLoop","tRecombine","tDelete","tCoherence", "tIntersect","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron", "tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine", -"tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline", -"tBezier","tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tColorTable", -"tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn","tCall","tFunction", -"tMesh","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","tTrimmed","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","STLFormatItem","StepFormatItems","StepFormatItem", -"StepSpecial","StepHeaderItem","StepDataItem","GeomFormatList","GeomFormat", -"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","ScalarTetrahedronValues", -"ScalarTetrahedron","@10","VectorTetrahedronValues","VectorTetrahedron","@11", -"TensorTetrahedronValues","TensorTetrahedron","@12","NumericAffectation","NumericIncrement", -"Affectation","Shape","Transform","MultipleShape","ListOfShapes","Duplicata", -"Delete","Command","Loop","Extrude","@13","@14","@15","@16","ExtrudeParameters", +"tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tText2D", +"tText3D","tBSpline","tBezier","tNurbs","tOrder","tWith","tBounds","tKnots", +"tColor","tColorTable","tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn", +"tCall","tFunction","tMesh","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","tTrimmed","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","STLFormatItem", +"StepFormatItems","StepFormatItem","StepSpecial","StepHeaderItem","StepDataItem", +"GeomFormatList","GeomFormat","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","ScalarTetrahedronValues","ScalarTetrahedron","@10","VectorTetrahedronValues", +"VectorTetrahedron","@11","TensorTetrahedronValues","TensorTetrahedron","@12", +"Text2DValues","Text2D","@13","Text3DValues","Text3D","@14","NumericAffectation", +"NumericIncrement","Affectation","Shape","Transform","MultipleShape","ListOfShapes", +"Duplicata","Delete","Command","Loop","Extrude","@15","@16","@17","@18","ExtrudeParameters", "ExtrudeParameter","Transfini","Coherence","BoolExpr","FExpr","FExpr_Single", "VExpr","VExpr_Single","ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble", "RecursiveListOfListOfDouble","ListOfDouble","FExpr_Multi","RecursiveListOfDouble", @@ -688,43 +698,44 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", #endif static const short yyr1[] = { 0, - 188, 188, 188, 188, 189, 189, 190, 190, 190, 191, - 191, 192, 192, 192, 193, 193, 193, 193, 193, 194, - 194, 194, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 196, 196, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 198, 198, 199, 199, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 201, 201, 203, 202, 204, 204, 206, - 205, 207, 207, 209, 208, 210, 210, 212, 211, 213, - 213, 215, 214, 216, 216, 218, 217, 219, 219, 221, - 220, 222, 222, 224, 223, 225, 225, 227, 226, 228, - 228, 230, 229, 231, 231, 233, 232, 234, 234, 236, - 235, 237, 237, 237, 237, 237, 238, 238, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 241, 241, 241, 241, 242, - 242, 242, 243, 243, 244, 245, 245, 245, 246, 246, - 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 248, 248, 248, 248, 249, 248, 250, - 248, 248, 248, 251, 248, 252, 248, 253, 253, 254, - 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, - 256, 256, 257, 257, 257, 257, 257, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 260, 260, 260, 260, 260, 261, 261, 261, 261, - 262, 262, 263, 263, 264, 264, 264, 265, 265, 266, - 266, 266, 266, 267, 267, 267, 267, 267, 267, 268, - 268, 268, 268, 269, 269, 269, 269, 270, 270, 271, - 271, 272, 272, 272, 272, 272, 272, 272 + 190, 190, 190, 190, 191, 191, 192, 192, 192, 193, + 193, 194, 194, 194, 195, 195, 195, 195, 195, 196, + 196, 196, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 198, 198, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 200, 200, 201, 201, + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 202, 202, 202, 202, 203, 203, 205, 204, 206, + 206, 208, 207, 209, 209, 211, 210, 212, 212, 214, + 213, 215, 215, 217, 216, 218, 218, 220, 219, 221, + 221, 223, 222, 224, 224, 226, 225, 227, 227, 229, + 228, 230, 230, 232, 231, 233, 233, 235, 234, 236, + 236, 238, 237, 239, 239, 241, 240, 242, 242, 244, + 243, 245, 245, 245, 245, 245, 246, 246, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 249, 249, 249, 249, 250, + 250, 250, 251, 251, 252, 253, 253, 253, 254, 254, + 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 256, 256, 256, 256, 257, 256, 258, + 256, 256, 256, 259, 256, 260, 256, 261, 261, 262, + 262, 262, 263, 263, 263, 263, 263, 263, 263, 263, + 264, 264, 265, 265, 265, 265, 265, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 268, 268, 268, 268, 268, 269, 269, 269, 269, + 270, 270, 271, 271, 272, 272, 272, 273, 273, 274, + 274, 274, 274, 275, 275, 275, 275, 275, 275, 276, + 276, 276, 276, 277, 277, 277, 277, 278, 278, 279, + 279, 280, 280, 280, 280, 280, 280, 280 }; static const short yyr2[] = { 0, @@ -736,12 +747,13 @@ static const short yyr2[] = { 0, 11, 9, 0, 2, 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, 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, 1, 1, 1, 1, 1, 1, 4, 7, + 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, 13, 1, 3, 0, + 15, 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, 5, 7, 7, 12, 7, 7, 9, 17, 8, 8, @@ -773,1832 +785,1860 @@ static const short yydefact[] = { 0, 14, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 208, 0, 213, 0, - 210, 0, 0, 0, 54, 56, 55, 57, 58, 59, + 0, 0, 0, 0, 0, 0, 218, 0, 223, 0, + 220, 0, 0, 0, 54, 56, 55, 57, 58, 59, 60, 61, 66, 65, 62, 63, 64, 5, 0, 0, - 0, 15, 16, 18, 17, 19, 331, 331, 0, 310, - 314, 362, 132, 311, 312, 313, 0, 0, 0, 0, + 0, 15, 16, 18, 17, 19, 341, 341, 0, 320, + 324, 372, 142, 321, 322, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 134, 135, 136, 0, 0, 0, 137, 138, 0, - 0, 0, 0, 0, 0, 248, 0, 0, 203, 0, + 143, 144, 145, 146, 0, 0, 0, 147, 148, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 322, 0, 0, 0, 0, 0, 193, 0, 0, 0, - 193, 241, 242, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 202, 0, 209, 0, 6, 0, 0, 0, + 332, 0, 0, 0, 0, 0, 203, 0, 0, 0, + 203, 251, 252, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 219, 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, 316, 0, 71, 0, 0, 0, + 0, 0, 0, 0, 326, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 251, 250, 252, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 200, 0, 0, 0, 0, 0, + 0, 0, 261, 260, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 153, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 314, 0, 0, 340, 0, 341, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 324, 0, 0, 350, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 324, 323, 0, 0, 0, 0, 193, - 193, 0, 0, 0, 0, 0, 0, 0, 198, 0, + 0, 0, 0, 334, 333, 0, 0, 0, 0, 203, + 203, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 333, 0, 0, 0, 0, 0, 318, + 0, 0, 0, 343, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 362, 0, 0, 0, 249, - 0, 0, 350, 351, 0, 0, 132, 0, 0, 0, - 0, 139, 0, 266, 265, 263, 264, 259, 261, 260, - 262, 254, 253, 255, 256, 257, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 372, 0, 0, 0, 259, + 0, 0, 360, 361, 0, 0, 142, 0, 0, 0, + 0, 149, 0, 276, 275, 273, 274, 269, 271, 270, + 272, 264, 263, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 326, 325, 192, 0, 191, 190, 0, 0, - 0, 0, 0, 195, 194, 240, 0, 0, 196, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 0, 0, 336, 335, 202, 0, 201, 200, 0, 0, + 0, 0, 0, 205, 204, 250, 0, 0, 206, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 332, 0, 0, 21, 0, 315, 320, 71, 0, + 0, 342, 0, 0, 21, 0, 325, 330, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 268, 289, 269, 290, 270, 291, - 271, 292, 272, 293, 273, 294, 274, 295, 275, 296, - 276, 297, 288, 309, 277, 298, 0, 0, 279, 300, - 280, 301, 281, 302, 282, 303, 283, 304, 284, 305, - 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, - 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 0, 0, 0, 0, 0, 67, 0, 0, 161, - 0, 0, 0, 0, 174, 0, 182, 0, 0, 346, - 0, 0, 0, 342, 344, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 278, 299, + 279, 300, 280, 301, 281, 302, 282, 303, 283, 304, + 284, 305, 285, 306, 286, 307, 298, 319, 287, 308, + 0, 0, 289, 310, 290, 311, 291, 312, 292, 313, + 293, 314, 294, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 375, 0, 0, 374, 0, 0, 0, 0, + 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, + 67, 0, 0, 171, 0, 0, 0, 0, 184, 0, + 192, 0, 0, 356, 0, 0, 0, 352, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 186, 188, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 196, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 331, 0, 317, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, + 0, 0, 0, 0, 0, 344, 0, 341, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 142, 352, 353, 0, 0, 0, 0, 0, - 144, 145, 147, 0, 0, 356, 0, 360, 0, 153, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 347, 0, 343, 0, 160, 0, 0, 0, 0, - 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 239, 197, 0, - 0, 0, 0, 0, 335, 0, 0, 0, 204, 0, + 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 152, 362, + 363, 0, 0, 0, 0, 0, 154, 155, 157, 0, + 0, 366, 0, 370, 0, 163, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 357, 0, 353, + 0, 170, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 249, 207, 0, 0, 0, 0, 0, + 345, 0, 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 243, 244, 245, 246, 247, 0, - 0, 0, 0, 0, 0, 0, 20, 0, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 299, 285, 306, 286, 307, 287, 308, - 0, 367, 366, 363, 0, 132, 0, 0, 0, 0, - 140, 0, 0, 0, 0, 0, 358, 68, 157, 165, - 0, 166, 0, 162, 0, 163, 184, 0, 0, 345, + 253, 254, 255, 256, 257, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 201, 0, 0, 0, 0, 193, 0, - 0, 0, 218, 0, 224, 0, 0, 171, 172, 0, + 288, 309, 295, 316, 296, 317, 297, 318, 0, 377, + 376, 373, 0, 142, 0, 0, 0, 0, 150, 0, + 0, 0, 0, 0, 368, 68, 167, 175, 0, 176, + 0, 172, 0, 173, 194, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 211, 0, 0, 0, 0, 203, 0, 0, 0, + 228, 0, 234, 0, 0, 181, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 331, 321, - 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 151, 0, 0, 0, 361, 0, 170, 181, 348, 0, - 0, 237, 175, 177, 0, 0, 236, 238, 183, 158, - 169, 180, 185, 0, 0, 0, 330, 0, 329, 0, - 0, 214, 0, 216, 0, 0, 222, 0, 0, 0, - 335, 0, 338, 0, 0, 0, 0, 206, 205, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 341, 331, 70, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, + 161, 0, 0, 0, 371, 0, 180, 191, 358, 0, + 0, 247, 185, 187, 0, 0, 246, 248, 193, 168, + 179, 190, 195, 0, 0, 0, 340, 0, 339, 0, + 0, 224, 0, 226, 0, 0, 232, 0, 0, 0, + 345, 0, 348, 0, 0, 0, 0, 216, 215, 0, 0, 0, 0, 0, 23, 0, 32, 0, 36, 0, 30, 0, 0, 35, 0, 40, 38, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 141, 146, 148, 0, 154, - 0, 0, 0, 167, 349, 0, 235, 234, 155, 156, - 193, 0, 189, 0, 0, 0, 0, 0, 0, 0, - 0, 337, 0, 336, 0, 0, 0, 0, 0, 0, - 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 151, 156, 158, + 0, 164, 0, 0, 0, 177, 359, 0, 245, 244, + 165, 166, 203, 0, 199, 0, 0, 0, 0, 0, + 0, 0, 0, 347, 0, 346, 0, 0, 0, 0, + 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 378, 0, 369, + 367, 0, 0, 0, 0, 338, 0, 0, 0, 0, + 0, 238, 0, 0, 0, 0, 0, 349, 0, 0, + 217, 0, 0, 37, 0, 0, 0, 0, 27, 0, + 33, 0, 39, 28, 41, 0, 44, 0, 48, 49, + 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, + 0, 0, 197, 0, 0, 230, 242, 0, 0, 239, + 236, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 368, 0, 359, 357, 0, 0, 0, - 0, 328, 0, 0, 0, 0, 0, 228, 0, 0, - 0, 0, 0, 339, 0, 0, 207, 0, 0, 37, - 0, 0, 0, 0, 27, 0, 33, 0, 39, 28, - 41, 0, 44, 0, 48, 49, 0, 0, 51, 0, + 88, 92, 96, 136, 0, 0, 365, 0, 337, 225, + 227, 0, 0, 229, 233, 0, 235, 169, 174, 0, + 0, 186, 0, 0, 0, 0, 0, 31, 34, 42, + 0, 43, 50, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 152, 0, 0, 187, 0, 0, 220, - 232, 0, 0, 229, 226, 0, 0, 0, 0, 0, - 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 90, 94, 0, 355, 0, - 327, 215, 217, 0, 0, 219, 223, 0, 225, 159, - 164, 0, 0, 176, 0, 0, 0, 0, 0, 31, - 34, 42, 0, 43, 50, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 140, 364, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 86, 0, 90, 0, 94, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 354, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 26, 29, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 0, 88, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 221, 0, 231, 227, 0, 0, 0, 0, - 0, 46, 22, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 85, 87, 89, 91, 93, 95, 168, 0, + 231, 0, 241, 237, 0, 0, 0, 0, 0, 46, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 89, 91, 93, 95, 97, 135, 137, 0, 138, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 104, 108, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 98, 102, 106, 230, 0, 0, 0, 0, 0, + 0, 0, 0, 139, 141, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, 100, 0, 104, 0, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 0, 102, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 178, 0, 24, 0, 0, 0, - 0, 0, 0, 97, 99, 101, 103, 105, 107, 0, - 0, 0, 0, 110, 114, 118, 0, 0, 0, 0, + 188, 0, 24, 0, 0, 0, 0, 0, 0, 99, + 101, 103, 105, 107, 109, 0, 0, 0, 0, 112, + 116, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 108, 0, 112, 0, 116, + 0, 110, 0, 114, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 111, 113, 115, 117, 119, - 0, 122, 126, 130, 25, 0, 0, 0, 0, 0, - 0, 0, 120, 0, 124, 0, 128, 0, 0, 0, - 0, 0, 0, 121, 123, 125, 127, 129, 131, 0, - 0, 0 + 111, 113, 115, 117, 119, 121, 0, 124, 128, 132, + 25, 0, 0, 0, 0, 0, 0, 0, 122, 0, + 126, 0, 130, 0, 0, 0, 0, 0, 0, 123, + 125, 127, 129, 131, 133, 0, 0, 0 }; -static const short yydefgoto[] = { 1630, +static const short yydefgoto[] = { 1666, 80, 5, 6, 19, 20, 21, 22, 7, 65, 66, - 67, 412, 1399, 603, 1347, 1401, 604, 1348, 1403, 605, - 1349, 1514, 606, 1487, 1516, 607, 1488, 1518, 608, 1489, - 1575, 609, 1561, 1577, 610, 1562, 1579, 611, 1563, 1612, - 612, 1606, 1614, 613, 1607, 1616, 614, 1608, 133, 235, - 68, 535, 525, 526, 527, 528, 72, 73, 74, 75, - 1075, 1314, 1078, 1318, 1217, 1218, 76, 77, 890, 327, - 136, 170, 171, 230, 405, 983, 1082, 1083, 329, 465, - 808, 675, 809, 137 + 67, 412, 1421, 605, 1365, 1423, 606, 1366, 1425, 607, + 1367, 1550, 608, 1521, 1552, 609, 1522, 1554, 610, 1523, + 1611, 611, 1597, 1613, 612, 1598, 1615, 613, 1599, 1648, + 614, 1642, 1650, 615, 1643, 1652, 616, 1644, 1427, 617, + 1368, 1489, 618, 1429, 133, 235, 68, 535, 525, 526, + 527, 528, 72, 73, 74, 75, 1085, 1332, 1088, 1336, + 1231, 1232, 76, 77, 896, 327, 136, 170, 171, 230, + 405, 991, 1092, 1093, 329, 465, 814, 679, 815, 137 }; -static const short yypact[] = { 2071, - 48,-32768,-32768, -78,-32768, 331, 2293,-32768, 19, 70, - 78, 93, 176, 181, 185, -88, -48, -10,-32768,-32768, --32768,-32768, 1649, 23, 189, -133, 34, 147, -47, -46, - 162, 165, 312, 171, 341, 352, 359, 111, 327, 462, - 256, 247, -128, -128, 263, 488, 274, 400, 8, 470, - 491, 83, 325, 332, -26, 17,-32768, 348,-32768, 515, --32768, 533, 543, 512,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 559, 19, - 2316,-32768,-32768,-32768,-32768,-32768, 387, 387, 570,-32768, - 116, 6,-32768,-32768,-32768,-32768, -144, -15, -3, 26, - 84, 87, 108, 119, 190, 200, 211, 220, 297, 368, - 386, 390, 391, 396, 399, 402, 403, 422, 433, 436, --32768,-32768,-32768,-32768, 1683, 1683, 1683,-32768,-32768, 1683, - 394, 25, 1683, 615, 598,-32768, 629, 634,-32768, 1683, - 1683, 1683, 1683, 467, 1683, 1683, 501, 1683, 1683, 1683, - 1239, 1683, 504, 517, 524, 1239, 510, 514, 528, 537, - 562, 563, 564, 705, -128, -128, -128, 1683, 1683, -81, --32768, -73, -128, 587, 588, 590,-32768, 1239, 596, 773, --32768,-32768,-32768, 1239, 1239, 1683, 1683, -50, 1683, 687, - 1683, 1683,-32768, 775,-32768, 603,-32768, 19, 608, 618, - 619, 621, 628, 641, 642, 645, 646, 647, 648, 649, - 650, 651, 653, 661, 671, 672, 673, 674, 675, 678, - 680, 681, 683, 684, 685, 686, 688, 689, 819, 682, - 676, 690, 1683, 855,-32768, -128,-32768, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 40, - 44, 44, 692, 692, 692, 5651, 865, 1718, 5001, 28, - 696, 866, 677,-32768,-32768, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, --32768, 148, 5674, 1919, 5697, 5720, 1683, 5743, 2235, 1683, - 2302, 5766, 5789, 164, 1597, 1718, 1824, 867,-32768, 5812, - 1683, 1683, 1683, 869, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 700, -84,-32768,-32768, 2670, 2691, -128, -128, 457, - 457, -79, 1683, 1683, 1683, 2161, 105, 1683,-32768, 2184, - 875, 876, 5835, 5858, 797, 1683, 5881, 701, 1839, 5904, --32768, 1683, 735, 883, 885, 886, 888, 889, 891, 892, - 893, 894, 895, 896, 897, 898, 900, 901, 902, 903, - 904, 905, 906, 908, 909, 915, 792, 926, 931, 932, - 933, 936, 935,-32768, 204, 939, 940, 942, 5026, 308, - -35, -12, 5927, 5051, 5950, 5076, 5973, 5101, 5996, 5126, - 6019, 5151, 6042, 5176, 6065, 5201, 6088, 5226, 6111, 5251, - 6134, 5276, 6157, 5301, 2712, 2733, 6180, 5326, 6203, 5351, - 6226, 5376, 6249, 5401, 6272, 5426, 6295, 5451, 2754, 2775, - 2796, 2817, 2838, 2859, 329,-32768, 253, 763, 768,-32768, - 1239, 1927, 1824,-32768, 366, 4, 44, 1683, 944, 947, - 10,-32768, 1854, 624, 644, 505, 505, 323, 323, 323, - 323, 258, 258, 692, 692, 692, 692, 946, 1718, 948, - 950, 951, 952, 6318, 953, 955, 6341, 956, 958, 959, - 709, 264, 1718, 416, 1683, 1683, 961, 2325, 6364, 6387, - 1683, 2348, 2371, 6410, 6433, 6456, 6479, 6502, 779, -128, - 1683, 1683,-32768,-32768,-32768, 770, 2234,-32768, 782, 1683, - 2880, 2901, 2922,-32768,-32768,-32768, 1683, 5476,-32768, 784, - 785, 965, 966, 794, 6525, 968, 1683, 1683,-32768, 6548, - 824, 793, 795, 796, 798, 802, 803, 805, 807, 808, - 809, 811, 812, 813, 826, 827, 828, 829, 830, 831, - 832, 833, 834, 835, 837, 853, 854, 856, 857, 859, - 861,-32768, 974, 801,-32768, 862, 86,-32768,-32768, 860, - 868, 870, 871, 874, 877, 911, 913, 916, 917, 919, - 920, 1043,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +static const short yypact[] = { 2081, + 80,-32768,-32768, -75,-32768, 285, 2198,-32768, 11, 94, + 103, 110, 149, 156, 161, -61, -10, -4,-32768,-32768, +-32768,-32768, 1668, 7, 255, -77, 87, 117, -17, -13, + 145, 154, 302, 171, 317, 348, 357, 226, 329, 115, + 224, 276, -30, -30, 293, 417, 320, 470, 9, 511, + 523, 90, 323, 360, -1, 78,-32768, 390,-32768, 574, +-32768, 595, 617, 589,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 640, 11, + 2221,-32768,-32768,-32768,-32768,-32768, 474, 474, 655,-32768, + 114, 4,-32768,-32768,-32768,-32768, -91, 107, 234, 235, + 262, 265, 305, 318, 319, 322, 327, 331, 338, 339, + 359, 389, 408, 409, 412, 416, 438, 488, 489, 500, +-32768,-32768,-32768,-32768, 1760, 1760, 1760,-32768,-32768, 1760, + 8, 40, 1760, 675, 564,-32768, 683, 685,-32768, 1760, + 1760, 1760, 1760, 514, 1760, 1760, 518, 1760, 1760, 1760, + 1432, 1760, 513, 530, 535, 1432, 516, 517, 541, 548, + 565, 593, 598, 773, -30, -30, -30, 1760, 1760, -100, +-32768, -82, -30, 596, 599, 601,-32768, 1432, 602, 777, +-32768,-32768,-32768, 1432, 1432, 1760, 1760, -43, 1760, 696, + 1760, 1760,-32768, 786,-32768, 611,-32768, 11, 612, 613, + 614, 615, 618, 619, 620, 621, 622, 623, 625, 627, + 629, 630, 631, 635, 636, 637, 638, 639, 641, 645, + 647, 648, 649, 650, 651, 652, 653, 654, 794, 660, + 656, 670, 1760, 818,-32768, -30,-32768, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 61, + 79, 79, 657, 657, 657, 1990, 830, 1852, 872, 283, + 672, 852, 681,-32768,-32768, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, +-32768, 151, 2107, 2302, 5777, 5800, 1760, 5823, 2325, 1760, + 2348, 5846, 5869, 191, 1633, 1852, 966, 853,-32768, 5892, + 1760, 1760, 1760, 854, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 680, -11,-32768,-32768, 2716, 2737, -30, -30, 342, + 342, 124, 1760, 1760, 1760, 729, 143, 1760,-32768, 2023, + 857, 858, 5915, 5938, 776, 1760, 5961, 682, 1808, 5984, +-32768, 1760, 715, 864, 881, 883, 884, 885, 887, 888, + 889, 895, 905, 906, 908, 909, 911, 912, 914, 916, + 919, 921, 926, 927, 928, 929, 787, 930, 931, 932, + 933, 936, 937,-32768, 159, 939, 940, 942, 5152, 21, + -37, 1276, 6007, 5177, 6030, 5202, 6053, 5227, 6076, 5252, + 6099, 5277, 6122, 5302, 6145, 5327, 6168, 5352, 6191, 5377, + 6214, 5402, 6237, 5427, 2758, 2779, 6260, 5452, 6283, 5477, + 6306, 5502, 6329, 5527, 6352, 5552, 6375, 5577, 2800, 2821, + 2842, 2863, 2884, 2905, 249,-32768, 164, 758, 765,-32768, + 1432, 1935, 966,-32768, 278, 147, 79, 1760, 946, 950, + 70,-32768, 1823, 363, 494, 256, 256, 223, 223, 223, + 223, 296, 296, 657, 657, 657, 657, 949, 1852, 952, + 954, 956, 959, 6398, 960, 963, 6421, 964, 969, 970, + 536, 205, 1852, 287, 1760, 1760, 971, 2371, 6444, 6467, + 1760, 2394, 2417, 6490, 6513, 6536, 6559, 6582, 770, -30, + 1760, 1760,-32768,-32768,-32768, 769, 2263,-32768, 782, 1760, + 2926, 2947, 2968,-32768,-32768,-32768, 1760, 5602,-32768, 785, + 791, 973, 974, 802, 6605, 979, 1760, 1760,-32768, 6628, + 833, 803, 804, 811, 813, 814, 815, 817, 819, 834, + 835, 836, 837, 838, 839, 840, 841, 842, 843, 845, + 862, 863, 865, 867, 869, 871, 873, 875, 876, 877, + 878,-32768, 1000, 868,-32768, 879, 306,-32768,-32768, 886, + 893, 917, 918, 923, 924, 925, 968, 972, 975, 976, + 977, 978, 980, 1061,-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, 1683, 1683,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1059,-32768, 1718, - 44,-32768, 1050, 1718, 882, 67, 1683, 1060, 1095, 756, --32768, 1096, 922, 15, 1099, 1683,-32768, 262, -128,-32768, - 1239, 1239, 1100, 1239,-32768, 1101,-32768, 1239, 1239,-32768, - 1718, 1058, 420,-32768, 1876, 864, 923, 1103, 1104, 1107, - 373, 1108, 1109, 1110, 1113, 1114, 1115, 1116, 1098, 126, - 2943, 2964,-32768,-32768, 2394, -128, -128, -128, 1052, 1118, - 1683, 1683, 1239, 1239, 1683, 1119, 1239, 1891, 427, 1121, - 981, 1127, 1683, 1683, -128, 1130, 1132, 967, 1136, 1137, - 1239, 1239, 1138, -128, 1139, 1141, 1239, 1239, 1142, 1143, - 1144, 1145, 1146, 1239, 452, 1239, 1147, 1148, 1149, 1152, - 1153,-32768, 1151, 387, 1102,-32768, 585, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683,-32768, - 6571, 5501, 6594, 5526, 6617, 5551, 6640, 5576, 5601, 971, - 305, 977,-32768, 1824,-32768, 16, 149, 976, 1154, 1352, --32768,-32768,-32768, 15, 1683, 978, 1683,-32768, 424,-32768, - 7146, 1157, 42, 24, 1159, 1239, 1160, 1239, 1162, 1175, - 425,-32768, 1718,-32768, 1683,-32768, 1683, 1239, 1239, 1239, --32768, 599, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 679, - 1683, 1683, 1683, 996, -130, -87, 199,-32768,-32768, 2985, - 3006, 1177, 1178, 6663, -93, 1097, 1683, 1683,-32768, 1004, - 19, 1006, 3027, 3048, 91, 1007, 1012, 1009, 1014, 1011, - 1016, 1013, 1017, 169, 1018, 1035, 1045, 1044, 1047, 1049, - 1051, 1054, 1055, 1056,-32768,-32768,-32768,-32768,-32768, 1061, - 1062, 1087, 1105, 1140, 1064, 1150,-32768, 1155, 308, 1229, - 3069, 3090, 3111, 3132, 3153, 3174, 3195, 3216, 3237, 3258, - 3279, 3300,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 1111,-32768,-32768,-32768, 1239, 44, 1683, 1276, 1279, 10, --32768, 1280, 5626, 1197, 3321, 15,-32768,-32768,-32768,-32768, - -128,-32768, 1282,-32768, 1283,-32768,-32768, 1156, 432, 7146, - 3342, 1315, 1321, 1322, 1683, 1683, 1323, 1324, 1325, 1326, - 1327, 1328, 1330,-32768, 1288, 2417, 6686, 302, 457, -128, - 1331, -128, 1332, -128, 1347, 1683, 1683,-32768,-32768, 1287, - 1239, 1239, 1265, 1239, 194, 6709, 1683, 19, 1353, 1683, - 1239, 1351, 1356, 1354, 1190, 1362, 452, 1372, 1376, 1683, - 1374, 1379, 1380, 1381, 1382, 452, 1683, 1683, 1683, 1239, - 1384, 1389, 452, 1683, 1390, 1401, 1400, 1683, 387,-32768, --32768, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1406, 1405, 1409, 1410,-32768, 1411, 1414, --32768, 1228, 1233, 1683,-32768, 89,-32768,-32768,-32768, 1238, - 1683,-32768,-32768,-32768, 1592, 1629,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1710, 1416, 1237,-32768, 1683,-32768, 1240, - 167,-32768, 205,-32768, 1242, 207,-32768, 1243, 3363, 3384, - -93, 338,-32768, 435, 1244, 1338, 1683,-32768,-32768, 3405, - 19, 1245, 3426, 1246,-32768, 1247,-32768, 1248,-32768, 1253, --32768, 1250, 6732,-32768, 1251,-32768,-32768, 1256, 1260, 6755, - 3447, 6778, 1257,-32768, 1268, 1269, 3468, 1266, 1271,-32768, - 3489, 1270, 3510, 3531, 3552, 3573, 3594, 3615, 3636, 3657, - 3678, 3699, 3720, 3741, 1272,-32768,-32768,-32768, 15,-32768, - 1363, 1452, 3762,-32768,-32768, 3783,-32768,-32768,-32768,-32768, - 457, 1204,-32768, 1683, 1683, -19, 1683, -19, 1683, 1683, - 1370,-32768, 1239,-32768, 1239, 1683, 2440, 1239, 1312, 1455, - -93, 452, 1459, 1683, 1458, 452, 1460, 1462, 1463, 1464, - 1465, 1683, 1475, 1239, 1476, 1477, 1683, 1481, 1479, 1683, - 1482, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683,-32768, 1480,-32768,-32768, 1683, 1483, 1302, - 1683,-32768, 2463, 2486, 1484, 1305, -45,-32768, 2509, -39, - 2532, 2555, 1306,-32768, 1308, 1803,-32768, 1307, 19,-32768, - 1310, 1311, 1313, 3804,-32768, 1316,-32768, 1318,-32768,-32768, --32768, 6801,-32768, 1341,-32768,-32768, 6824, 1335,-32768, 6847, - 1342, 3825, 3846, 3867, 3888, 3909, 3930, 3951, 3972, 3993, - 6870, 6893, 6916,-32768, 1741, 1348,-32768, 2578, 1501, 1503, --32768, 1239, 1526,-32768, 1529, 1531, 1532, 1534, 1239, 1239, --32768, 1535, 19, 452, 452, 452, 452, 1542, 1543, 1544, - 452, 1545, 1546, 1547, 1549, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683,-32768,-32768,-32768, 1683,-32768, 1551, --32768,-32768,-32768, 1371, 1373,-32768,-32768, 1377,-32768,-32768, --32768, 1383, 1378,-32768, 19, 1399, 1407, 1386, 1393,-32768, --32768,-32768, 1408,-32768,-32768,-32768, 1417, 4014, 4035, 4056, - 4077, 4098, 4119, 4140, 4161, 4182, 1404, 1418, 1419, 2601, - 1445, -19, 1239, -19, 1239, 1499, 1443, 452, 452, 1588, - 1590, 452, 1598, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683,-32768, 1626, -38, 439, -37, - 1446, 1448, 19, 1447, 1451,-32768,-32768, 1456, 1457, 4203, - 4224, 4245, 4266, 4287, 4308, 4329, 4350, 4371, 440, 7146, - 451, 7146, 455, 7146, 1453, 1633, 1239, 1635, 1636, 1558, - 1683, 19, 452, 1239, 1639, 1640, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1683, 1683, 1641, 1683, 1642, 1683, - 1643, 1651,-32768, 1468,-32768,-32768, 1496, 4392, 19, 1504, - 1505,-32768,-32768, 4413, 4434, 4455, 4476, 4497, 4518, 6939, - 6962, 6985, 7146,-32768, 7146,-32768, 7146,-32768,-32768, 1682, - 1683, 1683, 1538, 452, 1239, 1683, 1683, 1683, 1683, 1683, - 1683,-32768,-32768,-32768,-32768, 4539, 2624, 1563, 1533, 1540, - 4560, 4581, 4602, 4623, 4644, 4665, 1537, 1570, 1582, 1683, - 1713,-32768, 1239, 452, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 2647,-32768, 1584, 1539, 4686, 4707, 4728, - 4749, 4770, 4791, 458, 7146, 461, 7146, 464, 7146, 1764, - 1239, 1767, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1768, - 1683, 1769, 1683, 1770,-32768, 1594,-32768, 4812, 4833, 4854, - 7008, 7031, 7054, 7146,-32768, 7146,-32768, 7146,-32768, 1239, - 1683, 1683, 1683,-32768,-32768,-32768, 1595, 4875, 4896, 4917, - 1596, 1600, 1601, 1239, 1683, 1683, 1683, 1683, 1683, 1683, - 1599, 4938, 4959, 4980, 495, 7146, 507, 7146, 508, 7146, - 452, 1683, 1683, 1683, 1683, 1775, 1683, 1787, 1683, 1797, - 1630, 7077, 7100, 7123, 7146,-32768, 7146,-32768, 7146,-32768, - 1804,-32768,-32768,-32768,-32768, 1627, 1628, 1631, 1683, 1683, - 1683, 516, 7146, 520, 7146, 529, 7146, 1683, 1806, 1683, - 1809, 1683, 1810, 7146,-32768, 7146,-32768, 7146,-32768, 1820, - 1821,-32768 + 1760, 1760,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1065,-32768, 1852, 79,-32768, 1064, 1852, 903, 55, + 1760, 1092, 1098, 710,-32768, 1101, 958, 71, 1103, 1760, +-32768, 251, -30,-32768, 1432, 1432, 1104, 1432,-32768, 1138, +-32768, 1432, 1432,-32768, 1852, 1310, 437,-32768, 1845, 734, + 965, 1144, 1145, 1149, 414, 1154, 1157, 1158, 1159, 1160, + 1161, 1162, 1106, 150, 2989, 3010,-32768,-32768, 2440, -30, + -30, -30, 922, 1166, 1760, 1760, 1432, 1432, 1760, 1167, + 1432, 1877, 442, 1168, 1023, 1174, 1760, 1760, -30, 1192, + 1193, 1024, 1195, 1197, 1432, 1432, 1198, -30, 1205, 1216, + 1432, 1432, 1217, 1218, 1219, 1221, 1222, 1432, 386, 1432, + 1223, 1225, 1226, 1224, 1229,-32768, 1228, 474, 1231,-32768, + 1838, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760,-32768, 6651, 5627, 6674, 5652, + 6697, 5677, 6720, 5702, 5727, 1054, 292, 1055,-32768, 966, +-32768, 45, 294, 1053, 1233, 951,-32768,-32768,-32768, 71, + 1760, 1056, 1760,-32768, 440,-32768, 2052, 1235, 37, 51, + 1238, 1432, 1239, 1432, 1240, 1241, 441,-32768, 1852,-32768, + 1760,-32768, 1760, 1432, 1432, 1432,-32768, 546, 1432, 1432, + 1432, 1432, 1432, 1432, 1432, 633, 1760, 1760, 1760, 1060, + -111, -108, -102,-32768,-32768, 3031, 3052, 1243, 1244, 6743, + -58, 1163, 1760, 1760,-32768, 1063, 11, 1066, 3073, 3094, + 23, 1069, 1079, 1085, 1090, 1087, 1093, 1088, 1091, 169, + 1094, 1097, 1099, 1100, 1111, 1113, 1114, 1117, 1118, 1102, +-32768,-32768,-32768,-32768,-32768, 1119, 1120, 1121, 1122, 1123, + 1105, 1124,-32768, 1125, 21, 1246, 3115, 3136, 3157, 3178, + 3199, 3220, 3241, 3262, 3283, 3304, 3325, 3346, 3367, 3388, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1129,-32768, +-32768,-32768, 1432, 79, 1760, 1273, 1279, 70,-32768, 1278, + 5752, 1194, 3409, 71,-32768,-32768,-32768,-32768, -30,-32768, + 1311,-32768, 1312,-32768,-32768, 1131, 457, 2052, 3430, 1338, + 1339, 1340, 1760, 1760, 1372, 1397, 1398, 1400, 1401, 1403, + 1404,-32768, 1726, 2463, 6766, 2207, 342, -30, 1405, -30, + 1409, -30, 1410, 1760, 1760,-32768,-32768, 1411, 1432, 1432, + 1343, 1432, 193, 6789, 1760, 11, 1426, 1760, 1432, 1425, + 1435, 1433, 1267, 1460, 386, 1462, 1466, 1760, 1467, 1469, + 1468, 1477, 1481, 386, 1760, 1760, 1760, 1432, 1479, 1483, + 386, 1760, 1485, 1486, 1484, 1760, 474,-32768,-32768, 1760, + 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1487, 1488, 1490, 1042,-32768, 1492, 1491, +-32768, 1307, 1314, 1760,-32768, 92,-32768,-32768,-32768, 1316, + 1760,-32768,-32768,-32768, 1096, 1212,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 1227, 1496, 1317,-32768, 1760,-32768, 1315, + 152,-32768, 157,-32768, 1318, 200,-32768, 1319, 3451, 3472, + -58, 303,-32768, 460, 1329, 1430, 1760,-32768,-32768, 3493, + 11, 1336, 3514, 1333,-32768, 1334,-32768, 1335,-32768, 1341, +-32768, 1342, 6812,-32768, 1344,-32768,-32768, 1345, 1347, 6835, + 3535, 6858, 1348,-32768, 1351, 1360, 3556, 1358, 1364,-32768, + 3577, 1361, 3598, 3619, 3640, 3661, 3682, 3703, 3724, 3745, + 3766, 3787, 3808, 3829, 3850, 3871, 1366,-32768,-32768,-32768, + 71,-32768, 1434, 1519, 3892,-32768,-32768, 3913,-32768,-32768, +-32768,-32768, 342, 2244,-32768, 1760, 1760, 3, 1760, 3, + 1760, 1760, 1461,-32768, 1432,-32768, 1432, 1760, 2486, 1432, + 1376, 1545, -58, 386, 1550, 1760, 1548, 386, 1549, 1553, + 1551, 1552, 1554, 1760, 1555, 1432, 1556, 1557, 1760, 1564, + 1562, 1760, 1565, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 1760, 1760,-32768, 1563,-32768, +-32768, 1760, 1566, 1370, 1760,-32768, 2509, 2532, 1567, 1384, + -16,-32768, 2555, -15, 2578, 2601, 1386,-32768, 1388, 1544, +-32768, 1387, 11,-32768, 1390, 1399, 1402, 3934,-32768, 1407, +-32768, 1408,-32768,-32768,-32768, 6881,-32768, 1406,-32768,-32768, + 6904, 1416,-32768, 6927, 1414, 3955, 3976, 3997, 4018, 4039, + 4060, 4081, 4102, 4123, 6950, 6973, 6996, 7019, 4144,-32768, + 2273, 1418,-32768, 2624, 1578, 1579,-32768, 1432, 1581,-32768, + 1582, 1586, 1588, 1600, 1432, 1432,-32768, 1601, 11, 386, + 386, 386, 386, 1602, 1605, 1607, 386, 1609, 1610, 1611, + 1613, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, +-32768,-32768,-32768,-32768, 1760, 1760,-32768, 1614,-32768,-32768, +-32768, 1437, 1439,-32768,-32768, 1440,-32768,-32768,-32768, 1442, + 1438,-32768, 11, 1443, 1445, 1451, 1455,-32768,-32768,-32768, + 1452,-32768,-32768,-32768, 1453, 4165, 4186, 4207, 4228, 4249, + 4270, 4291, 4312, 4333, 1478, 1480, 1482, 1513, 7042, 2647, + 1454, 3, 1432, 3, 1432, 1533, 1517, 386, 386, 1704, + 1714, 386, 1669, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 79,-32768,-32768, 1716, -12, + 463, -3, 1534, 1536, 11, 1535, 1539,-32768,-32768, 1576, + 1584, 4354, 4375, 4396, 4417, 4438, 4459, 4480, 4501, 4522, + 464, 2052, 487, 2052, 490, 2052, 491,-32768, 1540, 1538, + 1727, 1432, 1759, 1762, 1644, 1760, 11, 386, 1432, 1787, + 1789, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, + 1760, 1790, 1760, 1791, 1760, 1792, 79, 1793, 79, 1794, +-32768, 1612,-32768,-32768, 1615, 4543, 11, 1619, 1620,-32768, +-32768, 4564, 4585, 4606, 4627, 4648, 4669, 7065, 7088, 7111, + 2052,-32768, 2052,-32768, 2052,-32768,-32768,-32768, 496,-32768, +-32768, 1796, 1760, 1760, 1653, 386, 1432, 1760, 1760, 1760, + 1760, 1760, 1760,-32768,-32768,-32768, 79, 1803,-32768, 4690, + 2670, 1655, 1625, 1626, 4711, 4732, 4753, 4774, 4795, 4816, + 1629, 1630, 1631,-32768,-32768, 1760, 1814,-32768, 1432, 386, + 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 2693, +-32768, 1627, 1639, 4837, 4858, 4879, 4900, 4921, 4942, 499, + 2052, 510, 2052, 522, 2052, 1818, 1432, 1824, 1760, 1760, + 1760, 1760, 1760, 1760, 1760, 1826, 1760, 1827, 1760, 1828, +-32768, 1642,-32768, 4963, 4984, 5005, 7134, 7157, 7180, 2052, +-32768, 2052,-32768, 2052,-32768, 1432, 1760, 1760, 1760,-32768, +-32768,-32768, 1648, 5026, 5047, 5068, 1650, 1654, 1656, 1432, + 1760, 1760, 1760, 1760, 1760, 1760, 1649, 5089, 5110, 5131, + 533, 2052, 554, 2052, 555, 2052, 386, 1760, 1760, 1760, + 1760, 1835, 1760, 1837, 1760, 1842, 1666, 7203, 7226, 7249, + 2052,-32768, 2052,-32768, 2052,-32768, 1851,-32768,-32768,-32768, +-32768, 1663, 1670, 1671, 1760, 1760, 1760, 559, 2052, 576, + 2052, 577, 2052, 1760, 1854, 1760, 1880, 1760, 1881, 2052, +-32768, 2052,-32768, 2052,-32768, 1888, 1889,-32768 }; static const short yypgoto[] = {-32768, - 1,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 1234,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 0,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 1301,-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, -288, -22, --32768, 1815, 1823, -346, -34, 1827,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, -1154, -1089,-32768,-32768, -963, -23, --32768, -29,-32768, -85,-32768, -1057, 845, 371, -232, -313, - -795, 907,-32768, -274 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, -284, -18,-32768, 1884, 1885, -335, + 10, 1886,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -1160, -1189,-32768,-32768, -922, -23,-32768, -29,-32768, -84, +-32768, -1043, 904, 237, -232, -319, -801, 957,-32768, -279 }; -#define YYLAST 7325 +#define YYLAST 7432 static const short yytable[] = { 135, - 134, 468, 231, 1220, 529, 457, 458, 459, 932, 236, - 93, 179, 504, 673, 172, 188, 144, 147, 806, 1215, - 190, 78, 93, 1161, 1216, 1215, 1215, 1215, 290, 940, - 1216, 1216, 1216, 1100, 467, 238, 365, 239, 348, 349, - 166, 167, 1109, 455, 456, 1215, 140, 939, 456, 1116, - 1216, 168, 141, 8, 970, 464, 971, 169, 590, 591, - 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, - 797, 9, 941, 118, 119, 120, 81, 118, 119, 120, - 198, 348, 349, 82, 348, 349, 981, 348, 349, 348, - 349, 87, 982, 464, 1144, 348, 349, 972, 83, 973, - 520, 283, 284, 285, 350, 530, 286, 289, 180, 293, - 536, 537, 351, 1231, 291, 292, 313, 314, 315, 316, - 184, 318, 319, 185, 321, 322, 323, 1274, 330, 366, - 1274, 88, 145, 348, 349, 343, 344, 345, 146, 148, - 1045, 1273, 356, 352, 346, 347, 360, 1276, 1406, 1409, - 589, 156, 157, 189, 158, 926, 798, 799, 121, 122, - 123, 124, 363, 364, 240, 367, 241, 369, 370, 89, - 121, 122, 123, 124, 602, 678, 242, 667, 243, 128, - 129, 84, 121, 122, 123, 124, 85, 666, 79, 693, - 86, 237, 669, 181, 139, 674, 191, 1378, 373, 1380, - 807, 1087, 138, 128, 129, 244, 411, 245, 1232, 409, - 348, 349, 1236, 142, 413, 414, 415, 416, 417, 418, + 457, 458, 459, 231, 134, 468, 504, 236, 940, 1234, + 90, 91, 179, 78, 172, 529, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 188, 1290, 947, 290, 1290, 365, 144, 1173, 1229, 1229, + 147, 93, 1229, 1230, 1230, 464, 948, 1230, 803, 348, + 349, 1229, 348, 349, 455, 456, 1230, 1229, 348, 349, + 348, 349, 1230, 677, 812, 978, 9, 979, 980, 198, + 981, 190, 1110, 456, 982, 8, 983, 350, 348, 349, + 238, 1119, 239, 464, 118, 119, 120, 1156, 1126, 949, + 81, 283, 284, 285, 140, 351, 286, 289, 82, 293, + 141, 180, 118, 119, 120, 83, 313, 314, 315, 316, + 87, 318, 319, 989, 321, 322, 323, 184, 330, 990, + 185, 291, 292, 348, 349, 343, 344, 345, 366, 1245, + 166, 167, 1055, 352, 346, 347, 804, 805, 536, 537, + 589, 168, 160, 93, 84, 161, 162, 169, 163, 348, + 349, 85, 363, 364, 145, 367, 86, 369, 370, 682, + 146, 88, 1289, 1292, 148, 520, 1431, 89, 125, 126, + 189, 671, 79, 697, 127, 1434, 356, 673, 138, 130, + 360, 237, 287, 348, 349, 288, 181, 373, 128, 129, + 1097, 121, 122, 123, 124, 1000, 411, 348, 349, 409, + 1290, 1400, 1290, 1402, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, 450, 451, 452, 453, 454, 464, 348, 349, 348, - 349, 128, 129, 246, 463, 247, 248, 469, 249, 765, - 464, 992, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 250, 1274, 251, - 1274, 128, 129, 494, 348, 349, 497, 233, 252, 234, - 253, 284, 463, 121, 122, 123, 124, 508, 509, 510, - 841, 512, 513, 514, 515, 516, 517, 518, 523, 524, - 1326, 1327, 1328, 1329, 128, 129, 143, 1333, 488, 531, - 532, 533, 489, 10, 538, 348, 349, 348, 349, 128, - 129, 149, 545, 1205, 150, 501, 791, 234, 550, 1001, - 152, 1154, 296, 297, 298, 299, 300, 151, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 348, 349, 254, - 159, 255, 310, 348, 349, 348, 349, 821, 831, 256, - 1088, 257, 153, 974, 582, 975, 792, 588, 583, 1155, - 258, 1157, 259, 154, 1384, 1385, 90, 91, 1388, 260, - 155, 261, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 832, 464, 307, 308, - 309, 795, 165, 659, 858, 164, 310, 660, 284, 128, - 129, 178, 812, 668, 670, 692, 664, 234, 173, 1440, - 11, 12, 13, 14, 15, 16, 17, 18, 464, 177, - 296, 297, 298, 299, 300, 463, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 182, 262, 409, 263, 463, - 310, 695, 696, 128, 129, 923, 1068, 701, 1069, 664, - 710, 305, 306, 307, 308, 309, 183, 711, 712, 160, - 1479, 310, 161, 162, 186, 163, 715, 925, 927, 949, - 657, 187, 658, 719, 42, 43, 44, 45, 1162, 47, - 193, 328, 1163, 728, 729, 174, 334, 192, 175, 176, - 1507, 296, 297, 298, 299, 300, 194, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 195, 264, 357, 265, - 664, 310, 665, 196, 361, 362, 885, 886, 887, 888, - 889, 197, 125, 126, 766, 266, 229, 267, 127, 268, - 270, 269, 271, 130, 232, 272, 287, 273, 274, 288, - 275, 276, 278, 277, 279, 296, 297, 298, 299, 300, - 464, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 664, 280, 694, 295, 664, 310, 824, 859, 936, 664, - 937, 948, 281, 781, 782, 282, 664, 1591, 1050, 1163, - 294, 1164, 1070, 1407, 1426, 1408, 1427, 783, 784, 785, - 786, 787, 788, 789, 311, 1428, 463, 1429, 312, 1430, - 794, 1431, 1529, 800, 1530, 1531, 317, 1532, 1533, 813, - 1534, 1036, 811, 955, 956, 590, 591, 592, 593, 594, - 595, 596, 597, 598, 599, 600, 601, 463, 409, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 898, 1585, - 320, 1586, 472, 310, 964, 965, 845, 846, 847, 331, - 1065, 1587, 1589, 1588, 1590, 335, 332, 850, 851, 336, - 1618, 854, 1619, 333, 1620, 865, 1621, 337, 342, 863, - 864, 90, 91, 1622, 874, 1623, 338, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 339, 340, 341, 901, 902, 903, 904, 905, 906, - 907, 908, 909, 910, 911, 912, 296, 297, 298, 299, - 300, 803, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 900, 353, 354, 928, 355, 310, 358, 359, 368, - 371, 933, 372, 935, 298, 299, 300, 374, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 375, 376, 463, - 377, 950, 310, 951, 1210, 299, 300, 378, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 966, 967, 968, - 379, 380, 310, 404, 381, 382, 383, 384, 385, 386, - 387, 663, 388, 985, 986, 296, 297, 298, 299, 300, - 389, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 390, 391, 392, 393, 394, 310, 407, 395, 410, 396, - 397, 988, 398, 399, 400, 401, 406, 402, 403, 826, - 310, 461, 471, 506, 408, 511, 1020, 125, 126, 470, - 519, 540, 541, 127, 544, 551, 547, 552, 130, 553, - 554, 690, 555, 556, 691, 557, 558, 559, 560, 561, - 562, 563, 564, 1037, 565, 566, 567, 568, 569, 570, - 571, 1046, 572, 573, 296, 297, 298, 299, 300, 574, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 575, - 576, 1055, 1056, 1122, 310, 577, 578, 579, 580, 581, - 1071, 1064, 1073, 584, 1076, 585, 586, 661, 662, 671, - 672, 677, 1079, 1080, 679, 680, 713, 681, 682, 684, - 685, 687, 709, 1090, 688, 689, 1093, 697, 714, 721, - 722, 723, 724, 725, 727, 731, 1103, 732, 762, 733, - 734, 763, 735, 1110, 1111, 1112, 736, 737, 1091, 738, - 1117, 739, 740, 741, 1121, 742, 743, 744, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 1143, 755, 296, 297, 298, 299, 300, 1146, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 756, 757, 768, - 758, 759, 310, 760, 1152, 761, 764, 769, 780, 770, - 771, 814, 815, 772, 817, 793, 773, 848, 819, 820, - 90, 91, 790, 1167, 796, 801, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 774, 1169, 775, 852, 853, 776, 777, 856, 778, 779, - 802, 840, 804, 805, 810, 899, 816, 818, 827, 828, - 829, 871, 872, 830, 833, 834, 835, 877, 878, 836, - 837, 838, 839, 849, 884, 855, 891, 860, 861, 862, - 1213, 1214, 866, 1219, 867, 1221, 1222, 868, 869, 870, - 873, 875, 1226, 876, 879, 880, 881, 882, 883, 892, - 1234, 922, 893, 894, 895, 896, 897, 924, 1242, 929, - 930, 934, 938, 1247, 942, 944, 1250, 946, 1252, 1253, - 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, - 947, 969, 978, 979, 1265, 984, 943, 1268, 945, 987, - 989, 993, 994, 995, 996, 997, 998, 999, 952, 953, - 954, 1000, 1002, 957, 958, 959, 960, 961, 962, 963, - 296, 297, 298, 299, 300, 1003, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 1004, 125, 126, 1005, 1283, - 310, 1006, 127, 1007, 1021, 1008, 1011, 130, 1009, 1010, - 822, 90, 324, 823, 1017, 1012, 1013, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 1014, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, - 1346, 1038, 1039, 1325, 1350, 1041, 1043, 1047, 1048, 1015, - 90, 91, 456, 1081, 1034, 1035, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 1052, 118, 119, 120, 1016, 1357, 1053, 1054, 1057, 1058, - 1059, 1060, 1061, 1062, 1018, 1063, 1072, 1074, 1049, 1019, - 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1400, - 1402, 1404, 1077, 1085, 1086, 1092, 1095, 931, 1096, 1097, - 1098, 1094, 296, 297, 298, 299, 300, 1099, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 1101, 1102, 1104, - 1113, 1105, 310, 1412, 1108, 1106, 1107, 1438, 1211, 1114, - 1212, 1115, 1118, 1444, 1445, 1446, 1447, 1448, 1449, 1450, - 1451, 1452, 1453, 1119, 1455, 1120, 1457, 125, 325, 1135, - 1136, 1141, 1439, 127, 1137, 1138, 1142, 1139, 130, 1140, - 1145, 1150, 1151, 1166, 326, 1170, 1153, 1156, 1158, 1165, - 1172, 1173, 1174, 1175, 1176, 1178, 1179, 1476, 1477, 1463, - 1180, 1184, 1481, 1482, 1483, 1484, 1485, 1486, 1185, 1186, - 1188, 1189, 1204, 1206, 1191, 1207, 125, 126, 1223, 1229, - 1230, 1233, 127, 1235, 1238, 1237, 1504, 130, 1239, 1240, - 1241, 1508, 1509, 1510, 1511, 1512, 1513, 1515, 1517, 1519, - 1243, 1245, 1246, 1248, 1249, 1264, 1251, 1266, 1267, 1271, - 1272, 1279, 1280, 1282, 1284, 1285, 1288, 1286, 1289, 1538, - 1539, 1540, 1541, 1542, 1543, 1544, 1312, 1546, 1313, 1548, - 296, 297, 298, 299, 300, 1293, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 1291, 1295, 1558, 1559, 1560, - 310, 1316, 1310, 1224, 1317, 1225, 1319, 1320, 1228, 1321, - 1324, 1572, 1573, 1574, 1576, 1578, 1580, 1330, 1331, 1332, - 1334, 1335, 1336, 1337, 1244, 1351, 1352, 1353, 1592, 1593, - 1594, 1595, 1354, 1597, 1356, 1599, 1360, 1355, 296, 297, - 298, 299, 300, 1361, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 1358, 1382, 1613, 1615, 1617, 310, 1373, - 1383, 1359, 1362, 1386, 1624, 1387, 1626, 1147, 1628, 90, - 502, 1363, 1389, 1374, 1375, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 1377, - 1405, 1413, 1410, 1411, 1148, 1414, 1415, 1416, 1433, 1432, - 1435, 1436, 1315, 1437, 1442, 1443, 1454, 1456, 1458, 1322, - 1323, 90, 91, 92, 1460, 93, 1459, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 1461, 118, 119, 120, 90, 91, 1475, 1464, 1465, - 1478, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 449, 450, 451, 452, 453, 454, 464, 678, 813, 191, + 139, 1246, 348, 349, 463, 1250, 156, 157, 142, 158, + 464, 469, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 10, 240, 467, + 241, 128, 129, 494, 348, 349, 497, 233, 143, 234, + 934, 284, 463, 121, 122, 123, 124, 508, 509, 510, + 530, 512, 513, 514, 515, 516, 517, 518, 523, 524, + 348, 349, 348, 349, 128, 129, 149, 348, 349, 531, + 532, 533, 670, 488, 538, 150, 847, 489, 1166, 348, + 349, 582, 545, 1167, 797, 583, 663, 151, 550, 1219, + 664, 1009, 152, 296, 297, 298, 299, 300, 153, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 128, 129, + 348, 349, 159, 310, 501, 827, 234, 1344, 1345, 1346, + 1347, 1098, 128, 129, 1351, 798, 1169, 328, 696, 154, + 234, 588, 334, 305, 306, 307, 308, 309, 155, 42, + 43, 44, 45, 310, 47, 164, 11, 12, 13, 14, + 15, 16, 17, 18, 357, 242, 244, 243, 245, 837, + 361, 362, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 464, 661, 818, 662, 801, 310, 668, 284, 121, + 122, 123, 124, 246, 674, 247, 248, 672, 249, 864, + 121, 122, 123, 124, 174, 1406, 1407, 175, 176, 1410, + 128, 129, 464, 165, 668, 463, 669, 838, 307, 308, + 309, 128, 129, 668, 931, 698, 310, 409, 668, 463, + 173, 699, 700, 128, 129, 1174, 250, 705, 251, 1175, + 714, 769, 891, 892, 893, 894, 895, 715, 716, 252, + 254, 253, 255, 256, 186, 257, 719, 177, 258, 957, + 259, 178, 260, 723, 261, 1468, 182, 933, 935, 262, + 264, 263, 265, 732, 733, 298, 299, 300, 183, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 90, 91, + 266, 187, 267, 310, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 770, 295, + 268, 192, 269, 1513, 296, 297, 298, 299, 300, 193, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 270, + 272, 271, 273, 274, 310, 275, 464, 276, 194, 277, + 963, 964, 296, 297, 298, 299, 300, 1543, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 787, 788, 278, + 195, 279, 310, 668, 865, 830, 944, 668, 945, 956, + 196, 789, 790, 791, 792, 793, 794, 795, 972, 973, + 463, 1080, 197, 668, 800, 1060, 1175, 806, 1176, 1432, + 1451, 1433, 1452, 819, 1046, 229, 817, 299, 300, 232, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 280, + 281, 463, 409, 1453, 310, 1454, 1455, 1457, 1456, 1458, + 294, 282, 1507, 904, 1508, 1565, 472, 1566, 311, 312, + 851, 852, 853, 1075, 1627, 317, 1567, 667, 1568, 320, + 331, 856, 857, 335, 336, 860, 125, 126, 1569, 871, + 1570, 332, 127, 869, 870, 809, 333, 130, 880, 1621, + 694, 1622, 337, 695, 296, 297, 298, 299, 300, 338, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 832, + 1623, 1625, 1624, 1626, 310, 1654, 339, 1655, 907, 908, + 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, + 919, 920, 1656, 1658, 1657, 1659, 26, 27, 28, 29, + 30, 31, 32, 33, 340, 34, 342, 36, 37, 341, + 39, 40, 359, 353, 936, 358, 354, 941, 355, 943, + 368, 371, 372, 374, 375, 376, 377, 52, 404, 378, + 379, 380, 381, 382, 383, 463, 384, 958, 385, 959, + 386, 387, 388, 53, 54, 55, 389, 390, 391, 392, + 393, 410, 394, 974, 975, 976, 395, 1224, 396, 397, + 398, 399, 400, 401, 402, 403, 461, 310, 407, 993, + 994, 296, 297, 298, 299, 300, 406, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 408, 470, 471, 506, + 511, 310, 519, 540, 541, 544, 996, 551, 552, 547, + 296, 297, 298, 299, 300, 64, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 553, 1028, 554, 555, 556, + 310, 557, 558, 559, 296, 297, 298, 299, 300, 560, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 561, + 562, 1047, 563, 564, 310, 565, 566, 534, 567, 1056, + 568, 820, 821, 569, 823, 570, 575, 854, 825, 826, + 571, 572, 573, 574, 576, 577, 578, 579, 580, 1065, + 1066, 581, 1132, 584, 665, 585, 586, 666, 1081, 1074, + 1083, 675, 1086, 676, 681, 713, 939, 717, 683, 684, + 1089, 1090, 685, 858, 859, 686, 688, 862, 689, 691, + 718, 1100, 725, 505, 1103, 692, 693, 701, 726, 727, + 728, 877, 878, 729, 1113, 731, 735, 883, 884, 736, + 737, 1120, 1121, 1122, 890, 1101, 897, 738, 1127, 739, + 740, 741, 1131, 742, 766, 743, 1133, 1134, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 1155, 754, 296, 297, 298, 299, 300, 1158, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 1150, 755, 756, + 767, 757, 310, 758, 1164, 759, 466, 760, 951, 761, + 953, 762, 763, 764, 765, 768, 786, 772, 796, 799, + 960, 961, 962, 1179, 773, 965, 966, 967, 968, 969, + 970, 971, 296, 297, 298, 299, 300, 802, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 807, 774, 775, + 1181, 1159, 310, 808, 776, 777, 778, 810, 816, 846, + 822, 296, 297, 298, 299, 300, 1428, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 296, 297, 298, 299, + 300, 310, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 811, 1227, 1228, 824, 1233, 310, 1235, 1236, 779, + 834, 835, 833, 780, 1240, 836, 781, 782, 783, 784, + 839, 785, 1248, 840, 841, 842, 843, 844, 845, 1045, + 1256, 855, 867, 861, 866, 1261, 868, 1487, 1264, 1490, + 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, + 1276, 1277, 1278, 1279, 872, 873, 874, 875, 1281, 876, + 879, 1284, 296, 297, 298, 299, 300, 881, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 1160, 882, 885, + 886, 887, 310, 888, 889, 898, 901, 1524, 1096, 899, + 900, 902, 1161, 903, 905, 1104, 930, 932, 937, 938, + 946, 942, 1299, 950, 952, 954, 955, 977, 986, 987, + 995, 1029, 997, 992, 1123, 1001, 296, 297, 298, 299, + 300, 1002, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 1003, 1004, 1005, 1007, 1006, 310, 1008, 1048, 1011, + 1010, 1012, 1049, 1051, 1019, 1053, 1013, 1025, 1356, 1357, + 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1014, 1343, 1015, + 1016, 1369, 1370, 1017, 1018, 1020, 1021, 1022, 1023, 1024, + 1026, 1027, 90, 91, 1044, 1059, 1057, 1058, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 1377, 1062, 1063, 1064, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1422, + 1424, 1426, 296, 297, 298, 299, 300, 1067, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 296, 297, 298, + 299, 300, 310, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 1068, 1069, 1437, 1070, 1071, 310, 1072, 1073, + 1082, 1238, 1466, 1239, 1084, 1087, 1242, 1091, 1472, 1473, + 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1102, 1483, + 1105, 1485, 1258, 1095, 90, 324, 1467, 1106, 1107, 1108, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 604, 1109, 1495, 1111, 1112, 1510, + 1511, 1115, 1114, 1116, 1515, 1516, 1517, 1518, 1519, 1520, + 125, 126, 1117, 1118, 1124, 1125, 127, 1128, 1129, 1130, + 1147, 130, 1153, 1148, 828, 1149, 1152, 829, 1151, 1154, + 1157, 1162, 1540, 1165, 1163, 1168, 1170, 1544, 1545, 1546, + 1547, 1548, 1549, 1551, 1553, 1555, 1177, 1178, 1182, 1184, + 1185, 1186, 1221, 1187, 1333, 1243, 1220, 1191, 1188, 1192, + 1190, 1340, 1341, 1197, 1196, 1574, 1575, 1576, 1577, 1578, + 1579, 1580, 1198, 1582, 1200, 1584, 1201, 1203, 1218, 1297, + 1244, 1237, 1247, 1249, 1251, 1252, 1253, 1254, 1283, 1255, + 1257, 1259, 1260, 1594, 1595, 1596, 1262, 1263, 1280, 1265, + 1282, 1288, 1287, 1295, 1296, 1298, 1300, 1608, 1609, 1610, + 1612, 1614, 1616, 1330, 1331, 1301, 1334, 1335, 1302, 1304, + 1305, 1337, 1307, 1338, 1628, 1629, 1630, 1631, 1309, 1633, + 1311, 1635, 125, 325, 1328, 1339, 1342, 1348, 127, 1401, + 1349, 1403, 1350, 130, 1352, 1353, 1354, 1355, 1371, 326, + 1404, 1649, 1651, 1653, 1372, 1373, 1376, 1374, 1375, 1378, + 1660, 1379, 1662, 1380, 1664, 90, 502, 1381, 1382, 1383, + 1399, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 1149, 1492, 1493, 1505, 1522, - 90, 324, 1501, 1379, 1494, 1381, 94, 95, 96, 97, + 113, 114, 115, 116, 117, 1393, 1405, 1394, 1462, 1395, + 90, 91, 92, 1411, 93, 1469, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 296, 297, 298, 299, 300, 1502, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 125, 126, 1503, 1521, 1535, - 310, 127, 1537, 1545, 1547, 1549, 130, 1434, 1550, 1564, - 1596, 1568, 503, 1581, 1441, 1569, 1570, 296, 297, 298, - 299, 300, 1598, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 1600, 121, 122, 123, 124, 310, 1281, 1605, - 1601, 1625, 1609, 1610, 1627, 1629, 1611, 125, 126, 1631, - 1632, 69, 767, 127, 128, 129, 1084, 0, 130, 70, - 131, 505, 132, 71, 0, 1480, 1040, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, - 0, 125, 126, 0, 0, 0, 0, 127, 0, 0, - 0, 676, 130, 1506, 0, 0, 0, 0, 296, 297, + 1396, 118, 119, 120, 296, 297, 298, 299, 300, 1408, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 1409, + 1430, 1438, 1435, 1436, 310, 1439, 1460, 1459, 90, 91, + 456, 1465, 1461, 1514, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 1440, 118, + 119, 120, 90, 91, 1463, 1542, 1441, 1464, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 1470, 1572, 1471, 1482, 1484, 1486, 1488, 1491, + 1492, 1509, 1493, 125, 126, 1496, 1497, 1512, 1525, 127, + 1528, 1529, 1530, 1557, 130, 548, 1537, 1538, 1539, 1541, + 503, 1558, 1593, 1571, 121, 122, 123, 124, 1586, 1573, + 680, 1581, 1583, 1585, 1600, 1617, 1607, 1604, 125, 126, + 1632, 1605, 1634, 1606, 127, 128, 129, 1636, 1637, 130, + 1645, 131, 831, 132, 90, 324, 1641, 1646, 1647, 1661, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 863, 1663, 1665, 1667, 1668, 771, + 69, 70, 71, 1094, 1050, 0, 125, 126, 0, 0, + 0, 0, 127, 0, 0, 0, 0, 130, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 126, 0, 0, 0, 0, 127, 90, 502, 0, + 0, 130, 0, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 0, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 825, 0, 0, 125, 462, 310, 0, - 0, 1536, 127, 0, 0, 0, 0, 130, 857, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 1557, 0, 0, 0, 0, 1308, 0, 1309, 0, 90, - 502, 0, 0, 0, 1571, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 0, - 0, 296, 297, 298, 299, 300, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 296, 297, 298, - 299, 300, 310, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 296, 297, 298, 299, 300, 310, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 296, - 297, 298, 299, 300, 310, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - -10, 1, 0, -10, -53, 0, 0, 296, 297, 298, + 307, 308, 309, 296, 297, 298, 299, 300, 310, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, + 0, 0, 0, 310, 0, 296, 297, 298, 299, 300, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 0, 0, 125, 462, 0, 310, 906, 0, 127, 0, + 0, 0, 0, 130, 0, 0, 0, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 0, 0, 125, 126, 310, 0, 0, - 0, 127, 0, -53, 0, 491, 130, -53, -53, -53, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 26, 27, 28, 29, 30, 31, 32, 33, 0, 34, + 0, 36, 37, 0, 39, 40, 0, 0, 0, 0, + -10, 1, 0, -10, -53, 0, 0, 0, 0, 0, + 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 126, 53, 54, 55, + 0, 127, 0, -53, 0, 0, 130, -53, -53, -53, -53, -53, -53, -53, -53, -53, 0, -53, -53, -53, -53, -53, -53, -53, 0, 0, 0, -53, -53, -53, -53, -53, -53, -53, 0, -53, -53, -53, -53, -53, + 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 309, -53, -53, -53, 0, 64, + 310, 0, 460, 0, -53, 0, -53, -53, -53, -53, + -53, -53, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -53, -53, -53, 0, 0, 0, 0, - 0, 0, -53, 0, -53, -53, -53, -53, -53, -53, - -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -10, -10, -10, -10, -10, -10, -10, -10, 26, 27, - 28, 29, 30, 31, 32, 33, 0, 34, 0, 36, - 37, 0, 39, 40, 0, -53, 2, 3, 0, 4, - 0, 26, 27, 28, 29, 30, 31, 32, 33, 52, - 34, 0, 36, 37, 0, 39, 40, 0, 0, 0, - 0, 0, 0, 53, 54, 55, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 54, 55, 0, - 0, 26, 27, 28, 29, 30, 31, 32, 33, 0, - 34, 0, 36, 37, 0, 39, 40, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 52, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 54, 55, 0, - 0, 0, 0, 0, 0, 24, 0, 0, 64, 25, + 0, 23, -10, -10, -10, -10, -10, -10, -10, -10, + 0, 539, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -53, 2, 3, + 24, 4, 310, 0, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 0, 34, 35, 36, 37, 38, 39, + 40, 0, 0, 0, 41, 42, 43, 44, 45, 46, + 47, 199, 48, 49, 50, 51, 52, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 53, 54, 55, 0, 0, 310, 0, 490, + 0, 56, 0, 57, 58, 59, 60, 61, 62, 63, 26, 27, 28, 29, 30, 31, 32, 33, 0, 34, - 35, 36, 37, 38, 39, 40, 0, 534, 0, 41, - 42, 43, 44, 45, 46, 47, 199, 48, 49, 50, - 51, 52, 0, 0, 0, 0, 0, 0, 0, 0, - 539, 0, 0, 0, 0, 53, 54, 55, 64, 0, - 0, 0, 0, 0, 56, 0, 57, 58, 59, 60, - 61, 62, 63, 296, 297, 298, 299, 300, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 0, 0, 200, 201, 202, - 0, 496, 0, 0, 0, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 0, 0, 64, 0, 0, - 0, 0, 0, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 0, 223, 224, 225, 226, 227, 228, - 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 0, 0, 296, 297, 298, 299, 300, 498, 301, + 0, 36, 37, 0, 39, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 200, 201, 202, 0, 0, 0, + 0, 52, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 0, 0, 64, 0, 0, 53, 54, 55, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 0, 223, 224, 225, 226, 227, 228, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 0, 0, 1078, 0, 1079, 0, 0, 0, 0, + 0, 0, 0, 0, 296, 297, 298, 299, 300, 64, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, + 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, + 1225, 0, 1226, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 0, 296, 297, 298, 299, - 300, 698, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, - 297, 298, 299, 300, 702, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 296, 297, 298, 299, 300, 703, 301, 302, + 0, 0, 0, 310, 0, 0, 0, 0, 0, 1326, + 0, 1327, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, 297, 298, 299, 300, - 844, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 491, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, 297, - 298, 299, 300, 1066, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 496, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 0, 296, 297, 298, 299, 300, 1227, 301, 302, 303, + 0, 296, 297, 298, 299, 300, 498, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 0, 0, 296, 297, 298, 299, 300, 1269, + 0, 310, 0, 0, 296, 297, 298, 299, 300, 702, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, 297, 298, - 299, 300, 1270, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 706, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, - 296, 297, 298, 299, 300, 1275, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 707, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 0, 0, 296, 297, 298, 299, 300, 1277, 301, + 310, 0, 0, 296, 297, 298, 299, 300, 850, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, 297, 298, 299, - 300, 1278, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1076, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, - 297, 298, 299, 300, 1311, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1241, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 296, 297, 298, 299, 300, 1376, 301, 302, + 0, 0, 296, 297, 298, 299, 300, 1285, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, 297, 298, 299, 300, - 1491, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1286, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, 296, 297, - 298, 299, 300, 1520, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1291, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, + 0, 296, 297, 298, 299, 300, 1293, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, + 0, 310, 0, 0, 296, 297, 298, 299, 300, 1294, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, + 0, 0, 0, 0, 310, 0, 0, 296, 297, 298, + 299, 300, 1329, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 296, 297, 298, 299, 300, 1398, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, + 310, 0, 0, 296, 297, 298, 299, 300, 1527, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, + 0, 0, 0, 310, 0, 0, 296, 297, 298, 299, + 300, 1556, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, + 299, 300, 521, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, + 298, 299, 300, 522, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 521, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 641, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 522, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 642, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 637, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 655, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 638, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 656, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 651, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 657, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 652, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 658, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 653, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 659, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 654, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 660, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 655, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 720, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 656, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 721, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 716, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 722, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 717, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 848, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 718, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 849, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 842, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 984, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 843, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 985, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 976, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 998, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 977, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 999, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 990, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1030, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 991, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1031, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1022, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1032, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1023, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1033, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1024, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1034, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1025, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1035, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1026, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1036, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1027, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1037, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1028, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1038, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1029, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1039, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1030, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1040, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1031, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1041, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1032, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1042, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1033, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1043, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1044, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1054, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1051, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1061, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1159, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1171, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1160, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1172, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1168, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1180, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1171, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1183, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1182, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1194, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1187, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1199, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1190, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1202, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1192, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1204, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1193, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1205, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1194, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1206, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1195, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1207, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1196, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1208, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1197, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1209, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1198, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1210, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1199, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1211, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1200, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1212, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1201, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1213, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1202, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1214, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1203, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1215, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1208, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1216, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1209, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1217, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1287, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1222, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1296, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1223, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1297, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1303, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1298, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1312, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1299, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1313, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1300, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1314, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1301, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1315, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1302, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1316, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1303, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1317, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1304, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1318, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1364, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1319, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1365, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1320, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1366, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1325, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1367, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1384, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1368, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1385, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1369, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1386, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1370, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1387, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1371, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1388, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1372, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1389, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1417, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1390, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1418, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1391, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1419, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1392, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1420, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1442, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1421, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1443, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1422, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1444, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1423, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1445, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1424, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1446, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1425, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1447, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1462, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1448, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1466, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1449, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1467, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1450, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1468, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1494, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1469, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1498, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1470, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1499, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1471, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1500, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1490, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1501, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1495, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1502, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1496, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1503, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1497, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1526, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1498, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1531, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1499, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1532, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1500, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1533, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1523, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1534, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1524, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1535, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1525, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1536, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1526, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1559, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1527, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1560, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 296, 297, 298, 299, 300, 1528, 301, 302, 303, 304, + 296, 297, 298, 299, 300, 1561, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 296, 297, 298, 299, 300, 1551, 301, 302, 303, + 310, 296, 297, 298, 299, 300, 1562, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 296, 297, 298, 299, 300, 1552, 301, 302, + 0, 310, 296, 297, 298, 299, 300, 1563, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 296, 297, 298, 299, 300, 1553, 301, + 0, 0, 310, 296, 297, 298, 299, 300, 1564, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 296, 297, 298, 299, 300, 1565, + 0, 0, 0, 310, 296, 297, 298, 299, 300, 1587, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, 300, - 1566, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 1588, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, 299, - 300, 1567, 301, 302, 303, 304, 305, 306, 307, 308, + 300, 1589, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, 298, - 299, 300, 1582, 301, 302, 303, 304, 305, 306, 307, + 299, 300, 1601, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, 297, - 298, 299, 300, 1583, 301, 302, 303, 304, 305, 306, + 298, 299, 300, 1602, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 296, - 297, 298, 299, 300, 1584, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 466, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 587, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 616, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 618, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 620, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 622, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 624, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 626, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 628, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 630, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 632, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 634, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 636, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 640, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 642, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 644, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 646, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 648, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 650, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 720, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 914, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 916, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 918, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 920, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 0, 0, 921, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 0, 0, 1042, 296, - 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, + 297, 298, 299, 300, 1603, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 460, 296, 297, 298, 299, 300, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 490, 296, 297, 298, 299, 300, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 0, 0, 310, 0, 492, 296, 297, - 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 493, 296, 297, 298, 299, 300, 0, 301, 302, 303, + 296, 297, 298, 299, 300, 1618, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, + 310, 296, 297, 298, 299, 300, 1619, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 0, 495, 296, 297, 298, 299, 300, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 499, 296, 297, 298, + 0, 310, 296, 297, 298, 299, 300, 1620, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 587, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 620, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 622, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 624, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 626, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 628, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 630, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 632, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 634, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 636, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 638, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 640, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 644, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 646, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 648, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 650, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 652, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 654, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 724, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 922, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 924, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 926, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 928, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 929, 296, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, + 0, 0, 310, 0, 0, 0, 1052, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 0, 0, 0, 0, 310, 0, 500, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 492, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 0, 507, 296, 297, 298, 299, 300, 0, 301, + 310, 0, 493, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 542, 296, 297, 298, 299, + 0, 0, 0, 310, 0, 495, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 0, 0, 0, 0, 310, 0, 543, 296, + 309, 0, 0, 0, 0, 0, 310, 0, 499, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 546, 296, 297, 298, 299, 300, 0, 301, 302, + 0, 500, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 549, 296, 297, 298, 299, 300, + 0, 0, 310, 0, 507, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 0, 0, 310, 0, 615, 296, 297, + 0, 0, 0, 0, 0, 310, 0, 542, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 617, 296, 297, 298, 299, 300, 0, 301, 302, 303, + 543, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 0, 619, 296, 297, 298, 299, 300, 0, + 0, 310, 0, 546, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 621, 296, 297, 298, + 0, 0, 0, 0, 310, 0, 549, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 0, 0, 0, 0, 310, 0, 623, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 619, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 0, 625, 296, 297, 298, 299, 300, 0, 301, + 310, 0, 621, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 627, 296, 297, 298, 299, + 0, 0, 0, 310, 0, 623, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 0, 0, 0, 0, 310, 0, 629, 296, + 309, 0, 0, 0, 0, 0, 310, 0, 625, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 631, 296, 297, 298, 299, 300, 0, 301, 302, + 0, 627, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 633, 296, 297, 298, 299, 300, + 0, 0, 310, 0, 629, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 0, 0, 310, 0, 635, 296, 297, + 0, 0, 0, 0, 0, 310, 0, 631, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 639, 296, 297, 298, 299, 300, 0, 301, 302, 303, + 633, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 0, 641, 296, 297, 298, 299, 300, 0, + 0, 310, 0, 635, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 643, 296, 297, 298, + 0, 0, 0, 0, 310, 0, 637, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 0, 0, 0, 0, 310, 0, 645, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 639, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 0, 647, 296, 297, 298, 299, 300, 0, 301, + 310, 0, 643, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 649, 296, 297, 298, 299, + 0, 0, 0, 310, 0, 645, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 0, 0, 0, 0, 310, 0, 683, 296, + 309, 0, 0, 0, 0, 0, 310, 0, 647, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 686, 296, 297, 298, 299, 300, 0, 301, 302, + 0, 649, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 699, 296, 297, 298, 299, 300, + 0, 0, 310, 0, 651, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 0, 0, 310, 0, 700, 296, 297, + 0, 0, 0, 0, 0, 310, 0, 653, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 704, 296, 297, 298, 299, 300, 0, 301, 302, 303, + 687, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 0, 705, 296, 297, 298, 299, 300, 0, + 0, 310, 0, 690, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 706, 296, 297, 298, + 0, 0, 0, 0, 310, 0, 703, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 0, 0, 0, 0, 310, 0, 707, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 704, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 708, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 726, 296, 297, 298, 299, + 0, 0, 0, 310, 0, 709, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 0, 0, 0, 0, 310, 0, 730, 296, + 309, 0, 0, 0, 0, 0, 310, 0, 710, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 913, 296, 297, 298, 299, 300, 0, 301, 302, + 0, 711, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 915, 296, 297, 298, 299, 300, + 0, 0, 310, 0, 712, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 0, 0, 310, 0, 917, 296, 297, + 0, 0, 0, 0, 0, 310, 0, 730, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 919, 296, 297, 298, 299, 300, 0, 301, 302, 303, + 734, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 0, 980, 296, 297, 298, 299, 300, 0, + 0, 310, 0, 921, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 1067, 296, 297, 298, + 0, 0, 0, 0, 310, 0, 923, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 0, 0, 0, 0, 310, 0, 1089, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 925, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 0, 1177, 296, 297, 298, 299, 300, 0, 301, + 310, 0, 927, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 1181, 296, 297, 298, 299, + 0, 0, 0, 310, 0, 988, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 0, 0, 0, 0, 310, 0, 1183, 296, + 309, 0, 0, 0, 0, 0, 310, 0, 1077, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 1290, 296, 297, 298, 299, 300, 0, 301, 302, + 0, 1099, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 1292, 296, 297, 298, 299, 300, + 0, 0, 310, 0, 1189, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 0, 0, 310, 0, 1294, 296, 297, + 0, 0, 0, 0, 0, 310, 0, 1193, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 1305, 296, 297, 298, 299, 300, 0, 301, 302, 303, + 1195, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, 1306, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310, 0, 1307, 296, 297, 298, + 0, 0, 0, 0, 310, 0, 1308, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 0, 0, 0, 0, 310, 0, 1472, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 1310, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, - 310, 0, 1473, 296, 297, 298, 299, 300, 0, 301, + 310, 0, 1321, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 310, 0, 1474, 296, 297, 298, 299, + 0, 0, 0, 310, 0, 1322, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 0, 0, 0, 0, 310, 0, 1554, 296, + 309, 0, 0, 0, 0, 0, 310, 0, 1323, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, - 0, 1555, 296, 297, 298, 299, 300, 0, 301, 302, + 0, 1324, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, - 0, 0, 310, 0, 1556, 296, 297, 298, 299, 300, + 0, 0, 310, 0, 1397, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 0, 0, 310, 0, 1602, 296, 297, + 0, 0, 0, 0, 0, 310, 0, 1504, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, 0, - 1603, 296, 297, 298, 299, 300, 0, 301, 302, 303, + 1505, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, - 0, 310, 0, 1604, 296, 297, 298, 299, 300, 0, + 0, 310, 0, 1506, 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 0, 0, 0, 0, 310 + 0, 0, 0, 0, 310, 0, 1590, 296, 297, 298, + 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 0, 0, 0, 0, 0, 310, 0, 1591, + 296, 297, 298, 299, 300, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, + 310, 0, 1592, 296, 297, 298, 299, 300, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, + 0, 0, 0, 310, 0, 1638, 296, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 0, 0, 0, 0, 0, 310, 0, 1639, 296, + 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 0, 0, 0, 0, 0, 310, + 0, 1640 }; static const short yycheck[] = { 23, - 23, 290, 88, 1158, 351, 280, 281, 282, 804, 4, - 7, 4, 326, 4, 44, 42, 64, 64, 4, 65, - 4, 3, 7, 1081, 70, 65, 65, 65, 4, 6, - 70, 70, 70, 997, 7, 180, 87, 182, 169, 170, - 169, 170, 1006, 4, 5, 65, 180, 6, 5, 1013, - 70, 180, 186, 6, 185, 288, 187, 186, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 4, 150, 49, 34, 35, 36, 7, 34, 35, 36, - 80, 169, 170, 6, 169, 170, 180, 169, 170, 169, - 170, 180, 186, 326, 6, 169, 170, 185, 6, 187, - 185, 125, 126, 127, 186, 185, 130, 131, 101, 133, - 6, 7, 186, 1171, 90, 91, 140, 141, 142, 143, - 38, 145, 146, 41, 148, 149, 150, 1217, 152, 180, - 1220, 180, 180, 169, 170, 165, 166, 167, 186, 186, - 936, 187, 177, 173, 168, 169, 181, 187, 187, 187, - 186, 41, 42, 180, 44, 7, 90, 91, 155, 156, - 157, 158, 186, 187, 180, 189, 182, 191, 192, 180, - 155, 156, 157, 158, 187, 489, 180, 466, 182, 176, - 177, 6, 155, 156, 157, 158, 6, 184, 170, 503, - 6, 186, 467, 186, 6, 186, 180, 1352, 198, 1354, - 186, 8, 180, 176, 177, 180, 236, 182, 1172, 233, - 169, 170, 1176, 180, 238, 239, 240, 241, 242, 243, + 280, 281, 282, 88, 23, 290, 326, 4, 810, 1170, + 3, 4, 4, 3, 44, 351, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 42, 1231, 6, 4, 1234, 89, 64, 1091, 65, 65, + 64, 7, 65, 70, 70, 288, 6, 70, 4, 171, + 172, 65, 171, 172, 4, 5, 70, 65, 171, 172, + 171, 172, 70, 4, 4, 187, 152, 189, 187, 80, + 189, 4, 1005, 5, 187, 6, 189, 188, 171, 172, + 182, 1014, 184, 326, 34, 35, 36, 6, 1021, 49, + 7, 125, 126, 127, 182, 188, 130, 131, 6, 133, + 188, 103, 34, 35, 36, 6, 140, 141, 142, 143, + 182, 145, 146, 182, 148, 149, 150, 38, 152, 188, + 41, 92, 93, 171, 172, 165, 166, 167, 182, 1183, + 171, 172, 944, 173, 168, 169, 92, 93, 6, 7, + 188, 182, 38, 7, 6, 41, 42, 188, 44, 171, + 172, 6, 186, 187, 182, 189, 6, 191, 192, 489, + 188, 182, 189, 189, 188, 187, 189, 182, 171, 172, + 182, 466, 172, 503, 177, 189, 177, 467, 182, 182, + 181, 188, 185, 171, 172, 188, 188, 198, 178, 179, + 8, 157, 158, 159, 160, 183, 236, 171, 172, 233, + 1400, 1372, 1402, 1374, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 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, 489, 169, 170, 169, - 170, 176, 177, 180, 288, 182, 180, 290, 182, 184, - 503, 181, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 180, 1378, 182, - 1380, 176, 177, 317, 169, 170, 320, 182, 180, 184, - 182, 325, 326, 155, 156, 157, 158, 331, 332, 333, - 185, 335, 336, 337, 338, 339, 340, 341, 348, 349, - 1284, 1285, 1286, 1287, 176, 177, 180, 1291, 181, 353, - 354, 355, 185, 3, 358, 169, 170, 169, 170, 176, - 177, 180, 366, 1139, 180, 182, 660, 184, 372, 181, - 180, 185, 159, 160, 161, 162, 163, 46, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 169, 170, 180, - 44, 182, 179, 169, 170, 169, 170, 691, 6, 180, - 187, 182, 42, 185, 181, 187, 661, 410, 185, 185, - 180, 185, 182, 42, 1358, 1359, 3, 4, 1362, 180, - 42, 182, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 54, 660, 171, 172, - 173, 664, 186, 181, 8, 180, 179, 185, 462, 176, - 177, 42, 181, 466, 468, 182, 185, 184, 186, 1413, - 120, 121, 122, 123, 124, 125, 126, 127, 691, 186, - 159, 160, 161, 162, 163, 489, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 6, 180, 501, 182, 503, - 179, 505, 506, 176, 177, 181, 185, 511, 187, 185, - 520, 169, 170, 171, 172, 173, 6, 521, 522, 38, - 1464, 179, 41, 42, 180, 44, 530, 796, 797, 823, - 182, 180, 184, 537, 58, 59, 60, 61, 181, 63, - 6, 151, 185, 547, 548, 38, 156, 180, 41, 42, - 1494, 159, 160, 161, 162, 163, 4, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 4, 180, 178, 182, - 185, 179, 187, 42, 184, 185, 105, 106, 107, 108, - 109, 3, 169, 170, 587, 180, 180, 182, 175, 180, - 180, 182, 182, 180, 5, 180, 183, 182, 180, 186, - 182, 180, 180, 182, 182, 159, 160, 161, 162, 163, - 823, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 185, 180, 187, 6, 185, 179, 187, 181, 185, 185, - 187, 187, 180, 637, 638, 180, 185, 1581, 187, 185, - 6, 187, 969, 185, 185, 187, 187, 651, 652, 653, - 654, 655, 656, 657, 6, 185, 660, 187, 5, 185, - 664, 187, 185, 667, 187, 185, 180, 187, 185, 679, - 187, 926, 676, 55, 56, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 691, 692, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 764, 185, - 180, 187, 6, 179, 6, 7, 716, 717, 718, 186, - 965, 185, 185, 187, 187, 186, 180, 721, 722, 186, - 185, 725, 187, 180, 185, 735, 187, 180, 4, 733, - 734, 3, 4, 185, 744, 187, 180, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 180, 180, 180, 768, 769, 770, 771, 772, 773, - 774, 775, 776, 777, 778, 779, 159, 160, 161, 162, - 163, 6, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 187, 186, 186, 797, 186, 179, 182, 6, 93, - 6, 805, 180, 807, 161, 162, 163, 180, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 180, 180, 823, - 180, 825, 179, 827, 1151, 162, 163, 180, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 841, 842, 843, - 180, 180, 179, 5, 180, 180, 180, 180, 180, 180, - 180, 461, 180, 857, 858, 159, 160, 161, 162, 163, - 180, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 180, 180, 180, 180, 180, 179, 181, 180, 4, 180, - 180, 861, 180, 180, 180, 180, 185, 180, 180, 6, - 179, 7, 7, 7, 185, 7, 899, 169, 170, 184, - 181, 7, 7, 175, 88, 151, 186, 5, 180, 5, - 5, 183, 5, 5, 186, 5, 5, 5, 5, 5, - 5, 5, 5, 927, 5, 5, 5, 5, 5, 5, - 5, 941, 5, 5, 159, 160, 161, 162, 163, 5, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 138, - 5, 955, 956, 1019, 179, 5, 5, 5, 3, 5, - 970, 965, 972, 5, 974, 6, 5, 185, 181, 6, - 4, 6, 976, 977, 7, 6, 187, 7, 7, 7, - 6, 6, 184, 987, 7, 7, 990, 7, 187, 186, - 186, 7, 7, 180, 7, 152, 1000, 185, 5, 185, - 185, 181, 185, 1007, 1008, 1009, 185, 185, 988, 185, - 1014, 185, 185, 185, 1018, 185, 185, 185, 1022, 1023, - 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 1044, 185, 159, 160, 161, 162, 163, 1051, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 185, 185, 180, - 185, 185, 179, 185, 1068, 185, 185, 180, 6, 180, - 180, 681, 682, 180, 684, 6, 180, 6, 688, 689, - 3, 4, 4, 1087, 183, 6, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 180, 1091, 180, 723, 724, 180, 180, 727, 180, 180, - 6, 4, 7, 182, 6, 4, 7, 7, 186, 7, - 7, 741, 742, 7, 7, 7, 7, 747, 748, 7, - 7, 7, 7, 6, 754, 7, 756, 7, 148, 3, - 1154, 1155, 3, 1157, 3, 1159, 1160, 171, 3, 3, - 3, 3, 1166, 3, 3, 3, 3, 3, 3, 3, - 1174, 181, 5, 5, 3, 3, 6, 181, 1182, 184, - 7, 184, 6, 1187, 6, 6, 1190, 6, 1192, 1193, - 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, - 6, 186, 6, 6, 1208, 89, 816, 1211, 818, 186, - 185, 185, 181, 185, 181, 185, 181, 185, 828, 829, - 830, 185, 185, 833, 834, 835, 836, 837, 838, 839, - 159, 160, 161, 162, 163, 181, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 181, 169, 170, 185, 1229, - 179, 185, 175, 185, 6, 185, 181, 180, 185, 185, - 183, 3, 4, 186, 181, 185, 185, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 185, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, - 1304, 6, 4, 1283, 1308, 6, 90, 6, 6, 185, - 3, 4, 5, 7, 184, 925, 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, 34, 35, 36, 185, 1325, 6, 6, 6, 6, - 6, 6, 6, 6, 185, 6, 6, 6, 183, 185, - 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, - 1374, 1375, 6, 89, 984, 3, 6, 6, 3, 6, - 171, 991, 159, 160, 161, 162, 163, 6, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 6, 3, 6, - 1010, 3, 179, 1383, 3, 6, 6, 1411, 185, 6, - 187, 3, 3, 1417, 1418, 1419, 1420, 1421, 1422, 1423, - 1424, 1425, 1426, 3, 1428, 6, 1430, 169, 170, 4, - 6, 184, 1412, 175, 6, 6, 184, 7, 180, 6, - 183, 6, 186, 86, 186, 181, 187, 186, 186, 186, - 185, 185, 185, 181, 185, 185, 181, 1461, 1462, 1439, - 181, 185, 1466, 1467, 1468, 1469, 1470, 1471, 181, 181, - 185, 181, 181, 91, 185, 4, 169, 170, 89, 148, - 6, 3, 175, 6, 3, 6, 1490, 180, 6, 6, - 6, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, - 6, 6, 6, 3, 6, 6, 5, 5, 187, 6, - 186, 186, 185, 187, 185, 185, 181, 185, 181, 1523, - 1524, 1525, 1526, 1527, 1528, 1529, 6, 1531, 6, 1533, - 159, 160, 161, 162, 163, 181, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 185, 185, 1551, 1552, 1553, - 179, 6, 185, 1163, 6, 1165, 6, 6, 1168, 6, - 6, 1565, 1566, 1567, 1568, 1569, 1570, 6, 6, 6, - 6, 6, 6, 5, 1184, 5, 186, 185, 1582, 1583, - 1584, 1585, 186, 1587, 187, 1589, 181, 185, 159, 160, - 161, 162, 163, 181, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 185, 86, 1609, 1610, 1611, 179, 186, - 148, 185, 185, 6, 1618, 6, 1620, 6, 1622, 3, - 4, 185, 5, 186, 186, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 185, - 5, 185, 187, 186, 6, 185, 181, 181, 6, 187, - 6, 6, 1272, 86, 6, 6, 6, 6, 6, 1279, - 1280, 3, 4, 5, 187, 7, 6, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 186, 34, 35, 36, 3, 4, 6, 185, 185, - 153, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 274, 275, 276, 277, 278, 279, 489, 188, 188, 182, + 6, 1184, 171, 172, 288, 1188, 41, 42, 182, 44, + 503, 290, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 3, 182, 7, + 184, 178, 179, 317, 171, 172, 320, 184, 182, 186, + 7, 325, 326, 157, 158, 159, 160, 331, 332, 333, + 187, 335, 336, 337, 338, 339, 340, 341, 348, 349, + 171, 172, 171, 172, 178, 179, 182, 171, 172, 353, + 354, 355, 186, 183, 358, 182, 187, 187, 187, 171, + 172, 183, 366, 187, 664, 187, 183, 46, 372, 1151, + 187, 183, 182, 161, 162, 163, 164, 165, 42, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 178, 179, + 171, 172, 44, 181, 184, 695, 186, 1300, 1301, 1302, + 1303, 189, 178, 179, 1307, 665, 187, 151, 184, 42, + 186, 410, 156, 171, 172, 173, 174, 175, 42, 58, + 59, 60, 61, 181, 63, 182, 122, 123, 124, 125, + 126, 127, 128, 129, 178, 182, 182, 184, 184, 6, + 184, 185, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 664, 184, 183, 186, 668, 181, 187, 462, 157, + 158, 159, 160, 182, 468, 184, 182, 466, 184, 8, + 157, 158, 159, 160, 38, 1378, 1379, 41, 42, 1382, + 178, 179, 695, 188, 187, 489, 189, 54, 173, 174, + 175, 178, 179, 187, 183, 189, 181, 501, 187, 503, + 188, 505, 506, 178, 179, 183, 182, 511, 184, 187, + 520, 186, 107, 108, 109, 110, 111, 521, 522, 182, + 182, 184, 184, 182, 182, 184, 530, 188, 182, 829, + 184, 42, 182, 537, 184, 1438, 6, 802, 803, 182, + 182, 184, 184, 547, 548, 163, 164, 165, 6, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 3, 4, + 182, 182, 184, 181, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 587, 6, + 182, 182, 184, 1496, 161, 162, 163, 164, 165, 6, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 182, + 182, 184, 184, 182, 181, 184, 829, 182, 4, 184, + 55, 56, 161, 162, 163, 164, 165, 1530, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 641, 642, 182, + 4, 184, 181, 187, 183, 189, 187, 187, 189, 189, + 42, 655, 656, 657, 658, 659, 660, 661, 6, 7, + 664, 977, 3, 187, 668, 189, 187, 671, 189, 187, + 187, 189, 189, 683, 934, 182, 680, 164, 165, 5, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 182, + 182, 695, 696, 187, 181, 189, 187, 187, 189, 189, + 6, 182, 187, 768, 189, 187, 6, 189, 6, 5, + 720, 721, 722, 973, 1617, 182, 187, 461, 189, 182, + 188, 725, 726, 188, 188, 729, 171, 172, 187, 739, + 189, 182, 177, 737, 738, 6, 182, 182, 748, 187, + 185, 189, 182, 188, 161, 162, 163, 164, 165, 182, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 6, + 187, 187, 189, 189, 181, 187, 182, 189, 772, 773, + 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, + 784, 785, 187, 187, 189, 189, 38, 39, 40, 41, + 42, 43, 44, 45, 182, 47, 4, 49, 50, 182, + 52, 53, 6, 188, 803, 184, 188, 811, 188, 813, + 95, 6, 182, 182, 182, 182, 182, 69, 5, 182, + 182, 182, 182, 182, 182, 829, 182, 831, 182, 833, + 182, 182, 182, 85, 86, 87, 182, 182, 182, 182, + 182, 4, 182, 847, 848, 849, 182, 1163, 182, 182, + 182, 182, 182, 182, 182, 182, 7, 181, 183, 863, + 864, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 187, 186, 7, 7, + 7, 181, 183, 7, 7, 90, 867, 153, 5, 188, + 161, 162, 163, 164, 165, 147, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 5, 905, 5, 5, 5, + 181, 5, 5, 5, 161, 162, 163, 164, 165, 5, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 5, + 5, 935, 5, 5, 181, 5, 5, 189, 5, 949, + 5, 685, 686, 5, 688, 5, 140, 6, 692, 693, + 5, 5, 5, 5, 5, 5, 5, 5, 3, 963, + 964, 5, 1027, 5, 187, 6, 5, 183, 978, 973, + 980, 6, 982, 4, 6, 186, 6, 189, 7, 6, + 984, 985, 7, 727, 728, 7, 7, 731, 6, 6, + 189, 995, 188, 8, 998, 7, 7, 7, 188, 7, + 7, 745, 746, 182, 1008, 7, 154, 751, 752, 187, + 187, 1015, 1016, 1017, 758, 996, 760, 187, 1022, 187, + 187, 187, 1026, 187, 5, 187, 1030, 1031, 1032, 1033, + 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 1054, 187, 161, 162, 163, 164, 165, 1061, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 6, 187, 187, + 183, 187, 181, 187, 1078, 187, 185, 187, 822, 187, + 824, 187, 187, 187, 187, 187, 6, 182, 4, 6, + 834, 835, 836, 1097, 182, 839, 840, 841, 842, 843, + 844, 845, 161, 162, 163, 164, 165, 185, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 6, 182, 182, + 1101, 6, 181, 6, 182, 182, 182, 7, 6, 4, + 7, 161, 162, 163, 164, 165, 1396, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 161, 162, 163, 164, + 165, 181, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 184, 1166, 1167, 7, 1169, 181, 1171, 1172, 182, + 7, 7, 188, 182, 1178, 7, 182, 182, 182, 182, + 7, 182, 1186, 7, 7, 7, 7, 7, 7, 933, + 1194, 6, 150, 7, 7, 1199, 3, 1457, 1202, 1459, + 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, + 1214, 1215, 1216, 1217, 3, 3, 173, 3, 1222, 3, + 3, 1225, 161, 162, 163, 164, 165, 3, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 6, 3, 3, + 3, 3, 181, 3, 3, 3, 3, 1507, 992, 5, + 5, 3, 6, 6, 4, 999, 183, 183, 186, 7, + 6, 186, 1243, 6, 6, 6, 6, 188, 6, 6, + 188, 6, 187, 91, 1018, 187, 161, 162, 163, 164, + 165, 183, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 187, 183, 187, 187, 183, 181, 187, 6, 183, + 187, 183, 4, 6, 183, 92, 187, 183, 1312, 1313, + 1314, 1315, 1316, 1317, 1318, 1319, 1320, 187, 1299, 187, + 187, 1325, 1326, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 3, 4, 186, 185, 6, 6, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 1343, 6, 6, 6, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, + 1394, 1395, 161, 162, 163, 164, 165, 6, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 161, 162, 163, + 164, 165, 181, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 6, 6, 1405, 6, 6, 181, 6, 6, + 6, 1175, 1436, 1177, 6, 6, 1180, 7, 1442, 1443, + 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 3, 1453, + 6, 1455, 1196, 91, 3, 4, 1437, 3, 6, 173, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 189, 6, 1467, 6, 3, 1493, + 1494, 3, 6, 6, 1498, 1499, 1500, 1501, 1502, 1503, + 171, 172, 6, 3, 6, 3, 177, 3, 3, 6, + 4, 182, 186, 6, 185, 6, 6, 188, 7, 186, + 185, 6, 1526, 189, 188, 188, 188, 1531, 1532, 1533, + 1534, 1535, 1536, 1537, 1538, 1539, 188, 88, 183, 187, + 187, 187, 4, 183, 1288, 150, 93, 183, 187, 183, + 187, 1295, 1296, 183, 187, 1559, 1560, 1561, 1562, 1563, + 1564, 1565, 183, 1567, 187, 1569, 183, 187, 183, 6, + 6, 91, 3, 6, 6, 3, 6, 6, 189, 6, + 6, 6, 6, 1587, 1588, 1589, 3, 6, 6, 5, + 5, 188, 6, 188, 187, 189, 187, 1601, 1602, 1603, + 1604, 1605, 1606, 6, 6, 187, 6, 6, 187, 183, + 183, 6, 187, 6, 1618, 1619, 1620, 1621, 183, 1623, + 187, 1625, 171, 172, 187, 6, 6, 6, 177, 1373, + 6, 1375, 6, 182, 6, 6, 6, 5, 5, 188, + 88, 1645, 1646, 1647, 188, 187, 189, 188, 187, 187, + 1654, 187, 1656, 183, 1658, 3, 4, 183, 187, 187, + 187, 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, 154, 185, 6, 181, - 3, 4, 186, 1353, 185, 1355, 9, 10, 11, 12, + 28, 29, 30, 31, 32, 188, 150, 188, 1432, 188, + 3, 4, 5, 5, 7, 1439, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 159, 160, 161, 162, 163, 186, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 169, 170, 186, 185, 6, - 179, 175, 6, 6, 6, 6, 180, 1407, 185, 185, - 6, 186, 186, 185, 1414, 186, 186, 159, 160, 161, - 162, 163, 6, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 6, 155, 156, 157, 158, 179, 6, 6, - 181, 6, 186, 186, 6, 6, 186, 169, 170, 0, - 0, 7, 589, 175, 176, 177, 982, -1, 180, 7, - 182, 8, 184, 7, -1, 1465, 930, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, - -1, 169, 170, -1, -1, -1, -1, 175, -1, -1, - -1, 8, 180, 1493, -1, -1, -1, -1, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 8, -1, -1, 169, 170, 179, -1, - -1, 1521, 175, -1, -1, -1, -1, 180, 8, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 1550, -1, -1, -1, -1, 185, -1, 187, -1, 3, - 4, -1, -1, -1, 1564, 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, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 159, 160, 161, - 162, 163, 179, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 159, 160, 161, 162, 163, 179, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 159, - 160, 161, 162, 163, 179, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 0, 1, -1, 3, 4, -1, -1, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, 169, 170, 179, -1, -1, - -1, 175, -1, 33, -1, 187, 180, 37, 38, 39, + 188, 34, 35, 36, 161, 162, 163, 164, 165, 6, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 6, + 5, 187, 189, 188, 181, 187, 189, 188, 3, 4, + 5, 88, 6, 1497, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 183, 34, + 35, 36, 3, 4, 6, 1529, 183, 6, 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, 1557, 6, 6, 6, 6, 6, 6, + 189, 6, 188, 171, 172, 187, 187, 155, 6, 177, + 156, 187, 187, 187, 182, 8, 188, 188, 188, 6, + 188, 183, 1586, 6, 157, 158, 159, 160, 187, 6, + 8, 6, 6, 6, 187, 187, 1600, 188, 171, 172, + 6, 188, 6, 188, 177, 178, 179, 6, 183, 182, + 188, 184, 8, 186, 3, 4, 6, 188, 188, 6, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 8, 6, 6, 0, 0, 589, + 7, 7, 7, 990, 938, -1, 171, 172, -1, -1, + -1, -1, 177, -1, -1, -1, -1, 182, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, + 171, 172, -1, -1, -1, -1, 177, 3, 4, -1, + -1, 182, -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, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 161, 162, 163, 164, 165, 181, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, 171, 172, -1, 181, 189, -1, 177, -1, + -1, -1, -1, 182, -1, -1, -1, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + 38, 39, 40, 41, 42, 43, 44, 45, -1, 47, + -1, 49, 50, -1, 52, 53, -1, -1, -1, -1, + 0, 1, -1, 3, 4, -1, -1, -1, -1, -1, + -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 171, 172, 85, 86, 87, + -1, 177, -1, 33, -1, -1, 182, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, -1, -1, -1, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 85, 86, 87, -1, 147, + 181, -1, 183, -1, 94, -1, 96, 97, 98, 99, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, - -1, -1, 92, -1, 94, 95, 96, 97, 98, 99, - 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, 121, 122, 123, 124, 125, 126, 127, 38, 39, - 40, 41, 42, 43, 44, 45, -1, 47, -1, 49, - 50, -1, 52, 53, -1, 145, 146, 147, -1, 149, - -1, 38, 39, 40, 41, 42, 43, 44, 45, 69, - 47, -1, 49, 50, -1, 52, 53, -1, -1, -1, - -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, - -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 83, 84, 85, -1, - -1, 38, 39, 40, 41, 42, 43, 44, 45, -1, - 47, -1, 49, 50, -1, 52, 53, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, - -1, -1, 69, -1, -1, 145, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 83, 84, 85, -1, - -1, -1, -1, -1, -1, 33, -1, -1, 145, 37, + -1, 4, 122, 123, 124, 125, 126, 127, 128, 129, + -1, 189, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 147, 148, 149, + 33, 151, 181, -1, 37, 38, 39, 40, 41, 42, + 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, + 53, -1, -1, -1, 57, 58, 59, 60, 61, 62, + 63, 41, 65, 66, 67, 68, 69, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 85, 86, 87, -1, -1, 181, -1, 183, + -1, 94, -1, 96, 97, 98, 99, 100, 101, 102, 38, 39, 40, 41, 42, 43, 44, 45, -1, 47, - 48, 49, 50, 51, 52, 53, -1, 187, -1, 57, - 58, 59, 60, 61, 62, 63, 41, 65, 66, 67, - 68, 69, -1, -1, -1, -1, -1, -1, -1, -1, - 187, -1, -1, -1, -1, 83, 84, 85, 145, -1, - -1, -1, -1, -1, 92, -1, 94, 95, 96, 97, - 98, 99, 100, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, -1, -1, 102, 103, 104, - -1, 187, -1, -1, -1, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, -1, 145, -1, -1, - -1, -1, -1, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, -1, 159, 160, 161, 162, 163, 187, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, -1, 159, 160, 161, 162, - 163, 187, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, -1, 159, - 160, 161, 162, 163, 187, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, 159, 160, 161, 162, 163, 187, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, -1, 159, 160, 161, 162, 163, - 187, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, -1, 159, 160, - 161, 162, 163, 187, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - -1, 159, 160, 161, 162, 163, 187, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, -1, 159, 160, 161, 162, 163, 187, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, 159, 160, 161, - 162, 163, 187, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, -1, -1, - 159, 160, 161, 162, 163, 187, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, -1, 159, 160, 161, 162, 163, 187, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, -1, 159, 160, 161, 162, - 163, 187, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, -1, 159, - 160, 161, 162, 163, 187, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, 159, 160, 161, 162, 163, 187, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, -1, 159, 160, 161, 162, 163, - 187, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, -1, 159, 160, - 161, 162, 163, 187, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - 159, 160, 161, 162, 163, 185, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, 159, 160, 161, 162, 163, 185, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, 159, 160, 161, 162, 163, 185, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, 159, 160, 161, 162, 163, 185, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, 159, 160, 161, 162, 163, 185, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, 159, 160, 161, 162, 163, - 185, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, 159, 160, 161, 162, - 163, 185, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, 159, 160, 161, - 162, 163, 185, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, 159, 160, - 161, 162, 163, 185, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, 159, - 160, 161, 162, 163, 185, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, -1, -1, 183, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, -1, -1, 183, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, 181, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 181, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, 181, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - 181, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, 181, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, 181, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, -1, 181, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, 181, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, 181, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, 181, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, 181, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 181, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, 181, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - 181, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, 181, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, 181, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, -1, 181, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, 181, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, 181, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, 181, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, 181, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 181, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, 181, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - 181, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, 181, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, 181, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, -1, 181, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, 181, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, 181, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, 181, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, 181, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 181, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, 181, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - 181, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, 181, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, 181, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, -1, 181, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, 181, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, 181, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, 181, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, 181, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 181, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, 181, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - 181, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, 181, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, 181, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, -1, 181, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, 181, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, 181, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, 181, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, 181, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 181, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, 181, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - 181, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, 181, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179, -1, 181, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 179, -1, 181, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, 170, 171, 172, 173, -1, -1, -1, -1, -1, - 179, -1, 181, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, 170, 171, 172, 173, -1, -1, - -1, -1, -1, 179, -1, 181, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, - 173, -1, -1, -1, -1, -1, 179, -1, 181, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - 170, 171, 172, 173, -1, -1, -1, -1, -1, 179, - -1, 181, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, 170, 171, 172, 173, -1, -1, -1, - -1, -1, 179, -1, 181, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, - -1, -1, -1, -1, -1, 179, -1, 181, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, - 171, 172, 173, -1, -1, -1, -1, -1, 179, -1, - 181, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, 170, 171, 172, 173, -1, -1, -1, -1, - -1, 179, -1, 181, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, 170, 171, 172, 173, -1, - -1, -1, -1, -1, 179 + -1, 49, 50, -1, 52, 53, -1, -1, -1, -1, + -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, + -1, 69, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, -1, 147, -1, -1, 85, 86, 87, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + -1, 141, 142, 143, 144, 145, 146, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, -1, -1, 187, -1, 189, -1, -1, -1, -1, + -1, -1, -1, -1, 161, 162, 163, 164, 165, 147, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, + 187, -1, 189, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, -1, -1, -1, -1, 187, + -1, 189, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, 161, 162, 163, 164, 165, + 189, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, -1, 161, 162, + 163, 164, 165, 189, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + -1, 161, 162, 163, 164, 165, 189, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, -1, 161, 162, 163, 164, 165, 189, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, -1, 161, 162, 163, + 164, 165, 189, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + 161, 162, 163, 164, 165, 189, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, -1, 161, 162, 163, 164, 165, 189, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, -1, 161, 162, 163, 164, + 165, 189, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, -1, 161, + 162, 163, 164, 165, 189, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, -1, 161, 162, 163, 164, 165, 189, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, 161, 162, 163, 164, 165, + 189, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, -1, 161, 162, + 163, 164, 165, 189, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + -1, 161, 162, 163, 164, 165, 189, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, -1, 161, 162, 163, 164, 165, 189, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, -1, 161, 162, 163, + 164, 165, 189, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + 161, 162, 163, 164, 165, 189, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, -1, 161, 162, 163, 164, 165, 189, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, -1, 161, 162, 163, 164, + 165, 189, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, 161, 162, 163, 164, 165, 187, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, 161, 162, 163, 164, 165, 187, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, 161, 162, 163, 164, 165, + 187, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, 161, 162, 163, 164, + 165, 187, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, 161, 162, 163, + 164, 165, 187, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, 161, 162, + 163, 164, 165, 187, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, 161, + 162, 163, 164, 165, 187, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + 161, 162, 163, 164, 165, 187, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, 161, 162, 163, 164, 165, 187, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, 161, 162, 163, 164, 165, 187, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, -1, + -1, 185, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 185, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, 183, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, 183, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 183, 161, 162, 163, 164, + 165, -1, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, 183, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, 183, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, 183, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, 183, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + 183, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, 183, 161, 162, 163, 164, 165, -1, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, 183, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, 183, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, 183, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 183, 161, 162, 163, 164, + 165, -1, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, 183, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, 183, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, 183, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, 183, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + 183, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, 183, 161, 162, 163, 164, 165, -1, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, 183, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, 183, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, 183, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 183, 161, 162, 163, 164, + 165, -1, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, 183, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, 183, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, 183, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, 183, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + 183, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, 183, 161, 162, 163, 164, 165, -1, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, 183, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, 183, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, 183, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 183, 161, 162, 163, 164, + 165, -1, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, 183, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, 183, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, 183, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, 183, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + 183, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, 183, 161, 162, 163, 164, 165, -1, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, 183, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, 183, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, 183, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 183, 161, 162, 163, 164, + 165, -1, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, 183, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, 183, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, 183, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, 183, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + 183, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, 183, 161, 162, 163, 164, 165, -1, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, 183, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, 183, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, 183, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 183, 161, 162, 163, 164, + 165, -1, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, 183, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, 183, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, 171, 172, 173, 174, 175, -1, -1, -1, + -1, -1, 181, -1, 183, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, -1, -1, 181, -1, 183, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, 171, 172, + 173, 174, 175, -1, -1, -1, -1, -1, 181, -1, + 183, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, 171, 172, 173, 174, 175, -1, -1, -1, -1, + -1, 181, -1, 183, 161, 162, 163, 164, 165, -1, + 167, 168, 169, 170, 171, 172, 173, 174, 175, -1, + -1, -1, -1, -1, 181, -1, 183, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, 171, 172, 173, + 174, 175, -1, -1, -1, -1, -1, 181, -1, 183, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, + 181, -1, 183, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, 171, 172, 173, 174, 175, -1, -1, + -1, -1, -1, 181, -1, 183, 161, 162, 163, 164, + 165, -1, 167, 168, 169, 170, 171, 172, 173, 174, + 175, -1, -1, -1, -1, -1, 181, -1, 183, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, 171, + 172, 173, 174, 175, -1, -1, -1, -1, -1, 181, + -1, 183 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" @@ -3144,19 +3184,19 @@ yyreduce: switch (yyn) { case 4: -#line 157 "Gmsh.y" +#line 158 "Gmsh.y" { yyerrok ; return 1; ; break;} case 5: -#line 165 "Gmsh.y" +#line 166 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 6: -#line 166 "Gmsh.y" +#line 167 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 7: -#line 171 "Gmsh.y" +#line 172 "Gmsh.y" { Msg(PARSER_INFO,"STL file format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -3165,7 +3205,7 @@ case 7: ; break;} case 8: -#line 185 "Gmsh.y" +#line 186 "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, @@ -3174,7 +3214,7 @@ case 8: ; break;} case 9: -#line 192 "Gmsh.y" +#line 193 "Gmsh.y" { Msg(PARSER_INFO,"STL file format read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -3182,79 +3222,79 @@ case 9: ; break;} case 12: -#line 209 "Gmsh.y" +#line 210 "Gmsh.y" { return 1; ; break;} case 13: -#line 210 "Gmsh.y" +#line 211 "Gmsh.y" { return 1; ; break;} case 14: -#line 211 "Gmsh.y" +#line 212 "Gmsh.y" { return 1; ; break;} case 15: -#line 216 "Gmsh.y" +#line 217 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format"); Create_Step_Solid_BRep(); ; break;} case 16: -#line 221 "Gmsh.y" +#line 222 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format read"); Resolve_BREP (); ; break;} case 20: -#line 232 "Gmsh.y" +#line 233 "Gmsh.y" { ; break;} case 21: -#line 235 "Gmsh.y" +#line 236 "Gmsh.y" { ; break;} case 22: -#line 239 "Gmsh.y" +#line 240 "Gmsh.y" { ; break;} case 23: -#line 245 "Gmsh.y" +#line 246 "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 24: -#line 251 "Gmsh.y" +#line 252 "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 25: -#line 258 "Gmsh.y" +#line 259 "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 26: -#line 264 "Gmsh.y" +#line 265 "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 27: -#line 268 "Gmsh.y" +#line 269 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1); ; break;} case 28: -#line 272 "Gmsh.y" +#line 273 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a face bound"); @@ -3262,207 +3302,207 @@ case 28: ; break;} case 29: -#line 279 "Gmsh.y" +#line 280 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 30: -#line 283 "Gmsh.y" +#line 284 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 31: -#line 288 "Gmsh.y" +#line 289 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 32: -#line 292 "Gmsh.y" +#line 293 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 33: -#line 296 "Gmsh.y" +#line 297 "Gmsh.y" { ; break;} case 34: -#line 300 "Gmsh.y" +#line 301 "Gmsh.y" { Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 35: -#line 304 "Gmsh.y" +#line 305 "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 36: -#line 308 "Gmsh.y" +#line 309 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 37: -#line 312 "Gmsh.y" +#line 313 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 38: -#line 316 "Gmsh.y" +#line 317 "Gmsh.y" { Msg(PARSER_INFO,"Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 39: -#line 322 "Gmsh.y" +#line 323 "Gmsh.y" { ; break;} case 40: -#line 325 "Gmsh.y" +#line 326 "Gmsh.y" { ; break;} case 41: -#line 328 "Gmsh.y" +#line 329 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 42: -#line 332 "Gmsh.y" +#line 333 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 43: -#line 336 "Gmsh.y" +#line 337 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 44: -#line 340 "Gmsh.y" +#line 341 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 45: -#line 344 "Gmsh.y" +#line 345 "Gmsh.y" { Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 46: -#line 349 "Gmsh.y" +#line 350 "Gmsh.y" { ; break;} case 47: -#line 352 "Gmsh.y" +#line 353 "Gmsh.y" { ; break;} case 48: -#line 356 "Gmsh.y" +#line 357 "Gmsh.y" { ; break;} case 49: -#line 359 "Gmsh.y" +#line 360 "Gmsh.y" { ; break;} case 50: -#line 363 "Gmsh.y" +#line 364 "Gmsh.y" { ; break;} case 51: -#line 366 "Gmsh.y" +#line 367 "Gmsh.y" { ; break;} case 52: -#line 369 "Gmsh.y" +#line 370 "Gmsh.y" { ; break;} case 53: -#line 379 "Gmsh.y" +#line 380 "Gmsh.y" { ; break;} case 54: -#line 382 "Gmsh.y" +#line 383 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh file format read"); ; break;} case 55: -#line 388 "Gmsh.y" +#line 389 "Gmsh.y" { return 1; ; break;} case 56: -#line 389 "Gmsh.y" +#line 390 "Gmsh.y" { return 1; ; break;} case 57: -#line 390 "Gmsh.y" +#line 391 "Gmsh.y" { return 1; ; break;} case 58: -#line 391 "Gmsh.y" +#line 392 "Gmsh.y" { return 1; ; break;} case 59: -#line 392 "Gmsh.y" +#line 393 "Gmsh.y" { return 1; ; break;} case 60: -#line 393 "Gmsh.y" +#line 394 "Gmsh.y" { return 1; ; break;} case 61: -#line 394 "Gmsh.y" +#line 395 "Gmsh.y" { return 1; ; break;} case 62: -#line 395 "Gmsh.y" +#line 396 "Gmsh.y" { return 1; ; break;} case 63: -#line 396 "Gmsh.y" +#line 397 "Gmsh.y" { return 1; ; break;} case 64: -#line 397 "Gmsh.y" +#line 398 "Gmsh.y" { return 1; ; break;} case 65: -#line 398 "Gmsh.y" +#line 399 "Gmsh.y" { return 1; ; break;} case 66: -#line 399 "Gmsh.y" +#line 400 "Gmsh.y" { return 1; ; break;} case 67: -#line 404 "Gmsh.y" +#line 405 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); ; break;} case 68: -#line 408 "Gmsh.y" +#line 409 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-2].l) ; i++){ if(!i){ @@ -3487,162 +3527,162 @@ case 68: ; break;} case 69: -#line 438 "Gmsh.y" +#line 439 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c); ; break;} case 70: -#line 442 "Gmsh.y" +#line 443 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c); ; break;} case 71: -#line 449 "Gmsh.y" +#line 450 "Gmsh.y" { View = BeginView(1); ; break;} -case 84: -#line 468 "Gmsh.y" +case 86: +#line 471 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} -case 85: -#line 470 "Gmsh.y" +case 87: +#line 473 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} -case 86: -#line 475 "Gmsh.y" +case 88: +#line 478 "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 87: -#line 480 "Gmsh.y" +case 89: +#line 483 "Gmsh.y" { View->NbSP++ ; ; break;} -case 88: -#line 487 "Gmsh.y" +case 90: +#line 490 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} -case 89: -#line 489 "Gmsh.y" +case 91: +#line 492 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} -case 90: -#line 494 "Gmsh.y" +case 92: +#line 497 "Gmsh.y" { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); ; break;} -case 91: -#line 499 "Gmsh.y" +case 93: +#line 502 "Gmsh.y" { View->NbVP++ ; ; break;} -case 92: -#line 506 "Gmsh.y" +case 94: +#line 509 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} -case 93: -#line 508 "Gmsh.y" +case 95: +#line 511 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} -case 94: -#line 513 "Gmsh.y" +case 96: +#line 516 "Gmsh.y" { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); ; break;} -case 95: -#line 518 "Gmsh.y" +case 97: +#line 521 "Gmsh.y" { View->NbTP++ ; ; break;} -case 96: -#line 525 "Gmsh.y" +case 98: +#line 528 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} -case 97: -#line 527 "Gmsh.y" +case 99: +#line 530 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} -case 98: -#line 533 "Gmsh.y" +case 100: +#line 536 "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); ; break;} -case 99: -#line 539 "Gmsh.y" +case 101: +#line 542 "Gmsh.y" { View->NbSL++ ; ; break;} -case 100: -#line 546 "Gmsh.y" +case 102: +#line 549 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} -case 101: -#line 548 "Gmsh.y" +case 103: +#line 551 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} -case 102: -#line 554 "Gmsh.y" +case 104: +#line 557 "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); ; break;} -case 103: -#line 560 "Gmsh.y" +case 105: +#line 563 "Gmsh.y" { View->NbVL++ ; ; break;} -case 104: -#line 567 "Gmsh.y" +case 106: +#line 570 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} -case 105: -#line 569 "Gmsh.y" +case 107: +#line 572 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} -case 106: -#line 575 "Gmsh.y" +case 108: +#line 578 "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); ; break;} -case 107: -#line 581 "Gmsh.y" +case 109: +#line 584 "Gmsh.y" { View->NbTL++ ; ; break;} -case 108: -#line 588 "Gmsh.y" +case 110: +#line 591 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} -case 109: -#line 590 "Gmsh.y" +case 111: +#line 593 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} -case 110: -#line 597 "Gmsh.y" +case 112: +#line 600 "Gmsh.y" { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); @@ -3652,22 +3692,22 @@ case 110: List_Add(View->ST, &yyvsp[-1].d); ; break;} -case 111: -#line 606 "Gmsh.y" +case 113: +#line 609 "Gmsh.y" { View->NbST++ ; ; break;} -case 112: -#line 613 "Gmsh.y" +case 114: +#line 616 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} -case 113: -#line 615 "Gmsh.y" +case 115: +#line 618 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} -case 114: -#line 622 "Gmsh.y" +case 116: +#line 625 "Gmsh.y" { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); @@ -3677,22 +3717,22 @@ case 114: List_Add(View->VT, &yyvsp[-1].d); ; break;} -case 115: -#line 631 "Gmsh.y" +case 117: +#line 634 "Gmsh.y" { View->NbVT++ ; ; break;} -case 116: -#line 638 "Gmsh.y" +case 118: +#line 641 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} -case 117: -#line 640 "Gmsh.y" +case 119: +#line 643 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} -case 118: -#line 647 "Gmsh.y" +case 120: +#line 650 "Gmsh.y" { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); @@ -3702,22 +3742,22 @@ case 118: List_Add(View->TT, &yyvsp[-1].d); ; break;} -case 119: -#line 656 "Gmsh.y" +case 121: +#line 659 "Gmsh.y" { View->NbTT++ ; ; break;} -case 120: -#line 663 "Gmsh.y" +case 122: +#line 666 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} -case 121: -#line 665 "Gmsh.y" +case 123: +#line 668 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} -case 122: -#line 673 "Gmsh.y" +case 124: +#line 676 "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); @@ -3727,22 +3767,22 @@ case 122: List_Add(View->SS, &yyvsp[-7].d); List_Add(View->SS, &yyvsp[-1].d); ; break;} -case 123: -#line 682 "Gmsh.y" +case 125: +#line 685 "Gmsh.y" { View->NbSS++ ; ; break;} -case 124: -#line 689 "Gmsh.y" +case 126: +#line 692 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} -case 125: -#line 691 "Gmsh.y" +case 127: +#line 694 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} -case 126: -#line 699 "Gmsh.y" +case 128: +#line 702 "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); @@ -3752,22 +3792,22 @@ case 126: List_Add(View->VS, &yyvsp[-7].d); List_Add(View->VS, &yyvsp[-1].d); ; break;} -case 127: -#line 708 "Gmsh.y" +case 129: +#line 711 "Gmsh.y" { View->NbVS++ ; ; break;} -case 128: -#line 715 "Gmsh.y" +case 130: +#line 718 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} -case 129: -#line 717 "Gmsh.y" +case 131: +#line 720 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} -case 130: -#line 725 "Gmsh.y" +case 132: +#line 728 "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); @@ -3777,42 +3817,100 @@ case 130: List_Add(View->TS, &yyvsp[-7].d); List_Add(View->TS, &yyvsp[-1].d); ; break;} -case 131: -#line 734 "Gmsh.y" +case 133: +#line 737 "Gmsh.y" { View->NbTS++ ; ; break;} -case 132: -#line 746 "Gmsh.y" +case 134: +#line 744 "Gmsh.y" +{ + for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ; + Free(yyvsp[0].c); + ; + break;} +case 135: +#line 749 "Gmsh.y" +{ + for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ; + Free(yyvsp[0].c); + ; + break;} +case 136: +#line 757 "Gmsh.y" +{ + List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); + List_Add(View->T2D, &yyvsp[-1].d); + d = List_Nbr(View->T2C); + List_Add(View->T2D, &d); + ; + break;} +case 137: +#line 764 "Gmsh.y" +{ + View->NbT2++ ; + ; + break;} +case 138: +#line 771 "Gmsh.y" +{ + for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ; + Free(yyvsp[0].c); + ; + break;} +case 139: +#line 776 "Gmsh.y" +{ + for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ; + Free(yyvsp[0].c); + ; + break;} +case 140: +#line 784 "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); + d = List_Nbr(View->T3C); + List_Add(View->T3D, &d); + ; + break;} +case 141: +#line 791 "Gmsh.y" +{ + View->NbT3++ ; + ; + break;} +case 142: +#line 802 "Gmsh.y" { yyval.i = 0 ; ; break;} -case 133: -#line 747 "Gmsh.y" +case 143: +#line 803 "Gmsh.y" { yyval.i = 1 ; ; break;} -case 134: -#line 748 "Gmsh.y" +case 144: +#line 804 "Gmsh.y" { yyval.i = 2 ; ; break;} -case 135: -#line 749 "Gmsh.y" +case 145: +#line 805 "Gmsh.y" { yyval.i = 3 ; ; break;} -case 136: -#line 750 "Gmsh.y" +case 146: +#line 806 "Gmsh.y" { yyval.i = 4 ; ; break;} -case 137: -#line 753 "Gmsh.y" +case 147: +#line 809 "Gmsh.y" { yyval.i = 1 ; ; break;} -case 138: -#line 754 "Gmsh.y" +case 148: +#line 810 "Gmsh.y" { yyval.i = -1 ; ; break;} -case 139: -#line 761 "Gmsh.y" +case 149: +#line 817 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3839,8 +3937,8 @@ case 139: } ; break;} -case 140: -#line 788 "Gmsh.y" +case 150: +#line 844 "Gmsh.y" { TheSymbol.Name = yyvsp[-6].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3874,8 +3972,8 @@ case 140: } ; break;} -case 141: -#line 822 "Gmsh.y" +case 151: +#line 878 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) vyyerror("Incompatible array dimensions in affectation"); @@ -3922,8 +4020,8 @@ case 141: List_Delete(yyvsp[-1].l); ; break;} -case 142: -#line 869 "Gmsh.y" +case 152: +#line 925 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3938,8 +4036,8 @@ case 142: List_Delete(yyvsp[-1].l); ; break;} -case 143: -#line 884 "Gmsh.y" +case 153: +#line 940 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3948,8 +4046,8 @@ case 143: *(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i; ; break;} -case 144: -#line 893 "Gmsh.y" +case 154: +#line 949 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3962,8 +4060,8 @@ case 144: } ; break;} -case 145: -#line 908 "Gmsh.y" +case 155: +#line 964 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) vyyerror("Unknown string option class '%s'", yyvsp[-5].c); @@ -3975,8 +4073,8 @@ case 145: } ; break;} -case 146: -#line 920 "Gmsh.y" +case 156: +#line 976 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) vyyerror("Unknown string option class '%s'", yyvsp[-8].c); @@ -3988,8 +4086,8 @@ case 146: } ; break;} -case 147: -#line 934 "Gmsh.y" +case 157: +#line 990 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c); @@ -4012,8 +4110,8 @@ case 147: } ; break;} -case 148: -#line 957 "Gmsh.y" +case 158: +#line 1013 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-8].c); @@ -4037,8 +4135,8 @@ case 148: } ; break;} -case 149: -#line 981 "Gmsh.y" +case 159: +#line 1037 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-4].c); @@ -4050,8 +4148,8 @@ case 149: } ; break;} -case 150: -#line 993 "Gmsh.y" +case 160: +#line 1049 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-7].c); @@ -4063,8 +4161,8 @@ case 150: } ; break;} -case 151: -#line 1007 "Gmsh.y" +case 161: +#line 1063 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) vyyerror("Unknown color option class '%s'", yyvsp[-7].c); @@ -4076,8 +4174,8 @@ case 151: } ; break;} -case 152: -#line 1019 "Gmsh.y" +case 162: +#line 1075 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) vyyerror("Unknown color option class '%s'", yyvsp[-10].c); @@ -4089,8 +4187,8 @@ case 152: } ; break;} -case 153: -#line 1033 "Gmsh.y" +case 163: +#line 1089 "Gmsh.y" { ColorTable *ct = Get_ColorTable(0); if(!ct) @@ -4106,8 +4204,8 @@ case 153: List_Delete(yyvsp[-1].l); ; break;} -case 154: -#line 1049 "Gmsh.y" +case 164: +#line 1105 "Gmsh.y" { ColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -4123,8 +4221,8 @@ case 154: List_Delete(yyvsp[-1].l); ; break;} -case 155: -#line 1065 "Gmsh.y" +case 165: +#line 1121 "Gmsh.y" { #ifndef _NOPLUGIN if(CTX.default_plugins){ @@ -4138,8 +4236,8 @@ case 155: #endif ; break;} -case 156: -#line 1078 "Gmsh.y" +case 166: +#line 1134 "Gmsh.y" { #ifndef _NOPLUGIN if(CTX.default_plugins){ @@ -4153,24 +4251,24 @@ case 156: #endif ; break;} -case 157: -#line 1102 "Gmsh.y" +case 167: +#line 1158 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 158: -#line 1109 "Gmsh.y" +case 168: +#line 1165 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 159: -#line 1115 "Gmsh.y" +case 169: +#line 1171 "Gmsh.y" { Vertex *v; Attractor *a; @@ -4190,8 +4288,8 @@ case 159: } ; break;} -case 160: -#line 1134 "Gmsh.y" +case 170: +#line 1190 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -4203,31 +4301,31 @@ case 160: } ; break;} -case 161: -#line 1145 "Gmsh.y" +case 171: +#line 1201 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} -case 162: -#line 1153 "Gmsh.y" +case 172: +#line 1209 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 163: -#line 1159 "Gmsh.y" +case 173: +#line 1215 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 164: -#line 1165 "Gmsh.y" +case 174: +#line 1221 "Gmsh.y" { Curve *c; Attractor *a; @@ -4247,24 +4345,24 @@ case 164: } ; break;} -case 165: -#line 1184 "Gmsh.y" +case 175: +#line 1240 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 166: -#line 1190 "Gmsh.y" +case 176: +#line 1246 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 167: -#line 1196 "Gmsh.y" +case 177: +#line 1252 "Gmsh.y" { List_T *temp; int i,j; @@ -4281,32 +4379,32 @@ case 167: yyval.s.Num = (int)yyvsp[-6].d; ; break;} -case 168: -#line 1213 "Gmsh.y" +case 178: +#line 1269 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; yyval.s.Num = (int)yyvsp[-14].d; ; break;} -case 169: -#line 1219 "Gmsh.y" +case 179: +#line 1275 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 170: -#line 1225 "Gmsh.y" +case 180: +#line 1281 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 171: -#line 1231 "Gmsh.y" +case 181: +#line 1287 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4318,8 +4416,8 @@ case 171: List_Nbr(yyvsp[-1].l)); ; break;} -case 172: -#line 1242 "Gmsh.y" +case 182: +#line 1298 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BEZIER,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4331,8 +4429,8 @@ case 172: List_Nbr(yyvsp[-1].l)); ; break;} -case 173: -#line 1253 "Gmsh.y" +case 183: +#line 1309 "Gmsh.y" { List_T *Temp; int i; @@ -4355,8 +4453,8 @@ case 173: } ; break;} -case 174: -#line 1275 "Gmsh.y" +case 184: +#line 1331 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -4366,16 +4464,16 @@ case 174: yyval.s.Type = c->Typ; ; break;} -case 175: -#line 1287 "Gmsh.y" +case 185: +#line 1343 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 176: -#line 1293 "Gmsh.y" +case 186: +#line 1349 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-4].d,THEM); @@ -4395,8 +4493,8 @@ case 176: } ; break;} -case 177: -#line 1312 "Gmsh.y" +case 187: +#line 1368 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -4418,38 +4516,38 @@ case 177: } ; break;} -case 178: -#line 1335 "Gmsh.y" +case 188: +#line 1391 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = (int)yyvsp[-16].d; ; break;} -case 179: -#line 1343 "Gmsh.y" +case 189: +#line 1399 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} -case 180: -#line 1347 "Gmsh.y" +case 190: +#line 1403 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 181: -#line 1353 "Gmsh.y" +case 191: +#line 1409 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 182: -#line 1359 "Gmsh.y" +case 192: +#line 1415 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -4459,85 +4557,85 @@ case 182: yyval.s.Type = s->Typ; ; break;} -case 183: -#line 1371 "Gmsh.y" +case 193: +#line 1427 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 184: -#line 1377 "Gmsh.y" +case 194: +#line 1433 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 185: -#line 1383 "Gmsh.y" +case 195: +#line 1439 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 186: -#line 1396 "Gmsh.y" +case 196: +#line 1452 "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 187: -#line 1401 "Gmsh.y" +case 197: +#line 1457 "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); yyval.l = yyvsp[-1].l; ; break;} -case 188: -#line 1406 "Gmsh.y" +case 198: +#line 1462 "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 189: -#line 1411 "Gmsh.y" +case 199: +#line 1467 "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 190: -#line 1418 "Gmsh.y" +case 200: +#line 1474 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 191: -#line 1419 "Gmsh.y" +case 201: +#line 1475 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 192: -#line 1420 "Gmsh.y" +case 202: +#line 1476 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 193: -#line 1425 "Gmsh.y" +case 203: +#line 1481 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} -case 194: -#line 1429 "Gmsh.y" +case 204: +#line 1485 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} -case 195: -#line 1441 "Gmsh.y" +case 205: +#line 1497 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4548,8 +4646,8 @@ case 195: } ; break;} -case 196: -#line 1459 "Gmsh.y" +case 206: +#line 1515 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -4557,21 +4655,21 @@ case 196: } ; break;} -case 197: -#line 1466 "Gmsh.y" +case 207: +#line 1522 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) FreeView((int)yyvsp[-2].d); ; break;} -case 198: -#line 1471 "Gmsh.y" +case 208: +#line 1527 "Gmsh.y" { Init_Mesh(THEM, 1); ; break;} -case 199: -#line 1483 "Gmsh.y" +case 209: +#line 1539 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ @@ -4639,8 +4737,8 @@ case 199: vyyerror("Unknown command '%s'", yyvsp[-2].c); ; break;} -case 200: -#line 1550 "Gmsh.y" +case 210: +#line 1606 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ @@ -4661,8 +4759,8 @@ case 200: vyyerror("Unknown command '%s'", yyvsp[-2].c); ; break;} -case 201: -#line 1570 "Gmsh.y" +case 211: +#line 1626 "Gmsh.y" { #ifndef _NOPLUGIN if(CTX.default_plugins) @@ -4670,14 +4768,14 @@ case 201: #endif ; break;} -case 202: -#line 1577 "Gmsh.y" +case 212: +#line 1633 "Gmsh.y" { exit(0); ; break;} -case 203: -#line 1581 "Gmsh.y" +case 213: +#line 1637 "Gmsh.y" { if(!CTX.batch){ // we're in interactive mode if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ @@ -4692,8 +4790,8 @@ case 203: } ; break;} -case 204: -#line 1603 "Gmsh.y" +case 214: +#line 1659 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; @@ -4705,8 +4803,8 @@ case 204: ImbricatedLoop++; ; break;} -case 205: -#line 1614 "Gmsh.y" +case 215: +#line 1670 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; @@ -4718,8 +4816,8 @@ case 205: ImbricatedLoop++; ; break;} -case 206: -#line 1625 "Gmsh.y" +case 216: +#line 1681 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; @@ -4742,8 +4840,8 @@ case 206: ImbricatedLoop++; ; break;} -case 207: -#line 1647 "Gmsh.y" +case 217: +#line 1703 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; @@ -4766,8 +4864,8 @@ case 207: ImbricatedLoop++; ; break;} -case 208: -#line 1669 "Gmsh.y" +case 218: +#line 1725 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -4789,144 +4887,144 @@ case 208: } ; break;} -case 209: -#line 1690 "Gmsh.y" +case 219: +#line 1746 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yyname,yylineno)) vyyerror("Redefinition of function %s",yyvsp[0].c); skip_until(NULL, "Return"); ; break;} -case 210: -#line 1696 "Gmsh.y" +case 220: +#line 1752 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin,yyname,yylineno)) vyyerror("Error while exiting function"); ; break;} -case 211: -#line 1701 "Gmsh.y" +case 221: +#line 1757 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yyname,yylineno)) vyyerror("Unknown function %s",yyvsp[-1].c); ; break;} -case 212: -#line 1706 "Gmsh.y" +case 222: +#line 1762 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} -case 213: -#line 1710 "Gmsh.y" +case 223: +#line 1766 "Gmsh.y" { ; break;} -case 214: -#line 1722 "Gmsh.y" +case 224: +#line 1778 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} -case 215: -#line 1727 "Gmsh.y" +case 225: +#line 1783 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, &pc,&prc,NULL); ; break;} -case 216: -#line 1736 "Gmsh.y" +case 226: +#line 1792 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} -case 217: -#line 1740 "Gmsh.y" +case 227: +#line 1796 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} -case 218: -#line 1744 "Gmsh.y" +case 228: +#line 1800 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 219: -#line 1749 "Gmsh.y" +case 229: +#line 1805 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],0.,0.,0.,0.,&extr); ; break;} -case 220: -#line 1753 "Gmsh.y" +case 230: +#line 1809 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 221: -#line 1758 "Gmsh.y" +case 231: +#line 1814 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-12].d,yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,&extr); ; break;} -case 222: -#line 1765 "Gmsh.y" +case 232: +#line 1821 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} -case 223: -#line 1769 "Gmsh.y" +case 233: +#line 1825 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} -case 224: -#line 1773 "Gmsh.y" +case 234: +#line 1829 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 225: -#line 1778 "Gmsh.y" +case 235: +#line 1834 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],0.,0.,0.,0.,vol,&extr); ; break;} -case 226: -#line 1783 "Gmsh.y" +case 236: +#line 1839 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} -case 227: -#line 1789 "Gmsh.y" +case 237: +#line 1845 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-12].d,yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,vol,&extr); ; break;} -case 228: -#line 1797 "Gmsh.y" +case 238: +#line 1853 "Gmsh.y" { ; break;} -case 229: -#line 1800 "Gmsh.y" +case 239: +#line 1856 "Gmsh.y" { ; break;} -case 230: -#line 1806 "Gmsh.y" +case 240: +#line 1862 "Gmsh.y" { double d; int j; @@ -4956,8 +5054,8 @@ case 230: List_Delete(yyvsp[-2].l); ; break;} -case 231: -#line 1835 "Gmsh.y" +case 241: +#line 1891 "Gmsh.y" { double d; int j; @@ -4984,14 +5082,14 @@ case 231: List_Delete(yyvsp[-2].l); ; break;} -case 232: -#line 1861 "Gmsh.y" +case 242: +#line 1917 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 233: -#line 1872 "Gmsh.y" +case 243: +#line 1928 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5010,8 +5108,8 @@ case 233: List_Delete(yyvsp[-3].l); ; break;} -case 234: -#line 1890 "Gmsh.y" +case 244: +#line 1946 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5030,8 +5128,8 @@ case 234: List_Delete(yyvsp[-6].l); ; break;} -case 235: -#line 1908 "Gmsh.y" +case 245: +#line 1964 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5050,8 +5148,8 @@ case 235: List_Delete(yyvsp[-6].l); ; break;} -case 236: -#line 1926 "Gmsh.y" +case 246: +#line 1982 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5074,8 +5172,8 @@ case 236: List_Delete(yyvsp[-1].l); ; break;} -case 237: -#line 1948 "Gmsh.y" +case 247: +#line 2004 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5097,8 +5195,8 @@ case 237: List_Delete(yyvsp[-1].l); ; break;} -case 238: -#line 1969 "Gmsh.y" +case 248: +#line 2025 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -5120,8 +5218,8 @@ case 238: List_Delete(yyvsp[-1].l); ; break;} -case 239: -#line 1990 "Gmsh.y" +case 249: +#line 2046 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5136,8 +5234,8 @@ case 239: List_Delete(yyvsp[-3].l); ; break;} -case 240: -#line 2004 "Gmsh.y" +case 250: +#line 2060 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -5152,72 +5250,72 @@ case 240: List_Delete(yyvsp[-1].l); ; break;} -case 241: -#line 2026 "Gmsh.y" +case 251: +#line 2082 "Gmsh.y" { Coherence_PS(); ; break;} -case 242: -#line 2030 "Gmsh.y" +case 252: +#line 2086 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} -case 243: -#line 2041 "Gmsh.y" +case 253: +#line 2097 "Gmsh.y" {yyval.i = 1;; break;} -case 244: -#line 2042 "Gmsh.y" +case 254: +#line 2098 "Gmsh.y" {yyval.i = 0;; break;} -case 245: -#line 2043 "Gmsh.y" +case 255: +#line 2099 "Gmsh.y" {yyval.i = -1;; break;} -case 246: -#line 2044 "Gmsh.y" +case 256: +#line 2100 "Gmsh.y" {yyval.i = -1;; break;} -case 247: -#line 2045 "Gmsh.y" +case 257: +#line 2101 "Gmsh.y" {yyval.i = -1;; break;} -case 248: -#line 2049 "Gmsh.y" +case 258: +#line 2105 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 249: -#line 2050 "Gmsh.y" +case 259: +#line 2106 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} -case 250: -#line 2051 "Gmsh.y" +case 260: +#line 2107 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} -case 251: -#line 2052 "Gmsh.y" +case 261: +#line 2108 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 252: -#line 2053 "Gmsh.y" +case 262: +#line 2109 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} -case 253: -#line 2054 "Gmsh.y" +case 263: +#line 2110 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} -case 254: -#line 2055 "Gmsh.y" +case 264: +#line 2111 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} -case 255: -#line 2056 "Gmsh.y" +case 265: +#line 2112 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} -case 256: -#line 2058 "Gmsh.y" +case 266: +#line 2114 "Gmsh.y" { if(!yyvsp[0].d) vyyerror("Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -5225,236 +5323,236 @@ case 256: yyval.d = yyvsp[-2].d / yyvsp[0].d ; ; break;} -case 257: -#line 2064 "Gmsh.y" +case 267: +#line 2120 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} -case 258: -#line 2065 "Gmsh.y" +case 268: +#line 2121 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} -case 259: -#line 2066 "Gmsh.y" +case 269: +#line 2122 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} -case 260: -#line 2067 "Gmsh.y" +case 270: +#line 2123 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} -case 261: -#line 2068 "Gmsh.y" +case 271: +#line 2124 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} -case 262: -#line 2069 "Gmsh.y" +case 272: +#line 2125 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} -case 263: -#line 2070 "Gmsh.y" +case 273: +#line 2126 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} -case 264: -#line 2071 "Gmsh.y" +case 274: +#line 2127 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} -case 265: -#line 2072 "Gmsh.y" +case 275: +#line 2128 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} -case 266: -#line 2073 "Gmsh.y" +case 276: +#line 2129 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} -case 267: -#line 2074 "Gmsh.y" +case 277: +#line 2130 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} -case 268: -#line 2075 "Gmsh.y" +case 278: +#line 2131 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 269: -#line 2076 "Gmsh.y" +case 279: +#line 2132 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 270: -#line 2077 "Gmsh.y" +case 280: +#line 2133 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 271: -#line 2078 "Gmsh.y" +case 281: +#line 2134 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 272: -#line 2079 "Gmsh.y" +case 282: +#line 2135 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 273: -#line 2080 "Gmsh.y" +case 283: +#line 2136 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 274: -#line 2081 "Gmsh.y" +case 284: +#line 2137 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 275: -#line 2082 "Gmsh.y" +case 285: +#line 2138 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 276: -#line 2083 "Gmsh.y" +case 286: +#line 2139 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 277: -#line 2084 "Gmsh.y" +case 287: +#line 2140 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 278: -#line 2085 "Gmsh.y" +case 288: +#line 2141 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 279: -#line 2086 "Gmsh.y" +case 289: +#line 2142 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 280: -#line 2087 "Gmsh.y" +case 290: +#line 2143 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 281: -#line 2088 "Gmsh.y" +case 291: +#line 2144 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 282: -#line 2089 "Gmsh.y" +case 292: +#line 2145 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 283: -#line 2090 "Gmsh.y" +case 293: +#line 2146 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 284: -#line 2091 "Gmsh.y" +case 294: +#line 2147 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 285: -#line 2092 "Gmsh.y" +case 295: +#line 2148 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 286: -#line 2093 "Gmsh.y" +case 296: +#line 2149 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 287: -#line 2094 "Gmsh.y" +case 297: +#line 2150 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 288: -#line 2095 "Gmsh.y" +case 298: +#line 2151 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} -case 289: -#line 2097 "Gmsh.y" +case 299: +#line 2153 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 290: -#line 2098 "Gmsh.y" +case 300: +#line 2154 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 291: -#line 2099 "Gmsh.y" +case 301: +#line 2155 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 292: -#line 2100 "Gmsh.y" +case 302: +#line 2156 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 293: -#line 2101 "Gmsh.y" +case 303: +#line 2157 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 294: -#line 2102 "Gmsh.y" +case 304: +#line 2158 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 295: -#line 2103 "Gmsh.y" +case 305: +#line 2159 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 296: -#line 2104 "Gmsh.y" +case 306: +#line 2160 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 297: -#line 2105 "Gmsh.y" +case 307: +#line 2161 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 298: -#line 2106 "Gmsh.y" +case 308: +#line 2162 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 299: -#line 2107 "Gmsh.y" +case 309: +#line 2163 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 300: -#line 2108 "Gmsh.y" +case 310: +#line 2164 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 301: -#line 2109 "Gmsh.y" +case 311: +#line 2165 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 302: -#line 2110 "Gmsh.y" +case 312: +#line 2166 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 303: -#line 2111 "Gmsh.y" +case 313: +#line 2167 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 304: -#line 2112 "Gmsh.y" +case 314: +#line 2168 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 305: -#line 2113 "Gmsh.y" +case 315: +#line 2169 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 306: -#line 2114 "Gmsh.y" +case 316: +#line 2170 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 307: -#line 2115 "Gmsh.y" +case 317: +#line 2171 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 308: -#line 2116 "Gmsh.y" +case 318: +#line 2172 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 309: -#line 2117 "Gmsh.y" +case 319: +#line 2173 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} -case 310: -#line 2126 "Gmsh.y" +case 320: +#line 2182 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 311: -#line 2127 "Gmsh.y" +case 321: +#line 2183 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 312: -#line 2128 "Gmsh.y" +case 322: +#line 2184 "Gmsh.y" { yyval.d = ParUtil::Instance()->rank(); ; break;} -case 313: -#line 2129 "Gmsh.y" +case 323: +#line 2185 "Gmsh.y" { yyval.d = ParUtil::Instance()->size(); ; break;} -case 314: -#line 2134 "Gmsh.y" +case 324: +#line 2190 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5465,8 +5563,8 @@ case 314: yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0) ; ; break;} -case 315: -#line 2145 "Gmsh.y" +case 325: +#line 2201 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5483,8 +5581,8 @@ case 315: } ; break;} -case 316: -#line 2162 "Gmsh.y" +case 326: +#line 2218 "Gmsh.y" { TheSymbol.Name = yyvsp[-1].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5495,8 +5593,8 @@ case 316: yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i) ; ; break;} -case 317: -#line 2173 "Gmsh.y" +case 327: +#line 2229 "Gmsh.y" { TheSymbol.Name = yyvsp[-4].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5513,8 +5611,8 @@ case 317: } ; break;} -case 318: -#line 2192 "Gmsh.y" +case 328: +#line 2248 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-2].c); @@ -5530,8 +5628,8 @@ case 318: } ; break;} -case 319: -#line 2208 "Gmsh.y" +case 329: +#line 2264 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c); @@ -5547,8 +5645,8 @@ case 319: } ; break;} -case 320: -#line 2224 "Gmsh.y" +case 330: +#line 2280 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-3].c); @@ -5564,8 +5662,8 @@ case 320: } ; break;} -case 321: -#line 2240 "Gmsh.y" +case 331: +#line 2296 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-6].c); @@ -5581,131 +5679,131 @@ case 321: } ; break;} -case 322: -#line 2258 "Gmsh.y" +case 332: +#line 2314 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)) ; ; break;} -case 323: -#line 2262 "Gmsh.y" +case 333: +#line 2318 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} -case 324: -#line 2266 "Gmsh.y" +case 334: +#line 2322 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} -case 325: -#line 2270 "Gmsh.y" +case 335: +#line 2326 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} -case 326: -#line 2274 "Gmsh.y" +case 336: +#line 2330 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} -case 327: -#line 2280 "Gmsh.y" +case 337: +#line 2336 "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 328: -#line 2284 "Gmsh.y" +case 338: +#line 2340 "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 329: -#line 2288 "Gmsh.y" +case 339: +#line 2344 "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 330: -#line 2292 "Gmsh.y" +case 340: +#line 2348 "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 331: -#line 2299 "Gmsh.y" +case 341: +#line 2355 "Gmsh.y" { ; break;} -case 332: -#line 2302 "Gmsh.y" +case 342: +#line 2358 "Gmsh.y" { ; break;} -case 333: -#line 2308 "Gmsh.y" +case 343: +#line 2364 "Gmsh.y" { ; break;} -case 334: -#line 2311 "Gmsh.y" +case 344: +#line 2367 "Gmsh.y" { ; break;} -case 335: -#line 2317 "Gmsh.y" +case 345: +#line 2373 "Gmsh.y" { ; break;} -case 336: -#line 2320 "Gmsh.y" +case 346: +#line 2376 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} -case 337: -#line 2324 "Gmsh.y" +case 347: +#line 2380 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} -case 338: -#line 2331 "Gmsh.y" +case 348: +#line 2387 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(List_T*)) ; List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} -case 339: -#line 2336 "Gmsh.y" +case 349: +#line 2392 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} -case 340: -#line 2344 "Gmsh.y" +case 350: +#line 2400 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 341: -#line 2349 "Gmsh.y" +case 351: +#line 2405 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} -case 342: -#line 2353 "Gmsh.y" +case 352: +#line 2409 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} -case 343: -#line 2357 "Gmsh.y" +case 353: +#line 2413 "Gmsh.y" { yyval.l=yyvsp[-1].l; for(i=0 ; i<List_Nbr(yyval.l) ; i++){ @@ -5714,16 +5812,16 @@ case 343: } ; break;} -case 344: -#line 2368 "Gmsh.y" +case 354: +#line 2424 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; for(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 345: -#line 2374 "Gmsh.y" +case 355: +#line 2430 "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)){ @@ -5735,8 +5833,8 @@ case 345: List_Add(yyval.l, &d) ; ; break;} -case 346: -#line 2385 "Gmsh.y" +case 356: +#line 2441 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5751,8 +5849,8 @@ case 346: } ; break;} -case 347: -#line 2399 "Gmsh.y" +case 357: +#line 2455 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5769,8 +5867,8 @@ case 347: } ; break;} -case 348: -#line 2415 "Gmsh.y" +case 358: +#line 2471 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5791,8 +5889,8 @@ case 348: List_Delete(yyvsp[-2].l); ; break;} -case 349: -#line 2435 "Gmsh.y" +case 359: +#line 2491 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5815,27 +5913,27 @@ case 349: List_Delete(yyvsp[-2].l); ; break;} -case 350: -#line 2460 "Gmsh.y" +case 360: +#line 2516 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 351: -#line 2465 "Gmsh.y" +case 361: +#line 2521 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} -case 352: -#line 2469 "Gmsh.y" +case 362: +#line 2525 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} -case 353: -#line 2473 "Gmsh.y" +case 363: +#line 2529 "Gmsh.y" { for(i=0 ; i<List_Nbr(yyvsp[0].l) ; i++){ List_Read(yyvsp[0].l, i, &d) ; @@ -5844,27 +5942,27 @@ case 353: List_Delete(yyvsp[0].l); ; break;} -case 354: -#line 2485 "Gmsh.y" +case 364: +#line 2541 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 355: -#line 2489 "Gmsh.y" +case 365: +#line 2545 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 356: -#line 2500 "Gmsh.y" +case 366: +#line 2556 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown color '%s'", yyvsp[0].c); ; break;} -case 357: -#line 2505 "Gmsh.y" +case 367: +#line 2561 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ vyyerror("Unknown color option class '%s'", yyvsp[-4].c); @@ -5881,14 +5979,14 @@ case 357: } ; break;} -case 358: -#line 2524 "Gmsh.y" +case 368: +#line 2580 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} -case 359: -#line 2528 "Gmsh.y" +case 369: +#line 2584 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; ColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -5900,27 +5998,27 @@ case 359: } ; break;} -case 360: -#line 2542 "Gmsh.y" +case 370: +#line 2598 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} -case 361: -#line 2547 "Gmsh.y" +case 371: +#line 2603 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} -case 362: -#line 2554 "Gmsh.y" +case 372: +#line 2610 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} -case 363: -#line 2558 "Gmsh.y" +case 373: +#line 2614 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)) ; strcpy(yyval.c, yyvsp[-3].c) ; @@ -5929,8 +6027,8 @@ case 363: Free(yyvsp[-1].c); ; break;} -case 364: -#line 2566 "Gmsh.y" +case 374: +#line 2622 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)) ; for(i=strlen(yyvsp[-1].c)-1; i>=0; i--){ @@ -5944,14 +6042,14 @@ case 364: Free(yyvsp[-1].c); ; break;} -case 365: -#line 2579 "Gmsh.y" +case 375: +#line 2635 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} -case 366: -#line 2583 "Gmsh.y" +case 376: +#line 2639 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-1].l) ; i++){ if(!i){ @@ -5977,8 +6075,8 @@ case 366: Free(yyvsp[-3].c); ; break;} -case 367: -#line 2608 "Gmsh.y" +case 377: +#line 2664 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))) vyyerror("Unknown string option class '%s'", yyvsp[-3].c); @@ -5993,8 +6091,8 @@ case 367: } ; break;} -case 368: -#line 2622 "Gmsh.y" +case 378: +#line 2678 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))) vyyerror("Unknown string option class '%s'", yyvsp[-6].c); @@ -6231,7 +6329,7 @@ yyerrhandle: } return 1; } -#line 2637 "Gmsh.y" +#line 2693 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h index ce0a323ce87c4e8634cdf84169e3bc0003bf3dab..a6aafce65ecce8abb20faaa66ed3af3dacfe5340 100644 --- a/Parser/Gmsh.tab.cpp.h +++ b/Parser/Gmsh.tab.cpp.h @@ -87,93 +87,95 @@ typedef union { #define tScalarPoint 334 #define tVectorPoint 335 #define tTensorPoint 336 -#define tBSpline 337 -#define tBezier 338 -#define tNurbs 339 -#define tOrder 340 -#define tWith 341 -#define tBounds 342 -#define tKnots 343 -#define tColor 344 -#define tColorTable 345 -#define tFor 346 -#define tIn 347 -#define tEndFor 348 -#define tIf 349 -#define tEndIf 350 -#define tExit 351 -#define tReturn 352 -#define tCall 353 -#define tFunction 354 -#define tMesh 355 -#define tB_SPLINE_SURFACE_WITH_KNOTS 356 -#define tB_SPLINE_CURVE_WITH_KNOTS 357 -#define tCARTESIAN_POINT 358 -#define tTRUE 359 -#define tFALSE 360 -#define tUNSPECIFIED 361 -#define tU 362 -#define tV 363 -#define tEDGE_CURVE 364 -#define tVERTEX_POINT 365 -#define tORIENTED_EDGE 366 -#define tPLANE 367 -#define tFACE_OUTER_BOUND 368 -#define tEDGE_LOOP 369 -#define tADVANCED_FACE 370 -#define tVECTOR 371 -#define tDIRECTION 372 -#define tAXIS2_PLACEMENT_3D 373 -#define tISO 374 -#define tENDISO 375 -#define tENDSEC 376 -#define tDATA 377 -#define tHEADER 378 -#define tFILE_DESCRIPTION 379 -#define tFILE_SCHEMA 380 -#define tFILE_NAME 381 -#define tMANIFOLD_SOLID_BREP 382 -#define tCLOSED_SHELL 383 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 384 -#define tFACE_BOUND 385 -#define tCYLINDRICAL_SURFACE 386 -#define tCONICAL_SURFACE 387 -#define tCIRCLE 388 -#define tTRIMMED_CURVE 389 -#define tGEOMETRIC_SET 390 -#define tCOMPOSITE_CURVE_SEGMENT 391 -#define tCONTINUOUS 392 -#define tCOMPOSITE_CURVE 393 -#define tTOROIDAL_SURFACE 394 -#define tPRODUCT_DEFINITION 395 -#define tPRODUCT_DEFINITION_SHAPE 396 -#define tSHAPE_DEFINITION_REPRESENTATION 397 -#define tELLIPSE 398 -#define tTrimmed 399 -#define tSolid 400 -#define tEndSolid 401 -#define tVertex 402 -#define tFacet 403 -#define tNormal 404 -#define tOuter 405 -#define tLoopSTL 406 -#define tEndLoop 407 -#define tEndFacet 408 -#define tAFFECTPLUS 409 -#define tAFFECTMINUS 410 -#define tAFFECTTIMES 411 -#define tAFFECTDIVIDE 412 -#define tOR 413 -#define tAND 414 -#define tEQUAL 415 -#define tNOTEQUAL 416 -#define tAPPROXEQUAL 417 -#define tLESSOREQUAL 418 -#define tGREATEROREQUAL 419 -#define tCROSSPRODUCT 420 -#define tPLUSPLUS 421 -#define tMINUSMINUS 422 -#define UNARYPREC 423 +#define tText2D 337 +#define tText3D 338 +#define tBSpline 339 +#define tBezier 340 +#define tNurbs 341 +#define tOrder 342 +#define tWith 343 +#define tBounds 344 +#define tKnots 345 +#define tColor 346 +#define tColorTable 347 +#define tFor 348 +#define tIn 349 +#define tEndFor 350 +#define tIf 351 +#define tEndIf 352 +#define tExit 353 +#define tReturn 354 +#define tCall 355 +#define tFunction 356 +#define tMesh 357 +#define tB_SPLINE_SURFACE_WITH_KNOTS 358 +#define tB_SPLINE_CURVE_WITH_KNOTS 359 +#define tCARTESIAN_POINT 360 +#define tTRUE 361 +#define tFALSE 362 +#define tUNSPECIFIED 363 +#define tU 364 +#define tV 365 +#define tEDGE_CURVE 366 +#define tVERTEX_POINT 367 +#define tORIENTED_EDGE 368 +#define tPLANE 369 +#define tFACE_OUTER_BOUND 370 +#define tEDGE_LOOP 371 +#define tADVANCED_FACE 372 +#define tVECTOR 373 +#define tDIRECTION 374 +#define tAXIS2_PLACEMENT_3D 375 +#define tISO 376 +#define tENDISO 377 +#define tENDSEC 378 +#define tDATA 379 +#define tHEADER 380 +#define tFILE_DESCRIPTION 381 +#define tFILE_SCHEMA 382 +#define tFILE_NAME 383 +#define tMANIFOLD_SOLID_BREP 384 +#define tCLOSED_SHELL 385 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 386 +#define tFACE_BOUND 387 +#define tCYLINDRICAL_SURFACE 388 +#define tCONICAL_SURFACE 389 +#define tCIRCLE 390 +#define tTRIMMED_CURVE 391 +#define tGEOMETRIC_SET 392 +#define tCOMPOSITE_CURVE_SEGMENT 393 +#define tCONTINUOUS 394 +#define tCOMPOSITE_CURVE 395 +#define tTOROIDAL_SURFACE 396 +#define tPRODUCT_DEFINITION 397 +#define tPRODUCT_DEFINITION_SHAPE 398 +#define tSHAPE_DEFINITION_REPRESENTATION 399 +#define tELLIPSE 400 +#define tTrimmed 401 +#define tSolid 402 +#define tEndSolid 403 +#define tVertex 404 +#define tFacet 405 +#define tNormal 406 +#define tOuter 407 +#define tLoopSTL 408 +#define tEndLoop 409 +#define tEndFacet 410 +#define tAFFECTPLUS 411 +#define tAFFECTMINUS 412 +#define tAFFECTTIMES 413 +#define tAFFECTDIVIDE 414 +#define tOR 415 +#define tAND 416 +#define tEQUAL 417 +#define tNOTEQUAL 418 +#define tAPPROXEQUAL 419 +#define tLESSOREQUAL 420 +#define tGREATEROREQUAL 421 +#define tCROSSPRODUCT 422 +#define tPLUSPLUS 423 +#define tMINUSMINUS 424 +#define UNARYPREC 425 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 989e0b0168d7967aa3efc60e259d3cd0b6e2688e..cdbddbf9b51f2d2c4281e8595d9abf02cb050de6 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,6 +1,6 @@ %{ -// $Id: Gmsh.y,v 1.104 2001-10-04 14:32:11 geuzaine Exp $ +// $Id: Gmsh.y,v 1.105 2001-10-30 14:27:48 geuzaine Exp $ #include <stdarg.h> #ifndef _NOPLUGIN @@ -96,6 +96,7 @@ void skip_until (char *skip, char *until); %token tScalarTriangle tVectorTriangle tTensorTriangle %token tScalarLine tVectorLine tTensorLine %token tScalarPoint tVectorPoint tTensorPoint +%token tText2D tText3D %token tBSpline tBezier tNurbs tOrder tWith tBounds tKnots %token tColor tColorTable tFor tIn tEndFor tIf tEndIf tExit %token tReturn tCall tFunction tMesh @@ -461,6 +462,8 @@ Views : | Views ScalarTetrahedron | Views VectorTetrahedron | Views TensorTetrahedron + | Views Text2D + | Views Text3D ; ScalarPointValues : @@ -736,6 +739,59 @@ TensorTetrahedron : } ; +Text2DValues : + StringExpr + { + for(i=0; i<(int)strlen($1)+1; i++) List_Add(View->T2C, &$1[i]) ; + Free($1); + } + | Text2DValues ',' StringExpr + { + for(i=0; i<(int)strlen($3)+1; i++) List_Add(View->T2C, &$3[i]) ; + Free($3); + } + ; + +Text2D : + tText2D '(' FExpr ',' FExpr ',' FExpr ')' + { + List_Add(View->T2D, &$3); List_Add(View->T2D, &$5); + List_Add(View->T2D, &$7); + d = List_Nbr(View->T2C); + List_Add(View->T2D, &d); + } + '{' Text2DValues '}' tEND + { + View->NbT2++ ; + } +; + +Text3DValues : + StringExpr + { + for(i=0; i<(int)strlen($1)+1; i++) List_Add(View->T3C, &$1[i]) ; + Free($1); + } + | Text3DValues ',' StringExpr + { + for(i=0; i<(int)strlen($3)+1; i++) List_Add(View->T3C, &$3[i]) ; + Free($3); + } + ; + +Text3D : + tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' + { + List_Add(View->T3D, &$3); List_Add(View->T3D, &$5); + List_Add(View->T3D, &$7); List_Add(View->T3D, &$9); + d = List_Nbr(View->T3C); + List_Add(View->T3D, &d); + } + '{' Text3DValues '}' tEND + { + View->NbT3++ ; + } +; /* ----------------------- diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 816605a1785e982a61c93c4d5ec7ab4c8ca7ee85..d49e306eaeb4dc94881cecfc6bd14a4e5149a6d3 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.119 2001-10-29 08:52:21 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.120 2001-10-30 14:27:48 geuzaine Exp $ */ #define FLEX_SCANNER @@ -283,122 +283,122 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 189 -#define YY_END_OF_BUFFER 190 -static yyconst short int yy_accept[1017] = +#define YY_NUM_RULES 191 +#define YY_END_OF_BUFFER 192 +static yyconst short int yy_accept[1019] = { 0, - 0, 0, 190, 188, 1, 1, 188, 5, 182, 188, - 6, 188, 188, 188, 188, 188, 183, 17, 2, 188, - 12, 188, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 188, 188, 0, 0, 25, 182, 21, 15, 22, - 13, 23, 14, 0, 185, 0, 0, 0, 0, 3, - 4, 16, 19, 184, 183, 0, 27, 24, 28, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 72, 71, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 88, 187, 187, 187, 187, - 187, 187, 187, 187, 124, 127, 118, 121, 187, 187, - 187, 187, 187, 187, 126, 187, 129, 187, 120, 123, - 187, 187, 187, 187, 125, 128, 119, 122, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 20, 26, - 0, 0, 18, 0, 135, 136, 137, 138, 184, 0, - - 0, 186, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 44, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 57, 187, 187, 187, 187, 187, 187, - 68, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 78, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 102, 187, 187, - 187, 187, 187, 187, 187, 187, 113, 187, 187, 187, - - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 0, 0, 0, 185, 0, 0, 184, 187, - 187, 187, 187, 29, 187, 187, 187, 31, 33, 187, - 187, 187, 187, 187, 39, 187, 187, 187, 187, 187, - 187, 52, 187, 42, 187, 187, 187, 187, 187, 43, - 152, 187, 187, 187, 56, 187, 187, 187, 0, 187, - 187, 187, 187, 64, 187, 187, 187, 65, 187, 67, - 187, 187, 187, 187, 0, 187, 187, 146, 187, 187, - 76, 187, 77, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - - 99, 187, 187, 187, 187, 187, 103, 187, 187, 101, - 187, 187, 187, 187, 187, 187, 112, 187, 187, 187, - 187, 187, 187, 117, 187, 187, 187, 187, 177, 9, - 8, 187, 10, 11, 187, 187, 187, 187, 0, 0, - 0, 184, 187, 187, 187, 187, 187, 187, 187, 35, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 49, 187, 187, 187, 187, - 187, 187, 187, 0, 187, 187, 187, 63, 187, 187, - 187, 66, 187, 187, 187, 70, 0, 187, 74, 187, - 187, 79, 187, 187, 187, 187, 187, 85, 187, 86, - - 150, 187, 187, 187, 89, 187, 90, 91, 187, 187, - 187, 187, 187, 98, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 115, 187, 187, 187, 187, - 187, 187, 174, 187, 187, 176, 181, 187, 0, 0, - 187, 187, 187, 187, 30, 32, 34, 187, 187, 187, - 38, 41, 187, 165, 187, 187, 187, 187, 187, 187, - 46, 187, 187, 187, 187, 53, 54, 187, 187, 187, - 187, 0, 158, 187, 187, 62, 187, 187, 187, 187, - 187, 187, 187, 187, 151, 0, 187, 80, 75, 187, - 187, 187, 82, 81, 187, 187, 187, 187, 95, 94, - - 187, 187, 100, 97, 187, 104, 187, 108, 187, 187, - 187, 187, 187, 187, 187, 187, 147, 187, 116, 187, - 187, 187, 7, 175, 173, 0, 0, 187, 187, 187, - 187, 36, 187, 40, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 48, 187, 187, 187, 187, 61, - 0, 187, 187, 59, 187, 187, 187, 187, 187, 187, - 187, 0, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 107, 187, 105, 187, 187, 187, 187, - 187, 114, 187, 187, 178, 187, 0, 0, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - - 187, 187, 187, 187, 187, 187, 187, 0, 58, 60, - 187, 187, 187, 187, 187, 69, 187, 0, 187, 187, - 83, 84, 187, 187, 187, 87, 187, 187, 187, 187, - 106, 187, 187, 187, 187, 187, 179, 180, 0, 0, - 187, 187, 187, 187, 37, 187, 187, 187, 187, 187, - 187, 187, 187, 47, 187, 148, 55, 187, 141, 0, - 187, 187, 187, 154, 187, 187, 0, 73, 187, 187, - 187, 187, 187, 96, 187, 109, 187, 187, 187, 111, - 187, 0, 0, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 51, 187, 50, 140, 0, - - 144, 187, 187, 187, 187, 0, 187, 187, 187, 93, - 187, 187, 187, 187, 187, 187, 0, 0, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 0, 187, 187, 153, 187, 0, 187, 187, 187, - 92, 187, 187, 187, 110, 187, 134, 0, 134, 187, - 187, 187, 187, 187, 187, 187, 159, 187, 187, 187, - 187, 0, 187, 187, 187, 156, 187, 187, 187, 187, - 187, 187, 142, 133, 187, 145, 133, 187, 187, 187, - 187, 187, 187, 187, 187, 0, 187, 187, 167, 187, - 139, 187, 187, 187, 166, 187, 187, 187, 187, 187, - - 187, 187, 187, 45, 0, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 130, 169, 163, 187, 0, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 157, 143, 155, 187, 187, 187, 164, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 149, - 187, 187, 187, 187, 187, 170, 187, 187, 187, 187, - 187, 162, 161, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 168, 187, 187, 187, - 187, 187, 171, 187, 187, 132, 187, 187, 187, 187, - - 187, 187, 131, 187, 187, 187, 187, 187, 187, 187, - 187, 172, 187, 187, 160, 0 + 0, 0, 192, 190, 1, 1, 190, 5, 184, 190, + 6, 190, 190, 190, 190, 190, 185, 17, 2, 190, + 12, 190, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 190, 190, 0, 0, 25, 184, 21, 15, 22, + 13, 23, 14, 0, 187, 0, 0, 0, 0, 3, + 4, 16, 19, 186, 185, 0, 27, 24, 28, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 72, 71, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 88, 189, 189, 189, 189, + 189, 189, 189, 189, 124, 127, 118, 121, 189, 189, + 189, 189, 189, 189, 130, 131, 126, 189, 129, 189, + 120, 123, 189, 189, 189, 189, 125, 128, 119, 122, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 20, 26, 0, 0, 18, 0, 137, 138, 139, 140, + + 186, 0, 0, 188, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 44, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 57, 189, 189, 189, 189, + 189, 189, 68, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 78, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 102, + 189, 189, 189, 189, 189, 189, 189, 189, 113, 189, + + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 0, 0, 0, 187, 0, 0, + 186, 189, 189, 189, 189, 29, 189, 189, 189, 31, + 33, 189, 189, 189, 189, 189, 39, 189, 189, 189, + 189, 189, 189, 52, 189, 42, 189, 189, 189, 189, + 189, 43, 154, 189, 189, 189, 56, 189, 189, 189, + 0, 189, 189, 189, 189, 64, 189, 189, 189, 65, + 189, 67, 189, 189, 189, 189, 0, 189, 189, 148, + 189, 189, 76, 189, 77, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + + 189, 189, 99, 189, 189, 189, 189, 189, 103, 189, + 189, 101, 189, 189, 189, 189, 189, 189, 112, 189, + 189, 189, 189, 189, 189, 117, 189, 189, 189, 189, + 179, 9, 8, 189, 10, 11, 189, 189, 189, 189, + 0, 0, 0, 186, 189, 189, 189, 189, 189, 189, + 189, 35, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 49, 189, 189, + 189, 189, 189, 189, 189, 0, 189, 189, 189, 63, + 189, 189, 189, 66, 189, 189, 189, 70, 0, 189, + 74, 189, 189, 79, 189, 189, 189, 189, 189, 85, + + 189, 86, 152, 189, 189, 189, 89, 189, 90, 91, + 189, 189, 189, 189, 189, 98, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 115, 189, 189, + 189, 189, 189, 189, 176, 189, 189, 178, 183, 189, + 0, 0, 189, 189, 189, 189, 30, 32, 34, 189, + 189, 189, 38, 41, 189, 167, 189, 189, 189, 189, + 189, 189, 46, 189, 189, 189, 189, 53, 54, 189, + 189, 189, 189, 0, 160, 189, 189, 62, 189, 189, + 189, 189, 189, 189, 189, 189, 153, 0, 189, 80, + 75, 189, 189, 189, 82, 81, 189, 189, 189, 189, + + 95, 94, 189, 189, 100, 97, 189, 104, 189, 108, + 189, 189, 189, 189, 189, 189, 189, 189, 149, 189, + 116, 189, 189, 189, 7, 177, 175, 0, 0, 189, + 189, 189, 189, 36, 189, 40, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 48, 189, 189, 189, + 189, 61, 0, 189, 189, 59, 189, 189, 189, 189, + 189, 189, 189, 0, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 107, 189, 105, 189, 189, + 189, 189, 189, 114, 189, 189, 180, 189, 0, 0, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + + 189, 189, 189, 189, 189, 189, 189, 189, 189, 0, + 58, 60, 189, 189, 189, 189, 189, 69, 189, 0, + 189, 189, 83, 84, 189, 189, 189, 87, 189, 189, + 189, 189, 106, 189, 189, 189, 189, 189, 181, 182, + 0, 0, 189, 189, 189, 189, 37, 189, 189, 189, + 189, 189, 189, 189, 189, 47, 189, 150, 55, 189, + 143, 0, 189, 189, 189, 156, 189, 189, 0, 73, + 189, 189, 189, 189, 189, 96, 189, 109, 189, 189, + 189, 111, 189, 0, 0, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 51, 189, 50, + + 142, 0, 146, 189, 189, 189, 189, 0, 189, 189, + 189, 93, 189, 189, 189, 189, 189, 189, 0, 0, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 0, 189, 189, 155, 189, 0, 189, + 189, 189, 92, 189, 189, 189, 110, 189, 136, 0, + 136, 189, 189, 189, 189, 189, 189, 189, 161, 189, + 189, 189, 189, 0, 189, 189, 189, 158, 189, 189, + 189, 189, 189, 189, 144, 135, 189, 147, 135, 189, + 189, 189, 189, 189, 189, 189, 189, 0, 189, 189, + 169, 189, 141, 189, 189, 189, 168, 189, 189, 189, + + 189, 189, 189, 189, 189, 45, 0, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 132, 171, 165, + 189, 0, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 159, 145, 157, 189, 189, 189, + 166, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 151, 189, 189, 189, 189, 189, 172, 189, 189, + 189, 189, 189, 164, 163, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 170, 189, + 189, 189, 189, 189, 173, 189, 189, 134, 189, 189, + + 189, 189, 189, 189, 133, 189, 189, 189, 189, 189, + 189, 189, 189, 174, 189, 189, 162, 0 } ; static yyconst int yy_ec[256] = @@ -445,241 +445,241 @@ static yyconst int yy_meta[77] = 3, 3, 3, 3, 1, 1 } ; -static yyconst short int yy_base[1022] = +static yyconst short int yy_base[1024] = { 0, - 0, 0, 1280, 51, 52, 1281, 57, 54, 70, 75, + 0, 0, 1282, 51, 52, 1283, 57, 54, 70, 75, 55, 67, 80, 81, 113, 95, 132, 73, 79, 89, 111, 119, 125, 133, 179, 140, 181, 189, 135, 184, 204, 83, 127, 222, 141, 208, 220, 238, 249, 293, - 267, 212, 311, 257, 268, 147, 297, 301, 218, 300, - 271, 241, 197, 1241, 1241, 1281, 353, 1281, 1281, 1281, - 1281, 1281, 1281, 1265, 361, 1264, 1263, 188, 1262, 1281, - 1281, 1281, 1281, 366, 381, 390, 1281, 1281, 1281, 0, - 1235, 1228, 1234, 1238, 1206, 1216, 1209, 131, 1202, 1224, - 1190, 1194, 1201, 1221, 1220, 1221, 83, 1223, 160, 1199, - - 1206, 1189, 281, 1212, 1213, 1192, 1191, 1200, 1185, 1218, - 1212, 1219, 1185, 1191, 353, 1217, 1207, 1190, 1177, 1176, - 1172, 1175, 1198, 1211, 1170, 1195, 0, 1164, 1168, 1193, - 1156, 1166, 1165, 206, 1189, 1193, 1157, 1170, 1156, 1189, - 1167, 1195, 1180, 1151, 1143, 0, 119, 301, 77, 1153, - 133, 1146, 1153, 1188, 0, 0, 0, 0, 1149, 208, - 1144, 1143, 1142, 1146, 0, 1166, 0, 1173, 0, 0, - 1142, 232, 1145, 230, 0, 0, 0, 0, 1142, 1133, - 1147, 1147, 1135, 1126, 1130, 1127, 1134, 1127, 1281, 1281, - 1155, 1150, 1281, 408, 1281, 1281, 1281, 1281, 413, 422, - - 428, 433, 1153, 1165, 1147, 1146, 1119, 361, 1123, 1122, - 1117, 1122, 1142, 1122, 1117, 1114, 1135, 1150, 1134, 1135, - 1141, 1140, 1111, 1109, 1109, 1102, 1115, 1112, 1102, 1100, - 1106, 1138, 1133, 1106, 1109, 1087, 1097, 1128, 1123, 280, - 1096, 356, 1085, 0, 1086, 1123, 1122, 1082, 1085, 1094, - 0, 1094, 1109, 1117, 1080, 1131, 1087, 1072, 1111, 1084, - 1081, 1082, 1120, 1070, 1101, 1083, 1074, 1061, 1078, 1100, - 1073, 1089, 1098, 1074, 1056, 1060, 1065, 1058, 1065, 1056, - 1061, 1063, 1052, 1045, 1063, 1058, 1072, 1053, 1051, 1050, - 1039, 347, 1051, 1044, 1066, 1067, 1045, 1039, 1039, 1037, - - 1056, 1055, 1027, 1038, 397, 1040, 1029, 402, 1031, 1037, - 1032, 1021, 1046, 1048, 444, 459, 468, 473, 478, 1044, - 1048, 1045, 1067, 0, 1019, 1023, 1030, 0, 1063, 1028, - 1019, 1041, 1021, 1021, 0, 1045, 1037, 1043, 1032, 1043, - 1031, 0, 998, 0, 1016, 1005, 998, 997, 1002, 0, - 0, 1035, 992, 991, 0, 1000, 1008, 1017, 1023, 1026, - 989, 989, 996, 0, 981, 1000, 999, 0, 981, 0, - 978, 1017, 1016, 975, 1027, 975, 973, 0, 973, 970, - 0, 1023, 0, 1007, 350, 981, 974, 966, 995, 965, - 1002, 986, 967, 969, 972, 967, 956, 957, 954, 955, - - 0, 959, 953, 950, 964, 988, 0, 953, 952, 0, - 963, 946, 961, 956, 977, 972, 0, 940, 945, 949, - 966, 975, 941, 0, 951, 937, 936, 930, 0, 0, - 0, 943, 0, 0, 946, 929, 941, 939, 960, 963, - 483, 488, 958, 963, 960, 938, 919, 923, 922, 0, - 931, 920, 949, 914, 912, 937, 949, 949, 934, 950, - 946, 912, 919, 916, 915, 926, 913, 924, 911, 910, - 911, 287, 921, 920, 934, 345, 893, 0, 905, 482, - 481, 0, 899, 914, 915, 0, 940, 886, 0, 885, - 894, 0, 912, 899, 890, 880, 883, 0, 903, 0, - - 0, 918, 889, 890, 0, 879, 0, 0, 885, 885, - 887, 875, 882, 0, 886, 880, 865, 864, 877, 878, - 861, 901, 899, 410, 872, 0, 885, 878, 869, 870, - 858, 860, 0, 863, 858, 0, 0, 845, 879, 889, - 877, 885, 886, 872, 0, 0, 894, 841, 854, 870, - 0, 0, 874, 0, 856, 872, 868, 862, 841, 832, - 0, 837, 848, 825, 864, 0, 0, 845, 851, 855, - 864, 853, 0, 832, 831, 0, 834, 849, 843, 857, - 860, 857, 819, 841, 0, 863, 825, 0, 0, 843, - 815, 802, 0, 0, 847, 832, 805, 822, 0, 0, - - 804, 812, 0, 0, 842, 0, 813, 0, 812, 812, - 799, 840, 836, 804, 811, 807, 0, 810, 0, 804, - 793, 798, 0, 0, 0, 812, 822, 810, 825, 819, - 815, 0, 786, 0, 820, 823, 805, 803, 795, 811, - 802, 787, 788, 788, 0, 800, 769, 796, 797, 0, - 823, 766, 780, 0, 788, 788, 788, 792, 796, 764, - 793, 810, 771, 795, 762, 766, 792, 769, 751, 756, - 748, 752, 785, 0, 754, 0, 738, 775, 760, 746, - 739, 0, 767, 737, 0, 751, 765, 773, 763, 751, - 770, 774, 731, 747, 758, 763, 765, 751, 765, 727, - - 723, 734, 727, 749, 734, 737, 739, 760, 0, 0, - 54, 84, 88, 106, 108, 0, 153, 214, 167, 222, - 0, 0, 240, 293, 271, 0, 273, 291, 318, 277, - 0, 307, 339, 334, 356, 376, 0, 0, 373, 402, - 410, 484, 423, 430, 0, 484, 414, 443, 431, 438, - 487, 451, 456, 0, 461, 0, 0, 488, 0, 503, - 492, 481, 483, 0, 488, 477, 516, 0, 487, 501, - 502, 479, 469, 0, 501, 0, 493, 492, 468, 0, - 505, 497, 511, 499, 501, 518, 515, 516, 502, 503, - 508, 513, 523, 510, 516, 0, 485, 0, 0, 536, - - 0, 505, 523, 532, 516, 542, 521, 533, 532, 0, - 500, 526, 521, 525, 512, 530, 0, 541, 568, 543, - 556, 556, 548, 545, 546, 554, 558, 551, 566, 547, - 529, 584, 574, 561, 0, 573, 587, 568, 574, 573, - 0, 574, 567, 564, 0, 567, 1281, 0, 0, 571, - 583, 644, 584, 569, 585, 583, 0, 577, 594, 578, - 562, 604, 584, 581, 582, 1281, 593, 598, 590, 586, - 600, 602, 0, 1281, 582, 0, 0, 595, 605, 610, - 598, 592, 611, 595, 587, 629, 598, 610, 0, 620, - 0, 626, 627, 636, 0, 620, 620, 619, 643, 628, - - 643, 644, 633, 0, 658, 638, 638, 628, 636, 641, - 654, 650, 633, 638, 656, 0, 636, 0, 657, 672, - 661, 652, 665, 659, 656, 666, 671, 679, 665, 649, - 658, 676, 1281, 0, 0, 661, 664, 654, 0, 665, - 678, 664, 662, 680, 683, 682, 674, 672, 685, 0, - 683, 683, 686, 689, 679, 672, 694, 674, 675, 683, - 690, 0, 0, 686, 689, 689, 696, 700, 704, 702, - 694, 707, 699, 688, 701, 715, 712, 702, 704, 709, - 702, 706, 705, 707, 706, 712, 0, 722, 723, 724, - 712, 716, 0, 718, 715, 0, 715, 716, 731, 719, - - 737, 725, 0, 721, 722, 733, 742, 729, 726, 732, - 738, 0, 733, 735, 0, 1281, 770, 773, 776, 779, - 782 + 351, 212, 274, 248, 264, 147, 267, 268, 218, 282, + 295, 271, 197, 1243, 1243, 1283, 253, 1283, 1283, 1283, + 1283, 1283, 1283, 1267, 325, 1266, 1265, 188, 1264, 1283, + 1283, 1283, 1283, 355, 388, 397, 1283, 1283, 1283, 0, + 1237, 1230, 1236, 1240, 1208, 1218, 1211, 131, 1204, 1226, + 1192, 1196, 1203, 1223, 1222, 1223, 83, 1225, 160, 1201, + + 1208, 1191, 287, 1214, 1215, 1194, 1193, 1202, 1187, 1220, + 1214, 1221, 1187, 1193, 265, 1219, 1209, 1192, 1179, 1178, + 1174, 1177, 1200, 1213, 1172, 1197, 0, 1166, 1170, 1195, + 1158, 1168, 1167, 226, 1191, 1195, 1159, 1172, 1158, 1191, + 1169, 1197, 1182, 1153, 1145, 0, 119, 292, 77, 1155, + 133, 1148, 1155, 1190, 0, 0, 0, 0, 1151, 196, + 1146, 1145, 1144, 1148, 0, 0, 0, 1168, 0, 1175, + 0, 0, 1144, 302, 1147, 338, 0, 0, 0, 0, + 1144, 1135, 1149, 1149, 1137, 1128, 1132, 1129, 1136, 1129, + 1283, 1283, 1157, 1152, 1283, 408, 1283, 1283, 1283, 1283, + + 413, 422, 381, 429, 1155, 1167, 1149, 1148, 1121, 333, + 1125, 1124, 1119, 1124, 1144, 1124, 1119, 1116, 1137, 1152, + 1136, 1137, 1143, 1142, 1113, 1111, 1111, 1104, 1117, 1114, + 1104, 1102, 1108, 1140, 1135, 1108, 1111, 1089, 1099, 1130, + 1125, 344, 1098, 352, 1087, 0, 1088, 1125, 1124, 1084, + 1087, 1096, 0, 1096, 1111, 1119, 1082, 1133, 1089, 1074, + 1113, 1086, 1083, 1084, 1122, 1072, 1103, 1085, 1076, 1063, + 1080, 1102, 1075, 1091, 1100, 1076, 1058, 1062, 1067, 1060, + 1067, 1058, 1063, 1065, 1054, 1047, 1065, 1060, 1074, 1055, + 1053, 1052, 1041, 395, 1053, 1046, 1068, 1069, 1047, 1041, + + 1041, 1039, 1058, 1057, 1029, 1040, 393, 1042, 1031, 398, + 1033, 1039, 1034, 1023, 1048, 1050, 440, 455, 464, 469, + 474, 1046, 1050, 1047, 1069, 0, 1021, 1025, 1032, 0, + 1065, 1030, 1021, 1043, 1023, 1023, 0, 1047, 1039, 1045, + 1034, 1045, 1033, 0, 1000, 0, 1018, 1007, 1000, 999, + 1004, 0, 0, 1037, 994, 993, 0, 1002, 1010, 1019, + 1025, 1028, 991, 991, 998, 0, 983, 1002, 1001, 0, + 983, 0, 980, 1019, 1018, 977, 1029, 977, 975, 0, + 975, 972, 0, 1025, 0, 1009, 243, 983, 976, 968, + 997, 967, 1004, 988, 969, 971, 974, 969, 958, 959, + + 956, 957, 0, 961, 955, 952, 966, 990, 0, 955, + 954, 0, 965, 948, 963, 958, 979, 974, 0, 942, + 947, 951, 968, 977, 943, 0, 953, 939, 938, 932, + 0, 0, 0, 945, 0, 0, 948, 931, 943, 941, + 962, 965, 479, 484, 960, 965, 962, 940, 921, 925, + 924, 0, 933, 922, 951, 916, 914, 939, 951, 951, + 936, 952, 948, 914, 921, 918, 917, 928, 915, 926, + 913, 912, 913, 330, 923, 922, 936, 320, 895, 0, + 907, 438, 476, 0, 901, 916, 917, 0, 942, 888, + 0, 887, 896, 0, 914, 901, 892, 882, 885, 0, + + 905, 0, 0, 920, 891, 892, 0, 881, 0, 0, + 887, 887, 889, 877, 884, 0, 888, 882, 867, 866, + 879, 880, 863, 903, 901, 406, 874, 0, 887, 880, + 871, 872, 860, 862, 0, 865, 860, 0, 0, 847, + 881, 891, 879, 887, 888, 874, 0, 0, 896, 843, + 856, 872, 0, 0, 876, 0, 858, 874, 870, 864, + 843, 834, 0, 839, 850, 827, 866, 0, 0, 847, + 853, 857, 866, 855, 0, 834, 833, 0, 836, 851, + 845, 859, 862, 859, 821, 843, 0, 865, 827, 0, + 0, 845, 817, 804, 0, 0, 849, 834, 807, 824, + + 0, 0, 806, 814, 0, 0, 844, 0, 815, 0, + 814, 814, 801, 842, 838, 806, 813, 809, 0, 812, + 0, 806, 795, 800, 0, 0, 0, 814, 824, 812, + 827, 821, 817, 0, 788, 0, 822, 825, 807, 805, + 797, 813, 804, 789, 790, 790, 0, 802, 771, 798, + 799, 0, 825, 768, 782, 0, 790, 790, 790, 794, + 798, 766, 795, 812, 773, 797, 764, 768, 794, 771, + 753, 758, 750, 754, 787, 0, 756, 0, 740, 777, + 762, 748, 741, 0, 769, 739, 0, 753, 767, 775, + 765, 753, 772, 776, 733, 749, 760, 765, 767, 753, + + 767, 729, 725, 736, 729, 751, 736, 739, 741, 762, + 0, 0, 54, 84, 88, 106, 108, 0, 153, 214, + 167, 256, 0, 0, 271, 300, 318, 0, 322, 328, + 381, 348, 0, 386, 423, 393, 398, 421, 0, 0, + 434, 472, 462, 481, 475, 482, 0, 483, 462, 484, + 465, 472, 492, 457, 461, 0, 466, 0, 0, 493, + 0, 508, 496, 485, 486, 0, 491, 479, 518, 0, + 489, 503, 504, 481, 471, 0, 503, 0, 495, 494, + 470, 0, 507, 499, 513, 501, 503, 520, 517, 518, + 504, 505, 510, 515, 525, 512, 518, 0, 487, 0, + + 0, 538, 0, 507, 525, 534, 518, 544, 523, 535, + 534, 0, 502, 528, 523, 527, 514, 532, 0, 543, + 570, 545, 558, 558, 550, 547, 548, 556, 560, 553, + 568, 549, 531, 586, 576, 563, 0, 575, 589, 570, + 576, 575, 0, 576, 569, 566, 0, 569, 1283, 0, + 0, 573, 585, 646, 586, 571, 587, 585, 0, 579, + 596, 580, 564, 606, 586, 583, 584, 1283, 595, 600, + 592, 588, 602, 604, 0, 1283, 584, 0, 0, 597, + 607, 612, 600, 594, 613, 597, 589, 631, 600, 612, + 0, 622, 0, 628, 629, 638, 0, 622, 622, 621, + + 645, 630, 645, 646, 635, 0, 660, 640, 640, 630, + 638, 643, 656, 652, 635, 640, 658, 0, 638, 0, + 659, 674, 663, 654, 667, 661, 658, 668, 673, 681, + 667, 651, 660, 678, 1283, 0, 0, 663, 666, 656, + 0, 667, 680, 666, 664, 682, 685, 684, 676, 674, + 687, 0, 685, 685, 688, 691, 681, 674, 696, 676, + 677, 685, 692, 0, 0, 688, 691, 691, 698, 702, + 706, 704, 696, 709, 701, 690, 703, 717, 714, 704, + 706, 711, 704, 708, 707, 709, 708, 714, 0, 724, + 725, 726, 714, 718, 0, 720, 717, 0, 717, 718, + + 733, 721, 739, 727, 0, 723, 724, 735, 744, 731, + 728, 734, 740, 0, 735, 737, 0, 1283, 772, 775, + 778, 781, 784 } ; -static yyconst short int yy_def[1022] = +static yyconst short int yy_def[1024] = { 0, - 1016, 1, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - - 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1016, - 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1016, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1016, 1016, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1016, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1016, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, - 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, - - 1017, 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1018, 1016, 1019, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1016, 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1016, 1020, 1017, 1017, - 1017, 1021, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1016, 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1016, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1016, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 0, 1016, 1016, 1016, 1016, - 1016 + 1018, 1, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + + 1018, 1018, 1018, 1018, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1018, 1018, 1018, 1018, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1018, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1018, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1018, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1018, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1018, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1018, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1018, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1018, 1018, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1018, 1019, 1019, 1019, 1019, 1019, 1018, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1020, 1018, + 1021, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1018, 1019, 1019, 1019, 1019, 1018, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1022, + 1019, 1019, 1019, 1023, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1018, 1019, 1019, 1019, 1018, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1018, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1018, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1018, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1019, 1019, 0, 1018, 1018, + 1018, 1018, 1018 } ; -static yyconst short int yy_nxt[1358] = +static yyconst short int yy_nxt[1360] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 18, 19, @@ -690,149 +690,149 @@ static yyconst short int yy_nxt[1358] = 32, 48, 49, 32, 32, 32, 50, 32, 32, 51, 32, 32, 32, 32, 52, 53, 54, 54, 56, 54, 54, 58, 54, 57, 57, 57, 57, 57, 59, 60, - 761, 62, 54, 55, 55, 54, 55, 55, 54, 55, + 763, 62, 54, 55, 55, 54, 55, 55, 54, 55, 54, 61, 63, 70, 54, 54, 54, 71, 81, 55, - 77, 762, 55, 763, 54, 55, 72, 55, 220, 221, + 77, 764, 55, 765, 54, 55, 72, 55, 222, 223, 54, 55, 55, 55, 64, 83, 65, 65, 65, 65, - 65, 55, 78, 764, 280, 765, 54, 55, 54, 281, + 65, 55, 78, 766, 282, 767, 54, 55, 54, 283, 79, 66, 73, 74, 54, 75, 75, 75, 75, 75, 81, 82, 81, 55, 67, 68, 69, 54, 81, 76, - 81, 55, 123, 104, 135, 81, 81, 83, 276, 83, - 84, 105, 81, 89, 55, 83, 85, 83, 766, 136, - 210, 90, 83, 83, 283, 76, 91, 277, 129, 83, - 86, 87, 88, 106, 137, 92, 182, 107, 211, 197, - - 284, 93, 94, 138, 81, 108, 81, 110, 109, 81, - 95, 124, 116, 96, 81, 111, 97, 112, 190, 223, - 117, 83, 54, 83, 192, 98, 83, 224, 99, 81, - 767, 83, 100, 81, 768, 101, 102, 81, 118, 55, + 81, 55, 123, 104, 135, 81, 81, 83, 278, 83, + 84, 105, 81, 89, 55, 83, 85, 83, 768, 136, + 212, 90, 83, 83, 285, 76, 91, 279, 129, 83, + 86, 87, 88, 106, 137, 92, 184, 107, 213, 199, + + 286, 93, 94, 138, 81, 108, 81, 110, 109, 81, + 95, 124, 116, 96, 81, 111, 97, 112, 192, 225, + 117, 83, 54, 83, 194, 98, 83, 226, 99, 81, + 769, 83, 100, 81, 770, 101, 102, 81, 118, 55, 113, 103, 114, 81, 126, 81, 83, 81, 119, 120, - 83, 121, 115, 130, 83, 301, 125, 122, 127, 140, - 83, 263, 83, 81, 83, 128, 54, 289, 264, 302, - 769, 131, 142, 290, 81, 132, 139, 143, 173, 133, - 83, 298, 81, 55, 134, 141, 186, 144, 770, 299, - 359, 83, 81, 81, 145, 146, 81, 147, 150, 83, - - 148, 165, 151, 149, 166, 167, 168, 169, 170, 83, - 83, 152, 569, 83, 180, 189, 171, 153, 81, 771, - 360, 570, 81, 154, 188, 81, 81, 155, 772, 181, - 773, 156, 172, 157, 158, 83, 81, 228, 174, 83, - 229, 230, 83, 83, 774, 175, 775, 231, 776, 176, - 159, 177, 178, 83, 184, 777, 160, 161, 278, 183, - 162, 163, 187, 185, 778, 164, 57, 57, 57, 57, - 57, 279, 411, 179, 65, 65, 65, 65, 65, 199, - 199, 199, 199, 199, 362, 412, 325, 363, 194, 494, - 495, 779, 74, 200, 75, 75, 75, 75, 75, 201, - - 201, 326, 327, 202, 202, 202, 202, 202, 76, 780, - 243, 574, 575, 781, 194, 782, 244, 315, 315, 200, - 245, 316, 316, 316, 316, 316, 199, 199, 199, 199, - 199, 318, 318, 783, 76, 319, 319, 319, 319, 319, - 317, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 425, 784, 430, 787, 788, 426, 316, 316, 316, - 316, 316, 791, 427, 614, 431, 317, 432, 433, 615, - 792, 434, 316, 316, 316, 316, 316, 441, 441, 793, - 794, 442, 442, 442, 442, 442, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 442, 442, 442, 442, - - 442, 442, 442, 442, 442, 442, 578, 580, 785, 789, - 795, 796, 786, 797, 798, 799, 800, 581, 801, 579, - 802, 582, 803, 804, 790, 805, 806, 807, 808, 809, + 83, 121, 115, 130, 83, 291, 125, 122, 127, 140, + 83, 292, 83, 81, 83, 128, 57, 57, 57, 57, + 57, 131, 142, 81, 81, 132, 139, 143, 175, 133, + 83, 265, 496, 497, 134, 141, 188, 144, 266, 81, + 83, 83, 81, 81, 145, 146, 54, 147, 150, 81, + + 148, 176, 151, 149, 771, 182, 83, 81, 177, 83, + 83, 152, 178, 55, 179, 180, 83, 153, 81, 772, + 81, 186, 245, 154, 83, 183, 773, 155, 246, 185, + 187, 156, 247, 157, 158, 83, 181, 83, 65, 65, + 65, 65, 65, 230, 189, 191, 231, 232, 190, 280, + 159, 300, 196, 233, 361, 571, 160, 161, 327, 301, + 162, 163, 281, 303, 572, 164, 165, 166, 201, 201, + 201, 201, 201, 328, 329, 774, 81, 304, 196, 775, + 364, 776, 202, 365, 362, 167, 576, 577, 168, 169, + 170, 171, 172, 83, 204, 204, 204, 204, 204, 74, + + 173, 75, 75, 75, 75, 75, 203, 203, 202, 777, + 204, 204, 204, 204, 204, 76, 174, 317, 317, 778, + 413, 318, 318, 318, 318, 318, 201, 201, 201, 201, + 201, 320, 320, 414, 779, 321, 321, 321, 321, 321, + 319, 76, 204, 204, 204, 204, 204, 427, 780, 432, + 781, 782, 428, 318, 318, 318, 318, 318, 783, 429, + 616, 433, 580, 434, 435, 617, 319, 436, 318, 318, + 318, 318, 318, 443, 443, 581, 784, 444, 444, 444, + 444, 444, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 444, 444, 444, 444, 444, 444, 444, 444, + + 444, 444, 582, 785, 786, 787, 789, 790, 791, 788, + 793, 794, 583, 795, 796, 797, 584, 798, 799, 800, + 801, 802, 803, 792, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, - 840, 841, 842, 843, 844, 845, 846, 848, 847, 847, - 850, 847, 847, 847, 847, 847, 847, 847, 847, 847, - 847, 851, 852, 853, 854, 855, 847, 847, 847, 847, - 847, 856, 857, 858, 859, 860, 861, 862, 863, 864, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 850, + 849, 849, 852, 849, 849, 849, 849, 849, 849, 849, + 849, 849, 849, 853, 854, 855, 856, 857, 849, 849, + 849, 849, 849, 858, 859, 860, 861, 862, 863, 864, - 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, - 876, 878, 879, 880, 881, 847, 882, 883, 884, 885, + 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, + 875, 877, 878, 880, 881, 882, 883, 849, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, - 906, 907, 847, 847, 874, 874, 908, 874, 874, 874, - 874, 874, 874, 874, 874, 874, 874, 909, 910, 911, - 912, 913, 874, 874, 874, 874, 874, 914, 915, 916, + 906, 907, 908, 909, 849, 849, 876, 876, 910, 876, + 876, 876, 876, 876, 876, 876, 876, 876, 876, 911, + 912, 913, 914, 915, 876, 876, 876, 876, 876, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, - 937, 874, 938, 939, 940, 941, 942, 943, 944, 945, + 937, 938, 939, 876, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 874, 874, - 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 876, 876, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, - 1014, 1015, 80, 847, 760, 847, 849, 759, 849, 874, - 758, 874, 877, 757, 877, 756, 755, 754, 753, 752, - 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, - - 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, - 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, - 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, - 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, - 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, - 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, - 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, - 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, - 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, - 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, - - 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, - 621, 620, 619, 618, 617, 616, 613, 612, 611, 610, - 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, - 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, - 589, 588, 587, 586, 585, 584, 583, 577, 576, 573, - 572, 571, 568, 567, 566, 565, 564, 563, 562, 561, - 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, - 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, - 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, - - 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, - 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, - 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, - 500, 499, 498, 497, 496, 493, 492, 491, 490, 489, - 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, - 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, - 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, - 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, - 448, 447, 446, 445, 444, 443, 440, 439, 438, 437, - 436, 435, 429, 428, 424, 423, 422, 421, 420, 419, - - 418, 417, 416, 415, 414, 413, 410, 409, 408, 407, - 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, - 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, - 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, - 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, - 366, 365, 364, 361, 358, 357, 356, 355, 354, 353, - 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, - 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, - 332, 331, 330, 329, 328, 324, 323, 322, 321, 320, - 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, - - 304, 303, 300, 297, 296, 295, 294, 293, 292, 291, - 288, 287, 286, 285, 282, 275, 274, 273, 272, 271, - 270, 269, 268, 267, 266, 265, 262, 261, 260, 259, - 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, - 248, 247, 246, 242, 241, 240, 239, 238, 237, 236, - 235, 234, 233, 232, 227, 226, 225, 222, 219, 218, - 217, 216, 215, 214, 213, 212, 209, 208, 207, 206, - 205, 204, 203, 198, 196, 195, 193, 192, 191, 1016, - 3, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016 + 1014, 1015, 1016, 1017, 80, 849, 762, 849, 851, 761, + 851, 876, 760, 876, 879, 759, 879, 758, 757, 756, + 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, + + 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, + 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, + 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, + 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, + 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, + 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, + 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, + 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, + 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, + 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, + + 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, + 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, + 625, 624, 623, 622, 621, 620, 619, 618, 615, 614, + 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, + 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, + 593, 592, 591, 590, 589, 588, 587, 586, 585, 579, + 578, 575, 574, 573, 570, 569, 568, 567, 566, 565, + 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, + 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, + 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, + + 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, + 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, + 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, + 504, 503, 502, 501, 500, 499, 498, 495, 494, 493, + 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, + 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, + 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, + 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, + 452, 451, 450, 449, 448, 447, 446, 445, 442, 441, + 440, 439, 438, 437, 431, 430, 426, 425, 424, 423, + + 422, 421, 420, 419, 418, 417, 416, 415, 412, 411, + 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, + 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, + 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, + 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, + 370, 369, 368, 367, 366, 363, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, + 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, + 336, 335, 334, 333, 332, 331, 330, 326, 325, 324, + 323, 322, 316, 315, 314, 313, 312, 311, 310, 309, + + 308, 307, 306, 305, 302, 299, 298, 297, 296, 295, + 294, 293, 290, 289, 288, 287, 284, 277, 276, 275, + 274, 273, 272, 271, 270, 269, 268, 267, 264, 263, + 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, + 252, 251, 250, 249, 248, 244, 243, 242, 241, 240, + 239, 238, 237, 236, 235, 234, 229, 228, 227, 224, + 221, 220, 219, 218, 217, 216, 215, 214, 211, 210, + 209, 208, 207, 206, 205, 200, 198, 197, 195, 194, + 193, 1018, 3, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018 } ; -static yyconst short int yy_chk[1358] = +static yyconst short int yy_chk[1360] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -843,146 +843,146 @@ static yyconst short int yy_chk[1358] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 7, 8, 11, 10, 7, 9, 9, 9, 9, 9, 12, 13, - 711, 14, 12, 4, 5, 9, 8, 11, 18, 7, + 713, 14, 12, 4, 5, 9, 8, 11, 18, 7, 10, 13, 14, 16, 19, 13, 14, 16, 32, 12, - 20, 712, 9, 713, 20, 18, 16, 10, 97, 97, + 20, 714, 9, 715, 20, 18, 16, 10, 97, 97, 16, 19, 13, 14, 15, 32, 15, 15, 15, 15, - 15, 20, 21, 714, 149, 715, 21, 16, 15, 149, + 15, 20, 21, 716, 149, 717, 21, 16, 15, 149, 22, 15, 16, 17, 22, 17, 17, 17, 17, 17, 23, 23, 33, 21, 15, 15, 15, 17, 24, 17, 29, 22, 29, 26, 35, 26, 35, 23, 147, 33, - 23, 26, 46, 24, 17, 24, 23, 29, 717, 35, + 23, 26, 46, 24, 17, 24, 23, 29, 719, 35, 88, 24, 26, 35, 151, 17, 24, 147, 33, 46, 23, 23, 23, 26, 35, 24, 46, 26, 88, 68, 151, 24, 25, 35, 25, 26, 27, 27, 26, 30, 25, 30, 28, 25, 28, 27, 25, 27, 53, 99, 28, 25, 53, 27, 68, 25, 30, 99, 25, 31, - 718, 28, 25, 36, 719, 25, 25, 42, 28, 53, + 720, 28, 25, 36, 721, 25, 25, 42, 28, 53, 27, 25, 27, 49, 31, 37, 31, 34, 28, 28, - 36, 28, 27, 34, 42, 174, 30, 28, 31, 37, - 49, 134, 37, 38, 34, 31, 52, 160, 134, 174, - 720, 34, 38, 160, 39, 34, 36, 38, 42, 34, - 38, 172, 44, 52, 34, 37, 49, 38, 723, 172, - 240, 39, 41, 45, 38, 38, 51, 38, 39, 44, - - 38, 41, 39, 38, 41, 41, 41, 41, 41, 41, - 45, 39, 472, 51, 44, 52, 41, 39, 40, 724, - 240, 472, 47, 40, 51, 50, 48, 40, 725, 45, - 727, 40, 41, 40, 40, 40, 43, 103, 43, 47, - 103, 103, 50, 48, 728, 43, 729, 103, 730, 43, - 40, 43, 43, 43, 48, 732, 40, 40, 148, 47, - 40, 40, 50, 48, 733, 40, 57, 57, 57, 57, - 57, 148, 292, 43, 65, 65, 65, 65, 65, 74, - 74, 74, 74, 74, 242, 292, 208, 242, 65, 385, - 385, 734, 75, 74, 75, 75, 75, 75, 75, 76, - - 76, 208, 208, 76, 76, 76, 76, 76, 75, 735, - 115, 476, 476, 736, 65, 739, 115, 194, 194, 74, - 115, 194, 194, 194, 194, 194, 199, 199, 199, 199, - 199, 200, 200, 740, 75, 200, 200, 200, 200, 200, - 199, 201, 201, 201, 201, 201, 202, 202, 202, 202, - 202, 305, 741, 308, 743, 744, 305, 315, 315, 315, - 315, 315, 747, 305, 524, 308, 199, 308, 308, 524, - 748, 308, 316, 316, 316, 316, 316, 317, 317, 749, - 750, 317, 317, 317, 317, 317, 318, 318, 318, 318, - 318, 319, 319, 319, 319, 319, 441, 441, 441, 441, - - 441, 442, 442, 442, 442, 442, 480, 481, 742, 746, - 751, 752, 742, 753, 755, 758, 760, 481, 761, 480, - 762, 481, 763, 765, 746, 766, 767, 769, 770, 771, - 772, 773, 775, 777, 778, 779, 781, 782, 783, 784, + 36, 28, 27, 34, 42, 160, 30, 28, 31, 37, + 49, 160, 37, 38, 34, 31, 57, 57, 57, 57, + 57, 34, 38, 44, 39, 34, 36, 38, 42, 34, + 38, 134, 387, 387, 34, 37, 49, 38, 134, 45, + 44, 39, 47, 48, 38, 38, 52, 38, 39, 43, + + 38, 43, 39, 38, 722, 44, 45, 50, 43, 47, + 48, 39, 43, 52, 43, 43, 43, 39, 40, 725, + 51, 48, 115, 40, 50, 45, 726, 40, 115, 47, + 48, 40, 115, 40, 40, 40, 43, 51, 65, 65, + 65, 65, 65, 103, 50, 52, 103, 103, 51, 148, + 40, 174, 65, 103, 242, 474, 40, 40, 210, 174, + 40, 40, 148, 176, 474, 40, 41, 41, 74, 74, + 74, 74, 74, 210, 210, 727, 41, 176, 65, 729, + 244, 730, 74, 244, 242, 41, 478, 478, 41, 41, + 41, 41, 41, 41, 203, 203, 203, 203, 203, 75, + + 41, 75, 75, 75, 75, 75, 76, 76, 74, 731, + 76, 76, 76, 76, 76, 75, 41, 196, 196, 732, + 294, 196, 196, 196, 196, 196, 201, 201, 201, 201, + 201, 202, 202, 294, 734, 202, 202, 202, 202, 202, + 201, 75, 204, 204, 204, 204, 204, 307, 735, 310, + 736, 737, 307, 317, 317, 317, 317, 317, 738, 307, + 526, 310, 482, 310, 310, 526, 201, 310, 318, 318, + 318, 318, 318, 319, 319, 482, 741, 319, 319, 319, + 319, 319, 320, 320, 320, 320, 320, 321, 321, 321, + 321, 321, 443, 443, 443, 443, 443, 444, 444, 444, + + 444, 444, 483, 742, 743, 744, 745, 746, 748, 744, + 749, 750, 483, 751, 752, 753, 483, 754, 755, 757, + 760, 762, 763, 748, 764, 765, 767, 768, 769, 771, + 772, 773, 774, 775, 777, 779, 780, 781, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, - 795, 797, 800, 802, 803, 804, 805, 806, 807, 808, - 809, 811, 812, 813, 814, 815, 816, 818, 819, 819, - 820, 819, 819, 819, 819, 819, 819, 819, 819, 819, - 819, 821, 822, 823, 824, 825, 819, 819, 819, 819, - 819, 826, 827, 828, 829, 830, 831, 832, 833, 834, - - 836, 837, 838, 839, 840, 842, 843, 844, 846, 850, - 851, 853, 854, 855, 856, 819, 858, 859, 860, 861, - 862, 863, 864, 865, 867, 868, 869, 870, 871, 872, - 875, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 819, 819, 852, 852, 890, 852, 852, 852, - 852, 852, 852, 852, 852, 852, 852, 892, 893, 894, - 896, 897, 852, 852, 852, 852, 852, 898, 899, 900, - 901, 902, 903, 905, 906, 907, 908, 909, 910, 911, - 912, 913, 914, 915, 917, 919, 920, 921, 922, 923, - 924, 852, 925, 926, 927, 928, 929, 930, 931, 932, - - 936, 937, 938, 940, 941, 942, 943, 944, 945, 946, - 947, 948, 949, 951, 952, 953, 954, 955, 852, 852, - 956, 957, 958, 959, 960, 961, 964, 965, 966, 967, + 795, 796, 797, 799, 802, 804, 805, 806, 807, 808, + 809, 810, 811, 813, 814, 815, 816, 817, 818, 820, + 821, 821, 822, 821, 821, 821, 821, 821, 821, 821, + 821, 821, 821, 823, 824, 825, 826, 827, 821, 821, + 821, 821, 821, 828, 829, 830, 831, 832, 833, 834, + + 835, 836, 838, 839, 840, 841, 842, 844, 845, 846, + 848, 852, 853, 855, 856, 857, 858, 821, 860, 861, + 862, 863, 864, 865, 866, 867, 869, 870, 871, 872, + 873, 874, 877, 880, 881, 882, 883, 884, 885, 886, + 887, 888, 889, 890, 821, 821, 854, 854, 892, 854, + 854, 854, 854, 854, 854, 854, 854, 854, 854, 894, + 895, 896, 898, 899, 854, 854, 854, 854, 854, 900, + 901, 902, 903, 904, 905, 907, 908, 909, 910, 911, + 912, 913, 914, 915, 916, 917, 919, 921, 922, 923, + 924, 925, 926, 854, 927, 928, 929, 930, 931, 932, + + 933, 934, 938, 939, 940, 942, 943, 944, 945, 946, + 947, 948, 949, 950, 951, 953, 954, 955, 956, 957, + 854, 854, 958, 959, 960, 961, 962, 963, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 980, 981, 982, 983, 984, 985, 986, 988, - 989, 990, 991, 992, 994, 995, 997, 998, 999, 1000, - 1001, 1002, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, - 1013, 1014, 1017, 1018, 708, 1018, 1019, 707, 1019, 1020, - 706, 1020, 1021, 705, 1021, 704, 703, 702, 701, 700, - 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, - - 689, 688, 687, 686, 684, 683, 681, 680, 679, 678, - 677, 675, 673, 672, 671, 670, 669, 668, 667, 666, - 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, - 655, 653, 652, 651, 649, 648, 647, 646, 644, 643, - 642, 641, 640, 639, 638, 637, 636, 635, 633, 631, - 630, 629, 628, 627, 626, 622, 621, 620, 618, 616, - 615, 614, 613, 612, 611, 610, 609, 607, 605, 602, - 601, 598, 597, 596, 595, 592, 591, 590, 587, 586, - 584, 583, 582, 581, 580, 579, 578, 577, 575, 574, - 572, 571, 570, 569, 568, 565, 564, 563, 562, 560, - - 559, 558, 557, 556, 555, 553, 550, 549, 548, 547, - 544, 543, 542, 541, 540, 539, 538, 535, 534, 532, - 531, 530, 529, 528, 527, 525, 523, 522, 521, 520, - 519, 518, 517, 516, 515, 513, 512, 511, 510, 509, - 506, 504, 503, 502, 499, 497, 496, 495, 494, 493, - 491, 490, 488, 487, 485, 484, 483, 479, 477, 475, - 474, 473, 471, 470, 469, 468, 467, 466, 465, 464, - 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, - 453, 452, 451, 449, 448, 447, 446, 445, 444, 443, - 440, 439, 438, 437, 436, 435, 432, 428, 427, 426, - - 425, 423, 422, 421, 420, 419, 418, 416, 415, 414, - 413, 412, 411, 409, 408, 406, 405, 404, 403, 402, - 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, - 390, 389, 388, 387, 386, 384, 382, 380, 379, 377, - 376, 375, 374, 373, 372, 371, 369, 367, 366, 365, - 363, 362, 361, 360, 359, 358, 357, 356, 354, 353, - 352, 349, 348, 347, 346, 345, 343, 341, 340, 339, - 338, 337, 336, 334, 333, 332, 331, 330, 329, 327, - 326, 325, 323, 322, 321, 320, 314, 313, 312, 311, - 310, 309, 307, 306, 304, 303, 302, 301, 300, 299, - - 298, 297, 296, 295, 294, 293, 291, 290, 289, 288, - 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, - 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, - 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, - 257, 256, 255, 254, 253, 252, 250, 249, 248, 247, - 246, 245, 243, 241, 239, 238, 237, 236, 235, 234, - 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, - 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, - 213, 212, 211, 210, 209, 207, 206, 205, 204, 203, - 192, 191, 188, 187, 186, 185, 184, 183, 182, 181, - - 180, 179, 173, 171, 168, 166, 164, 163, 162, 161, - 159, 154, 153, 152, 150, 145, 144, 143, 142, 141, - 140, 139, 138, 137, 136, 135, 133, 132, 131, 130, - 129, 128, 126, 125, 124, 123, 122, 121, 120, 119, - 118, 117, 116, 114, 113, 112, 111, 110, 109, 108, - 107, 106, 105, 104, 102, 101, 100, 98, 96, 95, - 94, 93, 92, 91, 90, 89, 87, 86, 85, 84, - 83, 82, 81, 69, 67, 66, 64, 55, 54, 3, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016 + 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, + 988, 990, 991, 992, 993, 994, 996, 997, 999, 1000, + 1001, 1002, 1003, 1004, 1006, 1007, 1008, 1009, 1010, 1011, + 1012, 1013, 1015, 1016, 1019, 1020, 710, 1020, 1021, 709, + 1021, 1022, 708, 1022, 1023, 707, 1023, 706, 705, 704, + 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, + + 693, 692, 691, 690, 689, 688, 686, 685, 683, 682, + 681, 680, 679, 677, 675, 674, 673, 672, 671, 670, + 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, + 659, 658, 657, 655, 654, 653, 651, 650, 649, 648, + 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, + 635, 633, 632, 631, 630, 629, 628, 624, 623, 622, + 620, 618, 617, 616, 615, 614, 613, 612, 611, 609, + 607, 604, 603, 600, 599, 598, 597, 594, 593, 592, + 589, 588, 586, 585, 584, 583, 582, 581, 580, 579, + 577, 576, 574, 573, 572, 571, 570, 567, 566, 565, + + 564, 562, 561, 560, 559, 558, 557, 555, 552, 551, + 550, 549, 546, 545, 544, 543, 542, 541, 540, 537, + 536, 534, 533, 532, 531, 530, 529, 527, 525, 524, + 523, 522, 521, 520, 519, 518, 517, 515, 514, 513, + 512, 511, 508, 506, 505, 504, 501, 499, 498, 497, + 496, 495, 493, 492, 490, 489, 487, 486, 485, 481, + 479, 477, 476, 475, 473, 472, 471, 470, 469, 468, + 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, + 457, 456, 455, 454, 453, 451, 450, 449, 448, 447, + 446, 445, 442, 441, 440, 439, 438, 437, 434, 430, + + 429, 428, 427, 425, 424, 423, 422, 421, 420, 418, + 417, 416, 415, 414, 413, 411, 410, 408, 407, 406, + 405, 404, 402, 401, 400, 399, 398, 397, 396, 395, + 394, 393, 392, 391, 390, 389, 388, 386, 384, 382, + 381, 379, 378, 377, 376, 375, 374, 373, 371, 369, + 368, 367, 365, 364, 363, 362, 361, 360, 359, 358, + 356, 355, 354, 351, 350, 349, 348, 347, 345, 343, + 342, 341, 340, 339, 338, 336, 335, 334, 333, 332, + 331, 329, 328, 327, 325, 324, 323, 322, 316, 315, + 314, 313, 312, 311, 309, 308, 306, 305, 304, 303, + + 302, 301, 300, 299, 298, 297, 296, 295, 293, 292, + 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, + 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, + 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, + 261, 260, 259, 258, 257, 256, 255, 254, 252, 251, + 250, 249, 248, 247, 245, 243, 241, 240, 239, 238, + 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, + 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, + 217, 216, 215, 214, 213, 212, 211, 209, 208, 207, + 206, 205, 194, 193, 190, 189, 188, 187, 186, 185, + + 184, 183, 182, 181, 175, 173, 170, 168, 164, 163, + 162, 161, 159, 154, 153, 152, 150, 145, 144, 143, + 142, 141, 140, 139, 138, 137, 136, 135, 133, 132, + 131, 130, 129, 128, 126, 125, 124, 123, 122, 121, + 120, 119, 118, 117, 116, 114, 113, 112, 111, 110, + 109, 108, 107, 106, 105, 104, 102, 101, 100, 98, + 96, 95, 94, 93, 92, 91, 90, 89, 87, 86, + 85, 84, 83, 82, 81, 69, 67, 66, 64, 55, + 54, 3, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018 } ; static yy_state_type yy_last_accepting_state; @@ -1000,7 +1000,7 @@ char *yytext; #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.119 2001-10-29 08:52:21 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.120 2001-10-30 14:27:48 geuzaine Exp $ #include <stdio.h> #include <stdlib.h> @@ -1248,13 +1248,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1017 ) + if ( yy_current_state >= 1019 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1281 ); + while ( yy_base[yy_current_state] != 1283 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1927,296 +1927,306 @@ return tTensorPoint; YY_BREAK case 130: YY_RULE_SETUP -#line 217 "Gmsh.l" -return tCARTESIAN_POINT; +#line 215 "Gmsh.l" +return tText2D; YY_BREAK case 131: YY_RULE_SETUP -#line 218 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +#line 216 "Gmsh.l" +return tText3D; YY_BREAK case 132: YY_RULE_SETUP #line 219 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +return tCARTESIAN_POINT; YY_BREAK case 133: YY_RULE_SETUP #line 220 "Gmsh.l" -return tUNSPECIFIED; +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 134: YY_RULE_SETUP #line 221 "Gmsh.l" -return tCONTINUOUS; +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 135: YY_RULE_SETUP #line 222 "Gmsh.l" -return tFALSE; +return tUNSPECIFIED; YY_BREAK case 136: YY_RULE_SETUP #line 223 "Gmsh.l" -return tTRUE; +return tCONTINUOUS; YY_BREAK case 137: YY_RULE_SETUP #line 224 "Gmsh.l" -return tU; +return tFALSE; YY_BREAK case 138: YY_RULE_SETUP #line 225 "Gmsh.l" -return tV; +return tTRUE; YY_BREAK case 139: YY_RULE_SETUP #line 226 "Gmsh.l" -return tORIENTED_EDGE; +return tU; YY_BREAK case 140: YY_RULE_SETUP #line 227 "Gmsh.l" -return tEDGE_CURVE; +return tV; YY_BREAK case 141: YY_RULE_SETUP #line 228 "Gmsh.l" -return tEDGE_LOOP; +return tORIENTED_EDGE; YY_BREAK case 142: YY_RULE_SETUP #line 229 "Gmsh.l" -return tVERTEX_POINT; +return tEDGE_CURVE; YY_BREAK case 143: YY_RULE_SETUP #line 230 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tEDGE_LOOP; YY_BREAK case 144: YY_RULE_SETUP #line 231 "Gmsh.l" -return tFACE_BOUND; +return tVERTEX_POINT; YY_BREAK case 145: YY_RULE_SETUP #line 232 "Gmsh.l" -return tADVANCED_FACE; +return tFACE_OUTER_BOUND; YY_BREAK case 146: YY_RULE_SETUP #line 233 "Gmsh.l" -return tLine; +return tFACE_BOUND; YY_BREAK case 147: YY_RULE_SETUP #line 234 "Gmsh.l" -return tVECTOR; +return tADVANCED_FACE; YY_BREAK case 148: YY_RULE_SETUP #line 235 "Gmsh.l" -return tDIRECTION; +return tLine; YY_BREAK case 149: YY_RULE_SETUP #line 236 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tVECTOR; YY_BREAK case 150: YY_RULE_SETUP #line 237 "Gmsh.l" -return tPLANE; +return tDIRECTION; YY_BREAK case 151: YY_RULE_SETUP #line 238 "Gmsh.l" -return tHEADER; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 152: YY_RULE_SETUP #line 239 "Gmsh.l" -return tDATA; +return tPLANE; YY_BREAK case 153: YY_RULE_SETUP #line 240 "Gmsh.l" -return tFILE_SCHEMA; +return tHEADER; YY_BREAK case 154: YY_RULE_SETUP #line 241 "Gmsh.l" -return tFILE_NAME; +return tDATA; YY_BREAK case 155: YY_RULE_SETUP #line 242 "Gmsh.l" -return tFILE_DESCRIPTION; +return tFILE_SCHEMA; YY_BREAK case 156: YY_RULE_SETUP #line 243 "Gmsh.l" -return tISO; +return tFILE_NAME; YY_BREAK case 157: YY_RULE_SETUP #line 244 "Gmsh.l" -return tENDISO; +return tFILE_DESCRIPTION; YY_BREAK case 158: YY_RULE_SETUP #line 245 "Gmsh.l" -return tENDSEC; +return tISO; YY_BREAK case 159: YY_RULE_SETUP #line 246 "Gmsh.l" -return tCLOSED_SHELL; +return tENDISO; YY_BREAK case 160: YY_RULE_SETUP #line 247 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tENDSEC; YY_BREAK case 161: YY_RULE_SETUP #line 248 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tCLOSED_SHELL; YY_BREAK case 162: YY_RULE_SETUP #line 249 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 163: YY_RULE_SETUP #line 250 "Gmsh.l" -return tCONICAL_SURFACE; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 164: YY_RULE_SETUP #line 251 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tCYLINDRICAL_SURFACE; YY_BREAK case 165: YY_RULE_SETUP #line 252 "Gmsh.l" -return tCIRCLE; +return tCONICAL_SURFACE; YY_BREAK case 166: YY_RULE_SETUP #line 253 "Gmsh.l" -return tTRIMMED_CURVE; +return tTOROIDAL_SURFACE; YY_BREAK case 167: YY_RULE_SETUP #line 254 "Gmsh.l" -return tGEOMETRIC_SET; +return tCIRCLE; YY_BREAK case 168: YY_RULE_SETUP #line 255 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tTRIMMED_CURVE; YY_BREAK case 169: YY_RULE_SETUP #line 256 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tGEOMETRIC_SET; YY_BREAK case 170: YY_RULE_SETUP #line 257 "Gmsh.l" -return tPRODUCT_DEFINITION; +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 171: YY_RULE_SETUP #line 258 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +return tCOMPOSITE_CURVE; YY_BREAK case 172: YY_RULE_SETUP #line 259 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +return tPRODUCT_DEFINITION; YY_BREAK case 173: YY_RULE_SETUP -#line 261 "Gmsh.l" -return tVertex; +#line 260 "Gmsh.l" +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 174: YY_RULE_SETUP -#line 262 "Gmsh.l" -return tFacet; +#line 261 "Gmsh.l" +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 175: YY_RULE_SETUP #line 263 "Gmsh.l" -return tNormal; +return tVertex; YY_BREAK case 176: YY_RULE_SETUP #line 264 "Gmsh.l" -return tOuter; +return tFacet; YY_BREAK case 177: YY_RULE_SETUP #line 265 "Gmsh.l" -return tLoopSTL; +return tNormal; YY_BREAK case 178: YY_RULE_SETUP #line 266 "Gmsh.l" -return tEndLoop; +return tOuter; YY_BREAK case 179: YY_RULE_SETUP #line 267 "Gmsh.l" -return tEndFacet; +return tLoopSTL; YY_BREAK case 180: YY_RULE_SETUP #line 268 "Gmsh.l" -{skipline();return tEndSolid;} +return tEndLoop; YY_BREAK case 181: YY_RULE_SETUP #line 269 "Gmsh.l" -{skipline();return tSolid;} +return tEndFacet; YY_BREAK case 182: YY_RULE_SETUP -#line 271 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} +#line 270 "Gmsh.l" +{skipline();return tEndSolid;} YY_BREAK case 183: -#line 274 "Gmsh.l" +YY_RULE_SETUP +#line 271 "Gmsh.l" +{skipline();return tSolid;} + YY_BREAK case 184: -#line 275 "Gmsh.l" +YY_RULE_SETUP +#line 273 "Gmsh.l" +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} + YY_BREAK case 185: #line 276 "Gmsh.l" case 186: +#line 277 "Gmsh.l" +case 187: +#line 278 "Gmsh.l" +case 188: YY_RULE_SETUP -#line 276 "Gmsh.l" +#line 278 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 187: +case 189: YY_RULE_SETUP -#line 278 "Gmsh.l" +#line 280 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 188: +case 190: YY_RULE_SETUP -#line 280 "Gmsh.l" +#line 282 "Gmsh.l" return yytext[0]; YY_BREAK -case 189: +case 191: YY_RULE_SETUP -#line 282 "Gmsh.l" +#line 284 "Gmsh.l" ECHO; YY_BREAK -#line 2220 "Gmsh.yy.cpp" +#line 2230 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2508,7 +2518,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1017 ) + if ( yy_current_state >= 1019 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2543,11 +2553,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1017 ) + if ( yy_current_state >= 1019 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1016); + yy_is_jam = (yy_current_state == 1018); return yy_is_jam ? 0 : yy_current_state; } @@ -3097,7 +3107,7 @@ int main() return 0; } #endif -#line 282 "Gmsh.l" +#line 284 "Gmsh.l" #undef yywrap diff --git a/benchmarks/misc/charts.geo b/benchmarks/misc/charts.geo index c7bf489ea1082e787b5dc562e075309204b41121..93a46db88843cb6b8c01ea92363fccf6918331ef 100644 --- a/benchmarks/misc/charts.geo +++ b/benchmarks/misc/charts.geo @@ -1,5 +1,8 @@ View "test" { + T2(0,10,0){"a", "bb", "ccc"}; + T2(0,20,0){"Copy", "test"}; + T3(0.1,0,0,0){"Copy", "test" , Sprintf("ARRRRGGGGG NbViews=%g", PostProcessing.NbViews) }; SP(0,2,0){1 ,0.2+1 ,0.26+1 ,0.2+1 ,0.26+1 ,0.2+1 ,0.26+1 ,0.2+1 ,0.26+1 }; SP(1,0,0){1.2 ,0.2+1.2,0.24+1.2,0.2+1.2,0.24+1.2,0.2+1.2,0.24+1.2,0.2+1.2,0.24+1.2 }; SP(2,1,0){1.8 ,0.2+1.8,0.28+1.8,0.2+1.8,0.28+1.8,0.2+1.8,0.28+1.8,0.2+1.8,0.28+1.8 };