diff --git a/Fltk/FlGui.cpp b/Fltk/FlGui.cpp index 7eaad910586eeaa32ae3d3b6b229fcb804b7d2a5..368120239878fd4da2d8088f6d45b6ab9f69d871 100644 --- a/Fltk/FlGui.cpp +++ b/Fltk/FlGui.cpp @@ -4,6 +4,7 @@ // bugs and problems to <gmsh@geuz.org>. #include <sstream> +#include <string.h> #include <FL/Fl.H> #include <FL/Fl_Tooltip.H> #include <FL/Fl_Shared_Image.H> diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index 64b17b9f73f5008cceccb46f3aaabb476a585b19..7c20aadc422e676e91869937109af0f0698cdd56 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -77,6 +77,13 @@ static int compareVolume(const void *a, const void *b) return q->Num - w->Num; } +static int compareLevelSet(const void *a, const void *b) +{ + LevelSet *q = *(LevelSet **)a; + LevelSet *w = *(LevelSet **)b; + return q->Num - w->Num; +} + static int comparePhysicalGroup(const void *a, const void *b) { PhysicalGroup *q = *(PhysicalGroup **)a; @@ -648,6 +655,23 @@ static void Free_Volume(void *a, void *b) } } +LevelSet *Create_LevelSet(int Num, gLevelset *l) +{ + LevelSet *pL = new LevelSet; + pL->Num = Num; + pL->ls = l; + return pL; +} + +static void Free_LevelSet(void *a, void *b) +{ + LevelSet *pL = *(LevelSet **)a; + if(pL) { + delete pL; + pL = NULL; + } +} + int NEWPOINT(void) { return (GModel::current()->getGEOInternals()->MaxPointNum + 1); @@ -793,6 +817,17 @@ Volume *FindVolume(int inum) return NULL; } +LevelSet *FindLevelSet(int inum) +{ + LevelSet L, *pl; + pl = &L; + pl->Num = inum; + if(Tree_Query(GModel::current()->getGEOInternals()->LevelSets, &pl)) { + return pl; + } + return NULL; +} + EdgeLoop *FindEdgeLoop(int inum) { EdgeLoop S, *ps; @@ -3308,6 +3343,7 @@ void GEO_Internals::alloc_all() Surfaces = Tree_Create(sizeof(Surface *), compareSurface); SurfaceLoops = Tree_Create(sizeof(SurfaceLoop *), compareSurfaceLoop); Volumes = Tree_Create(sizeof(Volume *), compareVolume); + LevelSets = Tree_Create(sizeof(LevelSet *), compareLevelSet); PhysicalGroups = List_Create(5, 5, sizeof(PhysicalGroup *)); } @@ -3321,6 +3357,7 @@ void GEO_Internals::free_all() Tree_Action(Surfaces, Free_Surface); Tree_Delete(Surfaces); Tree_Action(SurfaceLoops, Free_SurfaceLoop); Tree_Delete(SurfaceLoops); Tree_Action(Volumes, Free_Volume); Tree_Delete(Volumes); + Tree_Action(LevelSets, Free_LevelSet); Tree_Delete(LevelSets); List_Action(PhysicalGroups, Free_PhysicalGroup); List_Delete(PhysicalGroups); } diff --git a/Geo/Geo.h b/Geo/Geo.h index 241da2cd6a4397c89e949aea10d481a3ecc0ef05..622a822f5affe9ff89787e97eeaecd6f5cd7b7b3 100644 --- a/Geo/Geo.h +++ b/Geo/Geo.h @@ -13,6 +13,7 @@ #include "TreeUtils.h" #include "SPoint2.h" #include "ExtrudeParams.h" +#include "DILevelset.h" #define MSH_POINT 100 #define MSH_POINT_BND_LAYER 101 @@ -198,6 +199,7 @@ class GEO_Internals{ Tree_T *Volumes; Tree_T *SurfaceLoops; Tree_T *EdgeLoops; + Tree_T *LevelSets; List_T *PhysicalGroups; int MaxPointNum, MaxLineNum, MaxLineLoopNum, MaxSurfaceNum; int MaxSurfaceLoopNum, MaxVolumeNum, MaxPhysicalNum; @@ -213,6 +215,14 @@ class Shape{ int Num; }; +class gLevelset; + +class LevelSet { + public: + int Num; + gLevelset *ls; +}; + int compareVertex(const void *a, const void *b); void Projette(Vertex * v, double mat[3][3]); @@ -228,6 +238,7 @@ EdgeLoop *Create_EdgeLoop(int Num, List_T * intlist); SurfaceLoop *Create_SurfaceLoop(int Num, List_T * intlist); PhysicalGroup *Create_PhysicalGroup(int Num, int typ, List_T * intlist, List_T *bndlist[4] = 0); +LevelSet *Create_LevelSet(int Num, gLevelset *l); void End_Curve(Curve * c); void End_Surface(Surface * s); @@ -248,6 +259,7 @@ EdgeLoop *FindEdgeLoop(int inum); Surface *FindSurface(int inum); SurfaceLoop *FindSurfaceLoop(int inum); Volume *FindVolume(int inum); +LevelSet *FindLevelSet(int inum); PhysicalGroup *FindPhysicalGroup(int inum, int type); void TranslateShapes(double X,double Y,double Z, List_T *shapes); diff --git a/Geo/MElementCut.cpp b/Geo/MElementCut.cpp index a4621966fb34550896b8c5d9393f6388ce348966..459ad4b5e5d4d4f753b3b1bf0bcde0d8658e4538 100644 --- a/Geo/MElementCut.cpp +++ b/Geo/MElementCut.cpp @@ -156,6 +156,8 @@ void MPolyhedron::writeMSH(FILE *fp, double version, bool binary, int num, void MPolygon::_initVertices() { + if(_parts.size() == 0) return; + std::vector<MEdge> edges; for(unsigned int i = 0; i < _parts.size(); i++) { for(int j = 0; j < 3; j++) { @@ -174,7 +176,7 @@ void MPolygon::_initVertices() _vertices.push_back(edges.back().getVertex(1)); edges.pop_back(); while(edges.size() > 1) { - for(int k = edges.size() - 1; k >=0; k--) { + for(int k = edges.size() - 1; k >= 0; k--) { if(edges[k].getVertex(0) == _vertices.back()){ _vertices.push_back(edges[k].getVertex(1)); edges.erase(edges.begin() + k); @@ -187,6 +189,62 @@ void MPolygon::_initVertices() } } } + + for(unsigned int i = 0; i < _parts.size(); i++) { + for(int j = 0; j < 3; j++) { + if(std::find(_vertices.begin(), _vertices.end(), _parts[i]->getVertex(j)) == _vertices.end()) + _innerVertices.push_back(_parts[i]->getVertex(j)); + } + } + + /*std::vector<MEdge> edges; + for(unsigned int i = 0; i < _parts.size(); i++) { + for(int j = 0; j < 3; j++) { + if(std::find(edges.begin(), edges.end(), _parts[i]->getEdge(j)) == edges.end()) + edges.push_back(_parts[i]->getEdge(j)); + else + edges.erase(std::find(edges.begin(), edges.end(), _parts[i]->getEdge(j))); + } + } + + std::vector<MEdge>::iterator ite = edges.begin(); + MVertex *vINIT = ite->getVertex(0); + _vertices.push_back(ite->getVertex(0)); + _vertices.push_back(ite->getVertex(1)); + edges.erase(ite); + + while (!edges.empty()){ + ite = edges.begin() ; + while (ite != edges.end()){ + MVertex *vB = ite->getVertex(0); + if( vB == _vertices.back()){ + MVertex *vE = ite->getVertex(1); + if (vE != vINIT) _vertices.push_back(vE); + edges.erase(ite); + } + else if( ite->getVertex(1) == _vertices.back()){ + MVertex *vE = ite->getVertex(0); + if (vE != vINIT) _vertices.push_back(vE); + edges.erase(ite); + } + else ite++; + } + }*/ + + /*while(edges.size() > 1) { + for(ite = edges.begin(); ite != edges.end(); ite++) { + if(ite->getVertex(0) == _vertices.back()) { + _vertices.push_back(ite->getVertex(1)); + edges.erase(ite); + break; + } + else if(ite->getVertex(1) == _vertices.back()) { + _vertices.push_back(ite->getVertex(0)); + edges.erase(ite); + break; + } + } + }*/ } bool MPolygon::isInside(double u, double v, double w) { @@ -690,7 +748,7 @@ GModel *buildCutMesh(GModel *gm, gLevelset *ls, } } - // add borders in elements and change the tag if it's already used + // add borders in map elements and change the tag if it's already used std::map<int, std::vector<MElement*> >::iterator itbo, itel; for(itbo = border[0].begin(); itbo != border[0].end(); itbo++) { int reg = itbo->first; diff --git a/Geo/MElementCut.h b/Geo/MElementCut.h index 804af252f3c374825a082d3fafd898d1c4b123a8..ee2b5fa7852c73d2f0694d1393b59720829e591a 100644 --- a/Geo/MElementCut.h +++ b/Geo/MElementCut.h @@ -20,6 +20,7 @@ class MPolyhedron : public MElement { MElement* _orig; std::vector<MTetrahedron*> _parts; std::vector<MVertex*> _vertices; + std::vector<MVertex*> _innerVertices; std::vector<MEdge> _edges; std::vector<MFace> _faces; void _init(); @@ -82,8 +83,13 @@ class MPolyhedron : public MElement { delete _parts[i]; } virtual int getDim() { return 3; } - virtual int getNumVertices() const { return _vertices.size(); } - virtual MVertex *getVertex(int num) { return _vertices[num]; } + virtual int getNumVertices() const { return _vertices.size() + _innerVertices.size(); } + virtual int getNumVolumeVertices() const { return _innerVertices.size(); } + virtual MVertex *getVertex(int num) + { + return (num < _vertices.size()) ? _vertices[num] : + _innerVertices[num - _vertices.size()]; + } virtual int getNumEdges() { return _edges.size(); } virtual MEdge getEdge(int num) { return _edges[num]; } virtual int getNumEdgesRep() { return _edges.size(); } @@ -144,6 +150,10 @@ class MPolyhedron : public MElement { } virtual bool isInside(double u, double v, double w); virtual void getIntegrationPoints(int pOrder, int *npts, IntPt **pts) const; + virtual int getNumIntegrationPointsToAllocate (int pOrder) + { + return _parts.size() * getNGQTetPts(pOrder); + } virtual void writeMSH(FILE *fp, double version=1.0, bool binary=false, int num=0, int elementary=1, int physical=1); }; @@ -154,6 +164,7 @@ class MPolygon : public MElement { MElement* _orig; std::vector<MTriangle*> _parts; std::vector<MVertex*> _vertices; + std::vector<MVertex*> _innerVertices; void _initVertices(); public: MPolygon(std::vector<MVertex*> v, int num=0, int part=0) @@ -194,8 +205,13 @@ class MPolygon : public MElement { delete _parts[i]; } virtual int getDim(){ return 2; } - virtual int getNumVertices() const { return _vertices.size(); } - virtual MVertex *getVertex(int num) { return _vertices[num]; } + virtual int getNumVertices() const { return _vertices.size() + _innerVertices.size(); } + virtual int getNumFaceVertices() const { return _innerVertices.size(); } + virtual MVertex *getVertex(int num) + { + return (num < _vertices.size()) ? _vertices[num] : + _innerVertices[num - _vertices.size()]; + } virtual int getNumEdges() { return _vertices.size(); } virtual MEdge getEdge(int num) { @@ -223,9 +239,9 @@ class MPolygon : public MElement { } virtual void getFaceVertices(const int num, std::vector<MVertex*> &v) const { - v.resize(_vertices.size()); - for (unsigned int i = 0; i < _vertices.size(); i++) - v[i] = _vertices[i]; + v.resize(_vertices.size() + _innerVertices.size()); + for (unsigned int i = 0; i < _vertices.size() + _innerVertices.size(); i++) + v[i] = (i < _vertices.size()) ? _vertices[i] : _innerVertices[i - _vertices.size()]; } virtual int getType() const { return TYPE_POLYG; } virtual int getTypeForMSH() const { return MSH_POLYG_; } @@ -247,6 +263,10 @@ class MPolygon : public MElement { } virtual bool isInside(double u, double v, double w); virtual void getIntegrationPoints(int pOrder, int *npts, IntPt **pts) const; + virtual int getNumIntegrationPointsToAllocate (int pOrder) + { + return _parts.size() * getNGQTPts(pOrder); + } virtual void writeMSH(FILE *fp, double version=1.0, bool binary=false, int num=0, int elementary=1, int physical=1); }; diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index d9d638be7e6d120d0d4297979953e3f9980e3e12..7cc27c0e6567d3ce51622eecb47578aa00b460c8 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -153,6 +153,7 @@ Loop return tLoop; Log return tLog; Log10 return tLog10; Layers return tLayers; +Levelset return tLevelset; Modulo return tModulo; MPI_Rank return tMPI_Rank; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 78d3b264391fce0101558a4a0c6b7be65c0476b7..53a69d7525c904847d1af3331cbf25b327f74c29 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -142,58 +142,59 @@ tSymmetry = 323, tDilate = 324, tExtrude = 325, - tLoop = 326, - tRecombine = 327, - tSmoother = 328, - tSplit = 329, - tDelete = 330, - tCoherence = 331, - tIntersect = 332, - tLayers = 333, - tHole = 334, - tAlias = 335, - tAliasWithOptions = 336, - tText2D = 337, - tText3D = 338, - tInterpolationScheme = 339, - tTime = 340, - tCombine = 341, - tBSpline = 342, - tBezier = 343, - tNurbs = 344, - tOrder = 345, - tKnots = 346, - tColor = 347, - tColorTable = 348, - tFor = 349, - tIn = 350, - tEndFor = 351, - tIf = 352, - tEndIf = 353, - tExit = 354, - tField = 355, - tReturn = 356, - tCall = 357, - tFunction = 358, - tShow = 359, - tHide = 360, - tGetValue = 361, - tGMSH_MAJOR_VERSION = 362, - tGMSH_MINOR_VERSION = 363, - tGMSH_PATCH_VERSION = 364, - tAFFECTDIVIDE = 365, - tAFFECTTIMES = 366, - tAFFECTMINUS = 367, - tAFFECTPLUS = 368, - tOR = 369, - tAND = 370, - tNOTEQUAL = 371, - tEQUAL = 372, - tGREATEROREQUAL = 373, - tLESSOREQUAL = 374, - UNARYPREC = 375, - tMINUSMINUS = 376, - tPLUSPLUS = 377 + tLevelset = 326, + tLoop = 327, + tRecombine = 328, + tSmoother = 329, + tSplit = 330, + tDelete = 331, + tCoherence = 332, + tIntersect = 333, + tLayers = 334, + tHole = 335, + tAlias = 336, + tAliasWithOptions = 337, + tText2D = 338, + tText3D = 339, + tInterpolationScheme = 340, + tTime = 341, + tCombine = 342, + tBSpline = 343, + tBezier = 344, + tNurbs = 345, + tOrder = 346, + tKnots = 347, + tColor = 348, + tColorTable = 349, + tFor = 350, + tIn = 351, + tEndFor = 352, + tIf = 353, + tEndIf = 354, + tExit = 355, + tField = 356, + tReturn = 357, + tCall = 358, + tFunction = 359, + tShow = 360, + tHide = 361, + tGetValue = 362, + tGMSH_MAJOR_VERSION = 363, + tGMSH_MINOR_VERSION = 364, + tGMSH_PATCH_VERSION = 365, + tAFFECTDIVIDE = 366, + tAFFECTTIMES = 367, + tAFFECTMINUS = 368, + tAFFECTPLUS = 369, + tOR = 370, + tAND = 371, + tNOTEQUAL = 372, + tEQUAL = 373, + tGREATEROREQUAL = 374, + tLESSOREQUAL = 375, + UNARYPREC = 376, + tMINUSMINUS = 377, + tPLUSPLUS = 378 }; #endif /* Tokens. */ @@ -265,58 +266,59 @@ #define tSymmetry 323 #define tDilate 324 #define tExtrude 325 -#define tLoop 326 -#define tRecombine 327 -#define tSmoother 328 -#define tSplit 329 -#define tDelete 330 -#define tCoherence 331 -#define tIntersect 332 -#define tLayers 333 -#define tHole 334 -#define tAlias 335 -#define tAliasWithOptions 336 -#define tText2D 337 -#define tText3D 338 -#define tInterpolationScheme 339 -#define tTime 340 -#define tCombine 341 -#define tBSpline 342 -#define tBezier 343 -#define tNurbs 344 -#define tOrder 345 -#define tKnots 346 -#define tColor 347 -#define tColorTable 348 -#define tFor 349 -#define tIn 350 -#define tEndFor 351 -#define tIf 352 -#define tEndIf 353 -#define tExit 354 -#define tField 355 -#define tReturn 356 -#define tCall 357 -#define tFunction 358 -#define tShow 359 -#define tHide 360 -#define tGetValue 361 -#define tGMSH_MAJOR_VERSION 362 -#define tGMSH_MINOR_VERSION 363 -#define tGMSH_PATCH_VERSION 364 -#define tAFFECTDIVIDE 365 -#define tAFFECTTIMES 366 -#define tAFFECTMINUS 367 -#define tAFFECTPLUS 368 -#define tOR 369 -#define tAND 370 -#define tNOTEQUAL 371 -#define tEQUAL 372 -#define tGREATEROREQUAL 373 -#define tLESSOREQUAL 374 -#define UNARYPREC 375 -#define tMINUSMINUS 376 -#define tPLUSPLUS 377 +#define tLevelset 326 +#define tLoop 327 +#define tRecombine 328 +#define tSmoother 329 +#define tSplit 330 +#define tDelete 331 +#define tCoherence 332 +#define tIntersect 333 +#define tLayers 334 +#define tHole 335 +#define tAlias 336 +#define tAliasWithOptions 337 +#define tText2D 338 +#define tText3D 339 +#define tInterpolationScheme 340 +#define tTime 341 +#define tCombine 342 +#define tBSpline 343 +#define tBezier 344 +#define tNurbs 345 +#define tOrder 346 +#define tKnots 347 +#define tColor 348 +#define tColorTable 349 +#define tFor 350 +#define tIn 351 +#define tEndFor 352 +#define tIf 353 +#define tEndIf 354 +#define tExit 355 +#define tField 356 +#define tReturn 357 +#define tCall 358 +#define tFunction 359 +#define tShow 360 +#define tHide 361 +#define tGetValue 362 +#define tGMSH_MAJOR_VERSION 363 +#define tGMSH_MINOR_VERSION 364 +#define tGMSH_PATCH_VERSION 365 +#define tAFFECTDIVIDE 366 +#define tAFFECTTIMES 367 +#define tAFFECTMINUS 368 +#define tAFFECTPLUS 369 +#define tOR 370 +#define tAND 371 +#define tNOTEQUAL 372 +#define tEQUAL 373 +#define tGREATEROREQUAL 374 +#define tLESSOREQUAL 375 +#define UNARYPREC 376 +#define tMINUSMINUS 377 +#define tPLUSPLUS 378 @@ -357,6 +359,7 @@ #include "gmshSurface.h" #include "Field.h" #include "BackgroundMesh.h" +#include "DILevelset.h" #if !defined(HAVE_NO_POST) #include "PView.h" #include "PViewDataList.h" @@ -415,7 +418,7 @@ void FixRelativePath(const char *in, char *out); #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 73 "Gmsh.y" +#line 74 "Gmsh.y" { char *c; int i; @@ -425,8 +428,8 @@ typedef union YYSTYPE Shape s; List_T *l; } -/* Line 193 of yacc.c. */ -#line 430 "Gmsh.tab.cpp" +/* Line 187 of yacc.c. */ +#line 433 "Gmsh.tab.cpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -439,7 +442,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 443 "Gmsh.tab.cpp" +#line 446 "Gmsh.tab.cpp" #ifdef short # undef short @@ -489,7 +492,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -654,20 +657,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 6350 +#define YYLAST 6858 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 143 +#define YYNTOKENS 144 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 78 +#define YYNNTS 79 /* YYNRULES -- Number of rules. */ -#define YYNRULES 366 +#define YYNRULES 372 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1257 +#define YYNSTATES 1291 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 377 +#define YYMAXUTOK 378 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -678,16 +681,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 128, 2, 138, 2, 127, 2, 2, - 133, 134, 125, 123, 139, 124, 137, 126, 2, 2, + 2, 2, 2, 129, 2, 139, 2, 128, 2, 2, + 134, 135, 126, 124, 140, 125, 138, 127, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 119, 2, 120, 114, 2, 2, 2, 2, 2, 2, + 120, 2, 121, 115, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 135, 2, 136, 132, 2, 2, 2, 2, 2, + 2, 136, 2, 137, 133, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 140, 2, 141, 142, 2, 2, 2, + 2, 2, 2, 141, 2, 142, 143, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -711,8 +714,8 @@ static const yytype_uint8 yytranslate[] = 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 115, - 116, 117, 118, 121, 122, 129, 130, 131 + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 116, 117, 118, 119, 122, 123, 130, 131, 132 }; #if YYDEBUG @@ -722,295 +725,304 @@ static const yytype_uint16 yyprhs[] = { 0, 0, 3, 5, 8, 9, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, - 40, 42, 45, 51, 59, 67, 77, 84, 91, 98, - 99, 102, 105, 108, 111, 114, 116, 120, 122, 126, - 127, 128, 139, 141, 145, 146, 160, 162, 166, 167, - 183, 192, 207, 208, 215, 217, 219, 221, 223, 225, - 227, 229, 234, 242, 252, 259, 266, 270, 277, 282, - 289, 299, 306, 316, 322, 331, 340, 352, 359, 369, - 375, 383, 393, 403, 415, 425, 435, 437, 439, 440, - 446, 447, 450, 458, 459, 469, 476, 484, 492, 501, - 510, 518, 526, 538, 547, 548, 558, 567, 577, 581, - 586, 597, 605, 613, 622, 623, 633, 642, 655, 664, - 673, 682, 690, 691, 701, 707, 719, 725, 735, 740, - 750, 760, 762, 764, 765, 768, 775, 782, 789, 796, - 801, 808, 815, 819, 824, 830, 834, 838, 843, 848, - 852, 860, 868, 872, 880, 884, 887, 890, 893, 909, - 912, 915, 922, 931, 940, 951, 953, 956, 958, 962, - 967, 969, 975, 987, 1001, 1002, 1010, 1011, 1025, 1026, - 1042, 1043, 1050, 1059, 1068, 1077, 1090, 1103, 1116, 1131, - 1146, 1161, 1162, 1175, 1176, 1189, 1190, 1203, 1204, 1221, - 1222, 1239, 1240, 1257, 1258, 1277, 1278, 1297, 1298, 1317, - 1319, 1322, 1328, 1336, 1346, 1349, 1359, 1360, 1364, 1365, - 1367, 1368, 1371, 1372, 1375, 1383, 1390, 1399, 1405, 1411, - 1418, 1429, 1440, 1451, 1462, 1465, 1469, 1471, 1475, 1478, - 1481, 1484, 1488, 1492, 1496, 1500, 1504, 1508, 1512, 1516, - 1520, 1524, 1528, 1532, 1536, 1540, 1546, 1551, 1556, 1561, - 1566, 1571, 1576, 1581, 1586, 1591, 1596, 1603, 1608, 1613, - 1618, 1623, 1628, 1633, 1640, 1647, 1654, 1659, 1664, 1669, - 1674, 1679, 1684, 1689, 1694, 1699, 1704, 1709, 1716, 1721, - 1726, 1731, 1736, 1741, 1746, 1753, 1760, 1767, 1772, 1774, - 1776, 1778, 1780, 1782, 1784, 1786, 1788, 1794, 1799, 1804, - 1807, 1813, 1817, 1824, 1829, 1837, 1844, 1846, 1849, 1852, - 1856, 1860, 1872, 1882, 1890, 1898, 1900, 1904, 1906, 1908, - 1911, 1915, 1920, 1926, 1928, 1930, 1933, 1937, 1941, 1947, - 1952, 1954, 1956, 1960, 1967, 1969, 1971, 1975, 1979, 1989, - 1997, 1999, 2005, 2009, 2016, 2018, 2022, 2024, 2026, 2030, - 2037, 2039, 2041, 2048, 2053, 2058, 2063 + 40, 42, 44, 47, 53, 61, 69, 79, 86, 93, + 100, 101, 104, 107, 110, 113, 116, 118, 122, 124, + 128, 129, 130, 141, 143, 147, 148, 162, 164, 168, + 169, 185, 194, 209, 210, 217, 219, 221, 223, 225, + 227, 229, 231, 236, 244, 254, 261, 268, 272, 279, + 284, 291, 301, 308, 318, 324, 333, 342, 354, 361, + 371, 377, 385, 395, 405, 417, 427, 437, 439, 441, + 442, 448, 449, 452, 460, 461, 471, 478, 486, 494, + 503, 512, 520, 528, 540, 549, 550, 560, 569, 579, + 583, 588, 599, 607, 615, 624, 625, 635, 644, 657, + 666, 675, 684, 692, 693, 703, 709, 721, 727, 737, + 742, 752, 762, 764, 766, 767, 770, 777, 784, 791, + 798, 807, 814, 827, 842, 859, 864, 871, 878, 882, + 887, 893, 897, 901, 906, 911, 915, 923, 931, 935, + 943, 947, 950, 953, 956, 972, 975, 978, 985, 994, + 1003, 1014, 1016, 1019, 1021, 1025, 1030, 1032, 1038, 1050, + 1064, 1065, 1073, 1074, 1088, 1089, 1105, 1106, 1113, 1122, + 1131, 1140, 1153, 1166, 1179, 1194, 1209, 1224, 1225, 1238, + 1239, 1252, 1253, 1266, 1267, 1284, 1285, 1302, 1303, 1320, + 1321, 1340, 1341, 1360, 1361, 1380, 1382, 1385, 1391, 1399, + 1409, 1412, 1422, 1423, 1427, 1428, 1430, 1431, 1434, 1435, + 1438, 1446, 1453, 1462, 1468, 1474, 1481, 1492, 1503, 1514, + 1525, 1528, 1532, 1534, 1538, 1541, 1544, 1547, 1551, 1555, + 1559, 1563, 1567, 1571, 1575, 1579, 1583, 1587, 1591, 1595, + 1599, 1603, 1609, 1614, 1619, 1624, 1629, 1634, 1639, 1644, + 1649, 1654, 1659, 1666, 1671, 1676, 1681, 1686, 1691, 1696, + 1703, 1710, 1717, 1722, 1727, 1732, 1737, 1742, 1747, 1752, + 1757, 1762, 1767, 1772, 1779, 1784, 1789, 1794, 1799, 1804, + 1809, 1816, 1823, 1830, 1835, 1837, 1839, 1841, 1843, 1845, + 1847, 1849, 1851, 1857, 1862, 1867, 1870, 1876, 1880, 1887, + 1892, 1900, 1907, 1909, 1912, 1915, 1919, 1923, 1935, 1945, + 1953, 1961, 1963, 1967, 1969, 1971, 1974, 1978, 1983, 1989, + 1991, 1993, 1996, 2000, 2004, 2010, 2015, 2017, 2019, 2023, + 2030, 2032, 2034, 2038, 2042, 2052, 2060, 2062, 2068, 2072, + 2079, 2081, 2085, 2087, 2089, 2093, 2100, 2102, 2104, 2111, + 2116, 2121, 2126 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 144, 0, -1, 145, -1, 1, 6, -1, -1, 145, - 146, -1, 149, -1, 148, -1, 167, -1, 171, -1, - 176, -1, 179, -1, 180, -1, 181, -1, 184, -1, - 204, -1, 205, -1, 206, -1, 183, -1, 182, -1, - 120, -1, 120, 120, -1, 35, 133, 5, 134, 6, - -1, 35, 133, 5, 134, 147, 219, 6, -1, 35, - 133, 5, 139, 215, 134, 6, -1, 35, 133, 5, - 139, 215, 134, 147, 219, 6, -1, 4, 5, 140, - 150, 141, 6, -1, 80, 4, 135, 207, 136, 6, - -1, 81, 4, 135, 207, 136, 6, -1, -1, 150, - 153, -1, 150, 157, -1, 150, 160, -1, 150, 162, - -1, 150, 163, -1, 207, -1, 151, 139, 207, -1, - 207, -1, 152, 139, 207, -1, -1, -1, 4, 154, - 133, 151, 134, 155, 140, 152, 141, 6, -1, 219, - -1, 156, 139, 219, -1, -1, 82, 133, 207, 139, - 207, 139, 207, 134, 158, 140, 156, 141, 6, -1, - 219, -1, 159, 139, 219, -1, -1, 83, 133, 207, - 139, 207, 139, 207, 139, 207, 134, 161, 140, 159, - 141, 6, -1, 84, 140, 211, 141, 140, 211, 141, - 6, -1, 84, 140, 211, 141, 140, 211, 141, 140, - 211, 141, 140, 211, 141, 6, -1, -1, 85, 164, - 140, 152, 141, 6, -1, 7, -1, 113, -1, 112, - -1, 111, -1, 110, -1, 131, -1, 130, -1, 4, - 165, 207, 6, -1, 4, 135, 207, 136, 165, 207, - 6, -1, 4, 135, 140, 215, 141, 136, 165, 212, - 6, -1, 4, 135, 136, 7, 212, 6, -1, 4, - 135, 136, 113, 212, 6, -1, 4, 166, 6, -1, - 4, 135, 207, 136, 166, 6, -1, 4, 7, 220, - 6, -1, 4, 137, 4, 7, 220, 6, -1, 4, - 135, 207, 136, 137, 4, 7, 220, 6, -1, 4, - 137, 4, 165, 207, 6, -1, 4, 135, 207, 136, - 137, 4, 165, 207, 6, -1, 4, 137, 4, 166, - 6, -1, 4, 135, 207, 136, 137, 4, 166, 6, - -1, 4, 137, 92, 137, 4, 7, 216, 6, -1, - 4, 135, 207, 136, 137, 92, 137, 4, 7, 216, - 6, -1, 4, 137, 93, 7, 217, 6, -1, 4, - 135, 207, 136, 137, 93, 7, 217, 6, -1, 4, - 100, 7, 207, 6, -1, 100, 135, 207, 136, 7, - 4, 6, -1, 100, 135, 207, 136, 137, 4, 7, - 207, 6, -1, 100, 135, 207, 136, 137, 4, 7, - 220, 6, -1, 100, 135, 207, 136, 137, 4, 7, - 140, 215, 141, 6, -1, 65, 133, 4, 134, 137, - 4, 7, 207, 6, -1, 65, 133, 4, 134, 137, - 4, 7, 220, 6, -1, 207, -1, 220, -1, -1, - 95, 49, 140, 207, 141, -1, -1, 58, 209, -1, - 45, 133, 207, 134, 7, 209, 6, -1, -1, 62, - 45, 172, 133, 168, 134, 7, 212, 6, -1, 54, - 55, 212, 7, 207, 6, -1, 48, 133, 207, 134, - 7, 212, 6, -1, 52, 133, 207, 134, 7, 212, - 6, -1, 46, 133, 207, 134, 7, 212, 170, 6, - -1, 47, 133, 207, 134, 7, 212, 170, 6, -1, - 87, 133, 207, 134, 7, 212, 6, -1, 88, 133, - 207, 134, 7, 212, 6, -1, 89, 133, 207, 134, - 7, 212, 91, 212, 90, 207, 6, -1, 48, 71, - 133, 207, 134, 7, 212, 6, -1, -1, 62, 48, - 173, 133, 168, 134, 7, 212, 6, -1, 58, 51, - 133, 207, 134, 7, 212, 6, -1, 59, 51, 133, - 207, 134, 7, 212, 169, 6, -1, 12, 13, 6, - -1, 13, 51, 207, 6, -1, 56, 51, 133, 207, - 134, 7, 5, 5, 5, 6, -1, 49, 133, 207, - 134, 7, 212, 6, -1, 50, 133, 207, 134, 7, - 212, 6, -1, 51, 71, 133, 207, 134, 7, 212, - 6, -1, -1, 62, 51, 174, 133, 168, 134, 7, - 212, 6, -1, 63, 53, 133, 207, 134, 7, 212, - 6, -1, 63, 51, 133, 207, 134, 7, 212, 4, - 140, 211, 141, 6, -1, 63, 51, 133, 207, 134, - 7, 212, 6, -1, 63, 48, 133, 207, 134, 7, - 212, 6, -1, 61, 53, 133, 207, 134, 7, 212, - 6, -1, 53, 133, 207, 134, 7, 212, 6, -1, - -1, 62, 53, 175, 133, 168, 134, 7, 212, 6, - -1, 67, 209, 140, 177, 141, -1, 66, 140, 209, - 139, 209, 139, 207, 141, 140, 177, 141, -1, 68, - 209, 140, 177, 141, -1, 69, 140, 209, 139, 207, - 141, 140, 177, 141, -1, 4, 140, 177, 141, -1, - 77, 48, 140, 215, 141, 51, 140, 207, 141, -1, - 74, 48, 133, 207, 134, 140, 215, 141, 6, -1, - 178, -1, 176, -1, -1, 178, 171, -1, 178, 45, - 140, 215, 141, 6, -1, 178, 48, 140, 215, 141, - 6, -1, 178, 51, 140, 215, 141, 6, -1, 178, - 53, 140, 215, 141, 6, -1, 75, 140, 178, 141, - -1, 75, 100, 135, 207, 136, 6, -1, 75, 4, - 135, 207, 136, 6, -1, 75, 4, 6, -1, 75, - 4, 4, 6, -1, 92, 216, 140, 178, 141, -1, - 104, 5, 6, -1, 105, 5, 6, -1, 104, 140, - 178, 141, -1, 105, 140, 178, 141, -1, 4, 220, - 6, -1, 4, 4, 135, 207, 136, 219, 6, -1, - 4, 4, 4, 135, 207, 136, 6, -1, 4, 207, - 6, -1, 65, 133, 4, 134, 137, 4, 6, -1, - 86, 4, 6, -1, 99, 6, -1, 43, 6, -1, - 40, 6, -1, 40, 140, 207, 139, 207, 139, 207, - 139, 207, 139, 207, 139, 207, 141, 6, -1, 41, - 6, -1, 44, 6, -1, 94, 133, 207, 8, 207, - 134, -1, 94, 133, 207, 8, 207, 8, 207, 134, - -1, 94, 4, 95, 140, 207, 8, 207, 141, -1, - 94, 4, 95, 140, 207, 8, 207, 8, 207, 141, - -1, 96, -1, 103, 4, -1, 101, -1, 102, 4, - 6, -1, 97, 133, 207, 134, -1, 98, -1, 70, - 209, 140, 178, 141, -1, 70, 140, 209, 139, 209, - 139, 207, 141, 140, 178, 141, -1, 70, 140, 209, - 139, 209, 139, 209, 139, 207, 141, 140, 178, 141, - -1, -1, 70, 209, 140, 178, 185, 198, 141, -1, - -1, 70, 140, 209, 139, 209, 139, 207, 141, 140, - 178, 186, 198, 141, -1, -1, 70, 140, 209, 139, - 209, 139, 209, 139, 207, 141, 140, 178, 187, 198, - 141, -1, -1, 70, 140, 178, 188, 198, 141, -1, - 70, 45, 140, 207, 139, 209, 141, 6, -1, 70, - 48, 140, 207, 139, 209, 141, 6, -1, 70, 51, - 140, 207, 139, 209, 141, 6, -1, 70, 45, 140, - 207, 139, 209, 139, 209, 139, 207, 141, 6, -1, - 70, 48, 140, 207, 139, 209, 139, 209, 139, 207, - 141, 6, -1, 70, 51, 140, 207, 139, 209, 139, - 209, 139, 207, 141, 6, -1, 70, 45, 140, 207, - 139, 209, 139, 209, 139, 209, 139, 207, 141, 6, - -1, 70, 48, 140, 207, 139, 209, 139, 209, 139, - 209, 139, 207, 141, 6, -1, 70, 51, 140, 207, - 139, 209, 139, 209, 139, 209, 139, 207, 141, 6, - -1, -1, 70, 45, 140, 207, 139, 209, 141, 189, - 140, 198, 141, 6, -1, -1, 70, 48, 140, 207, - 139, 209, 141, 190, 140, 198, 141, 6, -1, -1, - 70, 51, 140, 207, 139, 209, 141, 191, 140, 198, - 141, 6, -1, -1, 70, 45, 140, 207, 139, 209, - 139, 209, 139, 207, 141, 192, 140, 198, 141, 6, - -1, -1, 70, 48, 140, 207, 139, 209, 139, 209, - 139, 207, 141, 193, 140, 198, 141, 6, -1, -1, - 70, 51, 140, 207, 139, 209, 139, 209, 139, 207, - 141, 194, 140, 198, 141, 6, -1, -1, 70, 45, - 140, 207, 139, 209, 139, 209, 139, 209, 139, 207, - 141, 195, 140, 198, 141, 6, -1, -1, 70, 48, - 140, 207, 139, 209, 139, 209, 139, 209, 139, 207, - 141, 196, 140, 198, 141, 6, -1, -1, 70, 51, - 140, 207, 139, 209, 139, 209, 139, 209, 139, 207, - 141, 197, 140, 198, 141, 6, -1, 199, -1, 198, - 199, -1, 78, 140, 207, 141, 6, -1, 78, 140, - 212, 139, 212, 141, 6, -1, 78, 140, 212, 139, - 212, 139, 212, 141, 6, -1, 72, 6, -1, 79, - 133, 207, 134, 7, 212, 64, 207, 6, -1, -1, - 64, 4, 207, -1, -1, 4, -1, -1, 7, 212, - -1, -1, 7, 207, -1, 60, 48, 213, 7, 207, - 200, 6, -1, 60, 51, 213, 202, 201, 6, -1, - 57, 51, 140, 207, 141, 7, 212, 6, -1, 60, - 53, 213, 202, 6, -1, 72, 51, 213, 203, 6, - -1, 73, 51, 212, 7, 207, 6, -1, 45, 140, - 215, 141, 95, 51, 140, 207, 141, 6, -1, 48, - 140, 215, 141, 95, 51, 140, 207, 141, 6, -1, - 48, 140, 215, 141, 95, 53, 140, 207, 141, 6, - -1, 51, 140, 215, 141, 95, 53, 140, 207, 141, - 6, -1, 76, 6, -1, 76, 4, 6, -1, 208, - -1, 133, 207, 134, -1, 124, 207, -1, 123, 207, - -1, 128, 207, -1, 207, 124, 207, -1, 207, 123, - 207, -1, 207, 125, 207, -1, 207, 126, 207, -1, - 207, 127, 207, -1, 207, 132, 207, -1, 207, 119, - 207, -1, 207, 120, 207, -1, 207, 122, 207, -1, - 207, 121, 207, -1, 207, 118, 207, -1, 207, 117, - 207, -1, 207, 116, 207, -1, 207, 115, 207, -1, - 207, 114, 207, 8, 207, -1, 14, 133, 207, 134, - -1, 15, 133, 207, 134, -1, 16, 133, 207, 134, - -1, 17, 133, 207, 134, -1, 18, 133, 207, 134, - -1, 19, 133, 207, 134, -1, 20, 133, 207, 134, - -1, 21, 133, 207, 134, -1, 22, 133, 207, 134, - -1, 24, 133, 207, 134, -1, 25, 133, 207, 139, - 207, 134, -1, 26, 133, 207, 134, -1, 27, 133, - 207, 134, -1, 28, 133, 207, 134, -1, 29, 133, - 207, 134, -1, 30, 133, 207, 134, -1, 31, 133, - 207, 134, -1, 32, 133, 207, 139, 207, 134, -1, - 33, 133, 207, 139, 207, 134, -1, 34, 133, 207, - 139, 207, 134, -1, 23, 133, 207, 134, -1, 14, - 135, 207, 136, -1, 15, 135, 207, 136, -1, 16, - 135, 207, 136, -1, 17, 135, 207, 136, -1, 18, - 135, 207, 136, -1, 19, 135, 207, 136, -1, 20, - 135, 207, 136, -1, 21, 135, 207, 136, -1, 22, - 135, 207, 136, -1, 24, 135, 207, 136, -1, 25, - 135, 207, 139, 207, 136, -1, 26, 135, 207, 136, - -1, 27, 135, 207, 136, -1, 28, 135, 207, 136, - -1, 29, 135, 207, 136, -1, 30, 135, 207, 136, - -1, 31, 135, 207, 136, -1, 32, 135, 207, 139, - 207, 136, -1, 33, 135, 207, 139, 207, 136, -1, - 34, 135, 207, 139, 207, 136, -1, 23, 135, 207, - 136, -1, 3, -1, 9, -1, 10, -1, 11, -1, - 107, -1, 108, -1, 109, -1, 4, -1, 4, 142, - 140, 207, 141, -1, 4, 135, 207, 136, -1, 138, - 4, 135, 136, -1, 4, 166, -1, 4, 135, 207, - 136, 166, -1, 4, 137, 4, -1, 4, 135, 207, - 136, 137, 4, -1, 4, 137, 4, 166, -1, 4, - 135, 207, 136, 137, 4, 166, -1, 106, 133, 5, - 139, 207, 134, -1, 210, -1, 124, 209, -1, 123, - 209, -1, 209, 124, 209, -1, 209, 123, 209, -1, - 140, 207, 139, 207, 139, 207, 139, 207, 139, 207, - 141, -1, 140, 207, 139, 207, 139, 207, 139, 207, - 141, -1, 140, 207, 139, 207, 139, 207, 141, -1, - 133, 207, 139, 207, 139, 207, 134, -1, 212, -1, - 211, 139, 212, -1, 207, -1, 214, -1, 140, 141, - -1, 140, 215, 141, -1, 124, 140, 215, 141, -1, - 207, 125, 140, 215, 141, -1, 212, -1, 5, -1, - 124, 214, -1, 207, 125, 214, -1, 207, 8, 207, - -1, 207, 8, 207, 8, 207, -1, 45, 140, 207, - 141, -1, 176, -1, 184, -1, 4, 135, 136, -1, - 4, 135, 140, 215, 141, 136, -1, 207, -1, 214, - -1, 215, 139, 207, -1, 215, 139, 214, -1, 140, - 207, 139, 207, 139, 207, 139, 207, 141, -1, 140, - 207, 139, 207, 139, 207, 141, -1, 4, -1, 4, - 137, 92, 137, 4, -1, 140, 218, 141, -1, 4, - 135, 207, 136, 137, 93, -1, 216, -1, 218, 139, - 216, -1, 220, -1, 4, -1, 4, 137, 4, -1, - 4, 135, 207, 136, 137, 4, -1, 5, -1, 42, - -1, 37, 133, 219, 139, 219, 134, -1, 38, 133, - 219, 134, -1, 39, 133, 219, 134, -1, 36, 133, - 219, 134, -1, 36, 133, 219, 139, 215, 134, -1 + 145, 0, -1, 146, -1, 1, 6, -1, -1, 146, + 147, -1, 150, -1, 149, -1, 168, -1, 172, -1, + 177, -1, 181, -1, 182, -1, 183, -1, 186, -1, + 206, -1, 207, -1, 208, -1, 185, -1, 184, -1, + 180, -1, 121, -1, 121, 121, -1, 35, 134, 5, + 135, 6, -1, 35, 134, 5, 135, 148, 221, 6, + -1, 35, 134, 5, 140, 217, 135, 6, -1, 35, + 134, 5, 140, 217, 135, 148, 221, 6, -1, 4, + 5, 141, 151, 142, 6, -1, 81, 4, 136, 209, + 137, 6, -1, 82, 4, 136, 209, 137, 6, -1, + -1, 151, 154, -1, 151, 158, -1, 151, 161, -1, + 151, 163, -1, 151, 164, -1, 209, -1, 152, 140, + 209, -1, 209, -1, 153, 140, 209, -1, -1, -1, + 4, 155, 134, 152, 135, 156, 141, 153, 142, 6, + -1, 221, -1, 157, 140, 221, -1, -1, 83, 134, + 209, 140, 209, 140, 209, 135, 159, 141, 157, 142, + 6, -1, 221, -1, 160, 140, 221, -1, -1, 84, + 134, 209, 140, 209, 140, 209, 140, 209, 135, 162, + 141, 160, 142, 6, -1, 85, 141, 213, 142, 141, + 213, 142, 6, -1, 85, 141, 213, 142, 141, 213, + 142, 141, 213, 142, 141, 213, 142, 6, -1, -1, + 86, 165, 141, 153, 142, 6, -1, 7, -1, 114, + -1, 113, -1, 112, -1, 111, -1, 132, -1, 131, + -1, 4, 166, 209, 6, -1, 4, 136, 209, 137, + 166, 209, 6, -1, 4, 136, 141, 217, 142, 137, + 166, 214, 6, -1, 4, 136, 137, 7, 214, 6, + -1, 4, 136, 137, 114, 214, 6, -1, 4, 167, + 6, -1, 4, 136, 209, 137, 167, 6, -1, 4, + 7, 222, 6, -1, 4, 138, 4, 7, 222, 6, + -1, 4, 136, 209, 137, 138, 4, 7, 222, 6, + -1, 4, 138, 4, 166, 209, 6, -1, 4, 136, + 209, 137, 138, 4, 166, 209, 6, -1, 4, 138, + 4, 167, 6, -1, 4, 136, 209, 137, 138, 4, + 167, 6, -1, 4, 138, 93, 138, 4, 7, 218, + 6, -1, 4, 136, 209, 137, 138, 93, 138, 4, + 7, 218, 6, -1, 4, 138, 94, 7, 219, 6, + -1, 4, 136, 209, 137, 138, 94, 7, 219, 6, + -1, 4, 101, 7, 209, 6, -1, 101, 136, 209, + 137, 7, 4, 6, -1, 101, 136, 209, 137, 138, + 4, 7, 209, 6, -1, 101, 136, 209, 137, 138, + 4, 7, 222, 6, -1, 101, 136, 209, 137, 138, + 4, 7, 141, 217, 142, 6, -1, 65, 134, 4, + 135, 138, 4, 7, 209, 6, -1, 65, 134, 4, + 135, 138, 4, 7, 222, 6, -1, 209, -1, 222, + -1, -1, 96, 49, 141, 209, 142, -1, -1, 58, + 211, -1, 45, 134, 209, 135, 7, 211, 6, -1, + -1, 62, 45, 173, 134, 169, 135, 7, 214, 6, + -1, 54, 55, 214, 7, 209, 6, -1, 48, 134, + 209, 135, 7, 214, 6, -1, 52, 134, 209, 135, + 7, 214, 6, -1, 46, 134, 209, 135, 7, 214, + 171, 6, -1, 47, 134, 209, 135, 7, 214, 171, + 6, -1, 88, 134, 209, 135, 7, 214, 6, -1, + 89, 134, 209, 135, 7, 214, 6, -1, 90, 134, + 209, 135, 7, 214, 92, 214, 91, 209, 6, -1, + 48, 72, 134, 209, 135, 7, 214, 6, -1, -1, + 62, 48, 174, 134, 169, 135, 7, 214, 6, -1, + 58, 51, 134, 209, 135, 7, 214, 6, -1, 59, + 51, 134, 209, 135, 7, 214, 170, 6, -1, 12, + 13, 6, -1, 13, 51, 209, 6, -1, 56, 51, + 134, 209, 135, 7, 5, 5, 5, 6, -1, 49, + 134, 209, 135, 7, 214, 6, -1, 50, 134, 209, + 135, 7, 214, 6, -1, 51, 72, 134, 209, 135, + 7, 214, 6, -1, -1, 62, 51, 175, 134, 169, + 135, 7, 214, 6, -1, 63, 53, 134, 209, 135, + 7, 214, 6, -1, 63, 51, 134, 209, 135, 7, + 214, 4, 141, 213, 142, 6, -1, 63, 51, 134, + 209, 135, 7, 214, 6, -1, 63, 48, 134, 209, + 135, 7, 214, 6, -1, 61, 53, 134, 209, 135, + 7, 214, 6, -1, 53, 134, 209, 135, 7, 214, + 6, -1, -1, 62, 53, 176, 134, 169, 135, 7, + 214, 6, -1, 67, 211, 141, 178, 142, -1, 66, + 141, 211, 140, 211, 140, 209, 142, 141, 178, 142, + -1, 68, 211, 141, 178, 142, -1, 69, 141, 211, + 140, 209, 142, 141, 178, 142, -1, 4, 141, 178, + 142, -1, 78, 48, 141, 217, 142, 51, 141, 209, + 142, -1, 75, 48, 134, 209, 135, 141, 217, 142, + 6, -1, 179, -1, 177, -1, -1, 179, 172, -1, + 179, 45, 141, 217, 142, 6, -1, 179, 48, 141, + 217, 142, 6, -1, 179, 51, 141, 217, 142, 6, + -1, 179, 53, 141, 217, 142, 6, -1, 71, 4, + 134, 209, 135, 7, 214, 6, -1, 71, 4, 141, + 209, 142, 6, -1, 71, 4, 134, 209, 135, 7, + 141, 211, 140, 214, 142, 6, -1, 71, 4, 134, + 209, 135, 7, 141, 211, 140, 211, 140, 214, 142, + 6, -1, 71, 4, 134, 209, 135, 7, 141, 211, + 140, 211, 140, 211, 140, 214, 142, 6, -1, 76, + 141, 179, 142, -1, 76, 101, 136, 209, 137, 6, + -1, 76, 4, 136, 209, 137, 6, -1, 76, 4, + 6, -1, 76, 4, 4, 6, -1, 93, 218, 141, + 179, 142, -1, 105, 5, 6, -1, 106, 5, 6, + -1, 105, 141, 179, 142, -1, 106, 141, 179, 142, + -1, 4, 222, 6, -1, 4, 4, 136, 209, 137, + 221, 6, -1, 4, 4, 4, 136, 209, 137, 6, + -1, 4, 209, 6, -1, 65, 134, 4, 135, 138, + 4, 6, -1, 87, 4, 6, -1, 100, 6, -1, + 43, 6, -1, 40, 6, -1, 40, 141, 209, 140, + 209, 140, 209, 140, 209, 140, 209, 140, 209, 142, + 6, -1, 41, 6, -1, 44, 6, -1, 95, 134, + 209, 8, 209, 135, -1, 95, 134, 209, 8, 209, + 8, 209, 135, -1, 95, 4, 96, 141, 209, 8, + 209, 142, -1, 95, 4, 96, 141, 209, 8, 209, + 8, 209, 142, -1, 97, -1, 104, 4, -1, 102, + -1, 103, 4, 6, -1, 98, 134, 209, 135, -1, + 99, -1, 70, 211, 141, 179, 142, -1, 70, 141, + 211, 140, 211, 140, 209, 142, 141, 179, 142, -1, + 70, 141, 211, 140, 211, 140, 211, 140, 209, 142, + 141, 179, 142, -1, -1, 70, 211, 141, 179, 187, + 200, 142, -1, -1, 70, 141, 211, 140, 211, 140, + 209, 142, 141, 179, 188, 200, 142, -1, -1, 70, + 141, 211, 140, 211, 140, 211, 140, 209, 142, 141, + 179, 189, 200, 142, -1, -1, 70, 141, 179, 190, + 200, 142, -1, 70, 45, 141, 209, 140, 211, 142, + 6, -1, 70, 48, 141, 209, 140, 211, 142, 6, + -1, 70, 51, 141, 209, 140, 211, 142, 6, -1, + 70, 45, 141, 209, 140, 211, 140, 211, 140, 209, + 142, 6, -1, 70, 48, 141, 209, 140, 211, 140, + 211, 140, 209, 142, 6, -1, 70, 51, 141, 209, + 140, 211, 140, 211, 140, 209, 142, 6, -1, 70, + 45, 141, 209, 140, 211, 140, 211, 140, 211, 140, + 209, 142, 6, -1, 70, 48, 141, 209, 140, 211, + 140, 211, 140, 211, 140, 209, 142, 6, -1, 70, + 51, 141, 209, 140, 211, 140, 211, 140, 211, 140, + 209, 142, 6, -1, -1, 70, 45, 141, 209, 140, + 211, 142, 191, 141, 200, 142, 6, -1, -1, 70, + 48, 141, 209, 140, 211, 142, 192, 141, 200, 142, + 6, -1, -1, 70, 51, 141, 209, 140, 211, 142, + 193, 141, 200, 142, 6, -1, -1, 70, 45, 141, + 209, 140, 211, 140, 211, 140, 209, 142, 194, 141, + 200, 142, 6, -1, -1, 70, 48, 141, 209, 140, + 211, 140, 211, 140, 209, 142, 195, 141, 200, 142, + 6, -1, -1, 70, 51, 141, 209, 140, 211, 140, + 211, 140, 209, 142, 196, 141, 200, 142, 6, -1, + -1, 70, 45, 141, 209, 140, 211, 140, 211, 140, + 211, 140, 209, 142, 197, 141, 200, 142, 6, -1, + -1, 70, 48, 141, 209, 140, 211, 140, 211, 140, + 211, 140, 209, 142, 198, 141, 200, 142, 6, -1, + -1, 70, 51, 141, 209, 140, 211, 140, 211, 140, + 211, 140, 209, 142, 199, 141, 200, 142, 6, -1, + 201, -1, 200, 201, -1, 79, 141, 209, 142, 6, + -1, 79, 141, 214, 140, 214, 142, 6, -1, 79, + 141, 214, 140, 214, 140, 214, 142, 6, -1, 73, + 6, -1, 80, 134, 209, 135, 7, 214, 64, 209, + 6, -1, -1, 64, 4, 209, -1, -1, 4, -1, + -1, 7, 214, -1, -1, 7, 209, -1, 60, 48, + 215, 7, 209, 202, 6, -1, 60, 51, 215, 204, + 203, 6, -1, 57, 51, 141, 209, 142, 7, 214, + 6, -1, 60, 53, 215, 204, 6, -1, 73, 51, + 215, 205, 6, -1, 74, 51, 214, 7, 209, 6, + -1, 45, 141, 217, 142, 96, 51, 141, 209, 142, + 6, -1, 48, 141, 217, 142, 96, 51, 141, 209, + 142, 6, -1, 48, 141, 217, 142, 96, 53, 141, + 209, 142, 6, -1, 51, 141, 217, 142, 96, 53, + 141, 209, 142, 6, -1, 77, 6, -1, 77, 4, + 6, -1, 210, -1, 134, 209, 135, -1, 125, 209, + -1, 124, 209, -1, 129, 209, -1, 209, 125, 209, + -1, 209, 124, 209, -1, 209, 126, 209, -1, 209, + 127, 209, -1, 209, 128, 209, -1, 209, 133, 209, + -1, 209, 120, 209, -1, 209, 121, 209, -1, 209, + 123, 209, -1, 209, 122, 209, -1, 209, 119, 209, + -1, 209, 118, 209, -1, 209, 117, 209, -1, 209, + 116, 209, -1, 209, 115, 209, 8, 209, -1, 14, + 134, 209, 135, -1, 15, 134, 209, 135, -1, 16, + 134, 209, 135, -1, 17, 134, 209, 135, -1, 18, + 134, 209, 135, -1, 19, 134, 209, 135, -1, 20, + 134, 209, 135, -1, 21, 134, 209, 135, -1, 22, + 134, 209, 135, -1, 24, 134, 209, 135, -1, 25, + 134, 209, 140, 209, 135, -1, 26, 134, 209, 135, + -1, 27, 134, 209, 135, -1, 28, 134, 209, 135, + -1, 29, 134, 209, 135, -1, 30, 134, 209, 135, + -1, 31, 134, 209, 135, -1, 32, 134, 209, 140, + 209, 135, -1, 33, 134, 209, 140, 209, 135, -1, + 34, 134, 209, 140, 209, 135, -1, 23, 134, 209, + 135, -1, 14, 136, 209, 137, -1, 15, 136, 209, + 137, -1, 16, 136, 209, 137, -1, 17, 136, 209, + 137, -1, 18, 136, 209, 137, -1, 19, 136, 209, + 137, -1, 20, 136, 209, 137, -1, 21, 136, 209, + 137, -1, 22, 136, 209, 137, -1, 24, 136, 209, + 137, -1, 25, 136, 209, 140, 209, 137, -1, 26, + 136, 209, 137, -1, 27, 136, 209, 137, -1, 28, + 136, 209, 137, -1, 29, 136, 209, 137, -1, 30, + 136, 209, 137, -1, 31, 136, 209, 137, -1, 32, + 136, 209, 140, 209, 137, -1, 33, 136, 209, 140, + 209, 137, -1, 34, 136, 209, 140, 209, 137, -1, + 23, 136, 209, 137, -1, 3, -1, 9, -1, 10, + -1, 11, -1, 108, -1, 109, -1, 110, -1, 4, + -1, 4, 143, 141, 209, 142, -1, 4, 136, 209, + 137, -1, 139, 4, 136, 137, -1, 4, 167, -1, + 4, 136, 209, 137, 167, -1, 4, 138, 4, -1, + 4, 136, 209, 137, 138, 4, -1, 4, 138, 4, + 167, -1, 4, 136, 209, 137, 138, 4, 167, -1, + 107, 134, 5, 140, 209, 135, -1, 212, -1, 125, + 211, -1, 124, 211, -1, 211, 125, 211, -1, 211, + 124, 211, -1, 141, 209, 140, 209, 140, 209, 140, + 209, 140, 209, 142, -1, 141, 209, 140, 209, 140, + 209, 140, 209, 142, -1, 141, 209, 140, 209, 140, + 209, 142, -1, 134, 209, 140, 209, 140, 209, 135, + -1, 214, -1, 213, 140, 214, -1, 209, -1, 216, + -1, 141, 142, -1, 141, 217, 142, -1, 125, 141, + 217, 142, -1, 209, 126, 141, 217, 142, -1, 214, + -1, 5, -1, 125, 216, -1, 209, 126, 216, -1, + 209, 8, 209, -1, 209, 8, 209, 8, 209, -1, + 45, 141, 209, 142, -1, 177, -1, 186, -1, 4, + 136, 137, -1, 4, 136, 141, 217, 142, 137, -1, + 209, -1, 216, -1, 217, 140, 209, -1, 217, 140, + 216, -1, 141, 209, 140, 209, 140, 209, 140, 209, + 142, -1, 141, 209, 140, 209, 140, 209, 142, -1, + 4, -1, 4, 138, 93, 138, 4, -1, 141, 220, + 142, -1, 4, 136, 209, 137, 138, 94, -1, 218, + -1, 220, 140, 218, -1, 222, -1, 4, -1, 4, + 138, 4, -1, 4, 136, 209, 137, 138, 4, -1, + 5, -1, 42, -1, 37, 134, 221, 140, 221, 135, + -1, 38, 134, 221, 135, -1, 39, 134, 221, 135, + -1, 36, 134, 221, 135, -1, 36, 134, 221, 140, + 217, 135, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 141, 141, 142, 147, 149, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 170, 174, 181, 186, 201, 214, 243, 257, 268, 283, - 288, 289, 290, 291, 292, 296, 298, 303, 305, 311, - 415, 310, 433, 440, 451, 450, 468, 475, 486, 485, - 502, 519, 542, 541, 555, 556, 557, 558, 559, 563, - 564, 571, 593, 620, 660, 670, 678, 686, 698, 707, - 713, 722, 740, 758, 767, 779, 784, 792, 812, 835, - 842, 848, 868, 889, 915, 927, 944, 948, 959, 962, - 975, 978, 988, 1012, 1011, 1031, 1053, 1071, 1089, 1119, - 1149, 1167, 1185, 1211, 1229, 1228, 1251, 1269, 1308, 1314, - 1320, 1327, 1352, 1377, 1394, 1393, 1413, 1430, 1458, 1475, - 1495, 1513, 1531, 1530, 1555, 1560, 1565, 1570, 1575, 1595, - 1601, 1612, 1613, 1618, 1621, 1625, 1648, 1671, 1694, 1722, - 1731, 1735, 1750, 1777, 1794, 1808, 1814, 1820, 1829, 1843, - 1891, 1909, 1924, 1943, 1955, 1979, 1983, 1990, 1996, 2001, - 2007, 2016, 2033, 2050, 2069, 2088, 2116, 2124, 2130, 2137, - 2141, 2150, 2158, 2166, 2175, 2174, 2187, 2186, 2199, 2198, - 2211, 2210, 2223, 2230, 2237, 2244, 2251, 2258, 2265, 2272, - 2279, 2287, 2286, 2298, 2297, 2309, 2308, 2320, 2319, 2331, - 2330, 2342, 2341, 2353, 2352, 2364, 2363, 2375, 2374, 2389, - 2392, 2398, 2407, 2427, 2450, 2454, 2478, 2481, 2497, 2500, - 2513, 2516, 2522, 2525, 2532, 2588, 2658, 2663, 2730, 2773, - 2799, 2822, 2845, 2848, 2857, 2861, 2877, 2878, 2879, 2880, - 2881, 2882, 2883, 2884, 2885, 2892, 2893, 2894, 2895, 2896, - 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, - 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, - 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2925, 2926, 2927, - 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, - 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2954, 2955, - 2956, 2957, 2958, 2959, 2960, 2964, 2977, 2989, 3004, 3014, - 3024, 3042, 3047, 3052, 3062, 3072, 3080, 3084, 3088, 3092, - 3096, 3103, 3107, 3111, 3115, 3122, 3127, 3134, 3139, 3143, - 3148, 3152, 3160, 3171, 3175, 3187, 3195, 3203, 3210, 3221, - 3241, 3251, 3261, 3271, 3291, 3296, 3300, 3304, 3316, 3320, - 3332, 3339, 3349, 3353, 3368, 3373, 3380, 3384, 3397, 3405, - 3416, 3420, 3428, 3436, 3450, 3464, 3468 + 0, 142, 142, 143, 148, 150, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 172, 176, 183, 188, 203, 216, 245, 259, 270, + 285, 290, 291, 292, 293, 294, 298, 300, 305, 307, + 313, 417, 312, 435, 442, 453, 452, 470, 477, 488, + 487, 504, 521, 544, 543, 557, 558, 559, 560, 561, + 565, 566, 573, 595, 622, 662, 672, 680, 688, 700, + 709, 715, 724, 742, 760, 769, 781, 786, 794, 814, + 837, 844, 850, 870, 891, 917, 929, 946, 950, 961, + 964, 977, 980, 990, 1014, 1013, 1033, 1055, 1073, 1091, + 1121, 1151, 1169, 1187, 1213, 1231, 1230, 1253, 1271, 1310, + 1316, 1322, 1329, 1354, 1379, 1396, 1395, 1415, 1432, 1460, + 1477, 1497, 1515, 1533, 1532, 1557, 1562, 1567, 1572, 1577, + 1597, 1603, 1614, 1615, 1620, 1623, 1627, 1650, 1673, 1696, + 1724, 1816, 1828, 1847, 1960, 1985, 1994, 1998, 2013, 2040, + 2057, 2071, 2077, 2083, 2092, 2106, 2154, 2172, 2187, 2206, + 2218, 2242, 2246, 2253, 2259, 2264, 2270, 2279, 2296, 2313, + 2332, 2351, 2379, 2387, 2393, 2400, 2404, 2413, 2421, 2429, + 2438, 2437, 2450, 2449, 2462, 2461, 2474, 2473, 2486, 2493, + 2500, 2507, 2514, 2521, 2528, 2535, 2542, 2550, 2549, 2561, + 2560, 2572, 2571, 2583, 2582, 2594, 2593, 2605, 2604, 2616, + 2615, 2627, 2626, 2638, 2637, 2652, 2655, 2661, 2670, 2690, + 2713, 2717, 2741, 2744, 2760, 2763, 2776, 2779, 2785, 2788, + 2795, 2851, 2921, 2926, 2993, 3036, 3062, 3085, 3108, 3111, + 3120, 3124, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, + 3148, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, + 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, + 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, + 3184, 3185, 3186, 3188, 3189, 3190, 3191, 3192, 3193, 3194, + 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, + 3205, 3206, 3207, 3208, 3217, 3218, 3219, 3220, 3221, 3222, + 3223, 3227, 3240, 3252, 3267, 3277, 3287, 3305, 3310, 3315, + 3325, 3335, 3343, 3347, 3351, 3355, 3359, 3366, 3370, 3374, + 3378, 3385, 3390, 3397, 3402, 3406, 3411, 3415, 3423, 3434, + 3438, 3450, 3458, 3466, 3473, 3484, 3504, 3514, 3524, 3534, + 3554, 3559, 3563, 3567, 3579, 3583, 3595, 3602, 3612, 3616, + 3631, 3636, 3643, 3647, 3660, 3668, 3679, 3683, 3691, 3699, + 3713, 3727, 3731 }; #endif @@ -1030,28 +1042,28 @@ static const char *const yytname[] = "tSurface", "tSpline", "tVolume", "tCharacteristic", "tLength", "tParametric", "tElliptic", "tPlane", "tRuled", "tTransfinite", "tComplex", "tPhysical", "tCompound", "tUsing", "tPlugin", "tRotate", - "tTranslate", "tSymmetry", "tDilate", "tExtrude", "tLoop", "tRecombine", - "tSmoother", "tSplit", "tDelete", "tCoherence", "tIntersect", "tLayers", - "tHole", "tAlias", "tAliasWithOptions", "tText2D", "tText3D", - "tInterpolationScheme", "tTime", "tCombine", "tBSpline", "tBezier", - "tNurbs", "tOrder", "tKnots", "tColor", "tColorTable", "tFor", "tIn", - "tEndFor", "tIf", "tEndIf", "tExit", "tField", "tReturn", "tCall", - "tFunction", "tShow", "tHide", "tGetValue", "tGMSH_MAJOR_VERSION", - "tGMSH_MINOR_VERSION", "tGMSH_PATCH_VERSION", "tAFFECTDIVIDE", - "tAFFECTTIMES", "tAFFECTMINUS", "tAFFECTPLUS", "'?'", "tOR", "tAND", - "tNOTEQUAL", "tEQUAL", "'<'", "'>'", "tGREATEROREQUAL", "tLESSOREQUAL", - "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "UNARYPREC", "tMINUSMINUS", - "tPLUSPLUS", "'^'", "'('", "')'", "'['", "']'", "'.'", "'#'", "','", - "'{'", "'}'", "'~'", "$accept", "All", "GeoFormatItems", "GeoFormatItem", - "SendToFile", "Printf", "View", "Views", "ElementCoords", - "ElementValues", "Element", "@1", "@2", "Text2DValues", "Text2D", "@3", - "Text3DValues", "Text3D", "@4", "InterpolationMatrix", "Time", "@5", - "NumericAffectation", "NumericIncrement", "Affectation", "PhysicalId", - "InSphereCenter", "CircleOptions", "Shape", "@6", "@7", "@8", "@9", - "Transform", "MultipleShape", "ListOfShapes", "Delete", "Colorify", - "Visibility", "Command", "Loop", "Extrude", "@10", "@11", "@12", "@13", - "@14", "@15", "@16", "@17", "@18", "@19", "@20", "@21", "@22", - "ExtrudeParameters", "ExtrudeParameter", "TransfiniteType", + "tTranslate", "tSymmetry", "tDilate", "tExtrude", "tLevelset", "tLoop", + "tRecombine", "tSmoother", "tSplit", "tDelete", "tCoherence", + "tIntersect", "tLayers", "tHole", "tAlias", "tAliasWithOptions", + "tText2D", "tText3D", "tInterpolationScheme", "tTime", "tCombine", + "tBSpline", "tBezier", "tNurbs", "tOrder", "tKnots", "tColor", + "tColorTable", "tFor", "tIn", "tEndFor", "tIf", "tEndIf", "tExit", + "tField", "tReturn", "tCall", "tFunction", "tShow", "tHide", "tGetValue", + "tGMSH_MAJOR_VERSION", "tGMSH_MINOR_VERSION", "tGMSH_PATCH_VERSION", + "tAFFECTDIVIDE", "tAFFECTTIMES", "tAFFECTMINUS", "tAFFECTPLUS", "'?'", + "tOR", "tAND", "tNOTEQUAL", "tEQUAL", "'<'", "'>'", "tGREATEROREQUAL", + "tLESSOREQUAL", "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "UNARYPREC", + "tMINUSMINUS", "tPLUSPLUS", "'^'", "'('", "')'", "'['", "']'", "'.'", + "'#'", "','", "'{'", "'}'", "'~'", "$accept", "All", "GeoFormatItems", + "GeoFormatItem", "SendToFile", "Printf", "View", "Views", + "ElementCoords", "ElementValues", "Element", "@1", "@2", "Text2DValues", + "Text2D", "@3", "Text3DValues", "Text3D", "@4", "InterpolationMatrix", + "Time", "@5", "NumericAffectation", "NumericIncrement", "Affectation", + "PhysicalId", "InSphereCenter", "CircleOptions", "Shape", "@6", "@7", + "@8", "@9", "Transform", "MultipleShape", "ListOfShapes", "LevelSet", + "Delete", "Colorify", "Visibility", "Command", "Loop", "Extrude", "@10", + "@11", "@12", "@13", "@14", "@15", "@16", "@17", "@18", "@19", "@20", + "@21", "@22", "ExtrudeParameters", "ExtrudeParameter", "TransfiniteType", "TransfiniteArrangement", "TransfiniteCorners", "RecombineAngle", "Transfinite", "Embedding", "Coherence", "FExpr", "FExpr_Single", "VExpr", "VExpr_Single", "RecursiveListOfListOfDouble", "ListOfDouble", @@ -1076,53 +1088,54 @@ static const yytype_uint16 yytoknum[] = 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 63, 369, 370, 371, 372, 60, - 62, 373, 374, 43, 45, 42, 47, 37, 33, 375, - 376, 377, 94, 40, 41, 91, 93, 46, 35, 44, - 123, 125, 126 + 365, 366, 367, 368, 369, 63, 370, 371, 372, 373, + 60, 62, 374, 375, 43, 45, 42, 47, 37, 33, + 376, 377, 378, 94, 40, 41, 91, 93, 46, 35, + 44, 123, 125, 126 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 143, 144, 144, 145, 145, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 147, 147, 148, 148, 148, 148, 149, 149, 149, 150, - 150, 150, 150, 150, 150, 151, 151, 152, 152, 154, - 155, 153, 156, 156, 158, 157, 159, 159, 161, 160, - 162, 162, 164, 163, 165, 165, 165, 165, 165, 166, - 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 168, 168, 169, 169, - 170, 170, 171, 172, 171, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 173, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 174, 171, 171, 171, 171, 171, - 171, 171, 175, 171, 176, 176, 176, 176, 176, 176, - 176, 177, 177, 178, 178, 178, 178, 178, 178, 179, - 179, 179, 179, 179, 180, 181, 181, 181, 181, 182, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 184, 184, 184, 185, 184, 186, 184, 187, 184, - 188, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 189, 184, 190, 184, 191, 184, 192, 184, 193, - 184, 194, 184, 195, 184, 196, 184, 197, 184, 198, - 198, 199, 199, 199, 199, 199, 200, 200, 201, 201, - 202, 202, 203, 203, 204, 204, 204, 204, 204, 204, - 205, 205, 205, 205, 206, 206, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 209, 209, 209, 209, - 209, 210, 210, 210, 210, 211, 211, 212, 212, 212, - 212, 212, 212, 213, 213, 214, 214, 214, 214, 214, - 214, 214, 214, 214, 215, 215, 215, 215, 216, 216, - 216, 216, 217, 217, 218, 218, 219, 219, 219, 219, - 220, 220, 220, 220, 220, 220, 220 + 0, 144, 145, 145, 146, 146, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 148, 148, 149, 149, 149, 149, 150, 150, 150, + 151, 151, 151, 151, 151, 151, 152, 152, 153, 153, + 155, 156, 154, 157, 157, 159, 158, 160, 160, 162, + 161, 163, 163, 165, 164, 166, 166, 166, 166, 166, + 167, 167, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 169, 169, 170, + 170, 171, 171, 172, 173, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 174, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 175, 172, 172, 172, 172, + 172, 172, 172, 176, 172, 177, 177, 177, 177, 177, + 177, 177, 178, 178, 179, 179, 179, 179, 179, 179, + 180, 180, 180, 180, 180, 181, 181, 181, 181, 181, + 182, 183, 183, 183, 183, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, + 187, 186, 188, 186, 189, 186, 190, 186, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 191, 186, 192, + 186, 193, 186, 194, 186, 195, 186, 196, 186, 197, + 186, 198, 186, 199, 186, 200, 200, 201, 201, 201, + 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, + 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, + 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 211, 211, 211, 211, 211, 212, 212, 212, + 212, 213, 213, 214, 214, 214, 214, 214, 214, 215, + 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 217, 217, 217, 217, 218, 218, 218, 218, 219, 219, + 220, 220, 221, 221, 221, 221, 222, 222, 222, 222, + 222, 222, 222 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1130,41 +1143,42 @@ static const yytype_uint8 yyr2[] = { 0, 2, 1, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 5, 7, 7, 9, 6, 6, 6, 0, - 2, 2, 2, 2, 2, 1, 3, 1, 3, 0, - 0, 10, 1, 3, 0, 13, 1, 3, 0, 15, - 8, 14, 0, 6, 1, 1, 1, 1, 1, 1, - 1, 4, 7, 9, 6, 6, 3, 6, 4, 6, - 9, 6, 9, 5, 8, 8, 11, 6, 9, 5, - 7, 9, 9, 11, 9, 9, 1, 1, 0, 5, - 0, 2, 7, 0, 9, 6, 7, 7, 8, 8, - 7, 7, 11, 8, 0, 9, 8, 9, 3, 4, - 10, 7, 7, 8, 0, 9, 8, 12, 8, 8, - 8, 7, 0, 9, 5, 11, 5, 9, 4, 9, - 9, 1, 1, 0, 2, 6, 6, 6, 6, 4, - 6, 6, 3, 4, 5, 3, 3, 4, 4, 3, - 7, 7, 3, 7, 3, 2, 2, 2, 15, 2, - 2, 6, 8, 8, 10, 1, 2, 1, 3, 4, - 1, 5, 11, 13, 0, 7, 0, 13, 0, 15, - 0, 6, 8, 8, 8, 12, 12, 12, 14, 14, - 14, 0, 12, 0, 12, 0, 12, 0, 16, 0, - 16, 0, 16, 0, 18, 0, 18, 0, 18, 1, - 2, 5, 7, 9, 2, 9, 0, 3, 0, 1, - 0, 2, 0, 2, 7, 6, 8, 5, 5, 6, - 10, 10, 10, 10, 2, 3, 1, 3, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, - 4, 4, 4, 6, 6, 6, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, - 4, 4, 4, 4, 6, 6, 6, 4, 1, 1, - 1, 1, 1, 1, 1, 1, 5, 4, 4, 2, - 5, 3, 6, 4, 7, 6, 1, 2, 2, 3, - 3, 11, 9, 7, 7, 1, 3, 1, 1, 2, - 3, 4, 5, 1, 1, 2, 3, 3, 5, 4, - 1, 1, 3, 6, 1, 1, 3, 3, 9, 7, - 1, 5, 3, 6, 1, 3, 1, 1, 3, 6, - 1, 1, 6, 4, 4, 4, 6 + 1, 1, 2, 5, 7, 7, 9, 6, 6, 6, + 0, 2, 2, 2, 2, 2, 1, 3, 1, 3, + 0, 0, 10, 1, 3, 0, 13, 1, 3, 0, + 15, 8, 14, 0, 6, 1, 1, 1, 1, 1, + 1, 1, 4, 7, 9, 6, 6, 3, 6, 4, + 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, + 5, 7, 9, 9, 11, 9, 9, 1, 1, 0, + 5, 0, 2, 7, 0, 9, 6, 7, 7, 8, + 8, 7, 7, 11, 8, 0, 9, 8, 9, 3, + 4, 10, 7, 7, 8, 0, 9, 8, 12, 8, + 8, 8, 7, 0, 9, 5, 11, 5, 9, 4, + 9, 9, 1, 1, 0, 2, 6, 6, 6, 6, + 8, 6, 12, 14, 16, 4, 6, 6, 3, 4, + 5, 3, 3, 4, 4, 3, 7, 7, 3, 7, + 3, 2, 2, 2, 15, 2, 2, 6, 8, 8, + 10, 1, 2, 1, 3, 4, 1, 5, 11, 13, + 0, 7, 0, 13, 0, 15, 0, 6, 8, 8, + 8, 12, 12, 12, 14, 14, 14, 0, 12, 0, + 12, 0, 12, 0, 16, 0, 16, 0, 16, 0, + 18, 0, 18, 0, 18, 1, 2, 5, 7, 9, + 2, 9, 0, 3, 0, 1, 0, 2, 0, 2, + 7, 6, 8, 5, 5, 6, 10, 10, 10, 10, + 2, 3, 1, 3, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 6, 4, 4, 4, 4, 4, 4, 6, + 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, + 6, 6, 6, 4, 1, 1, 1, 1, 1, 1, + 1, 1, 5, 4, 4, 2, 5, 3, 6, 4, + 7, 6, 1, 2, 2, 3, 3, 11, 9, 7, + 7, 1, 3, 1, 1, 2, 3, 4, 5, 1, + 1, 2, 3, 3, 5, 4, 1, 1, 3, 6, + 1, 1, 3, 3, 9, 7, 1, 5, 3, 6, + 1, 3, 1, 1, 3, 6, 1, 1, 6, 4, + 4, 4, 6 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1177,286 +1191,294 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 165, 0, 170, 0, 0, 167, 0, 0, - 0, 0, 5, 7, 6, 8, 9, 10, 11, 12, - 13, 19, 18, 14, 15, 16, 17, 298, 305, 360, - 54, 299, 300, 301, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 171, 0, 176, 0, 0, 173, 0, + 0, 0, 0, 5, 7, 6, 8, 9, 10, 20, + 11, 12, 13, 19, 18, 14, 15, 16, 17, 304, + 311, 366, 55, 305, 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, - 0, 0, 302, 303, 304, 58, 57, 56, 55, 0, - 0, 0, 60, 59, 0, 0, 0, 0, 133, 0, - 0, 0, 236, 0, 0, 0, 0, 157, 0, 159, - 156, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 93, 104, 114, 122, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 316, 0, - 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, - 0, 133, 0, 234, 0, 0, 0, 0, 0, 0, - 0, 350, 0, 0, 0, 0, 0, 155, 0, 0, - 166, 0, 133, 0, 133, 0, 0, 0, 0, 309, - 29, 360, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 367, 0, 0, 308, 309, 310, 59, 58, 57, + 56, 0, 0, 0, 61, 60, 0, 0, 0, 0, + 134, 0, 0, 0, 242, 0, 0, 0, 0, 163, + 0, 165, 162, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 94, 105, 115, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 322, 0, 0, 0, 0, 0, 134, 0, 0, 0, + 0, 0, 0, 0, 134, 0, 240, 0, 0, 0, + 0, 0, 0, 0, 356, 0, 0, 0, 0, 0, + 161, 0, 0, 172, 0, 134, 0, 134, 0, 0, + 0, 0, 315, 30, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 305, 239, 238, 240, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 0, 131, 0, 66, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 149, 108, 0, 0, 0, - 0, 305, 0, 0, 340, 341, 344, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 327, 0, 328, 0, 0, 0, 0, 334, - 333, 0, 220, 220, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 318, 317, 0, 0, 0, 0, - 133, 133, 0, 0, 0, 0, 0, 0, 0, 180, - 0, 133, 222, 0, 0, 0, 142, 0, 0, 0, - 235, 0, 0, 0, 154, 0, 0, 0, 0, 0, - 133, 0, 0, 0, 0, 168, 145, 0, 146, 0, - 0, 0, 311, 0, 0, 68, 0, 0, 0, 0, + 0, 0, 0, 0, 311, 245, 244, 246, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 132, + 0, 67, 158, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 155, 109, + 0, 0, 0, 0, 311, 0, 0, 346, 347, 350, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 333, 0, 334, 0, 0, + 0, 0, 340, 339, 0, 226, 226, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 324, 323, 0, + 0, 0, 0, 134, 134, 0, 0, 0, 0, 0, + 0, 0, 186, 0, 134, 0, 0, 228, 0, 0, + 0, 148, 0, 0, 0, 241, 0, 0, 0, 160, + 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, + 174, 151, 0, 152, 0, 0, 0, 317, 0, 0, + 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, - 356, 0, 0, 0, 0, 0, 0, 237, 0, 0, - 0, 0, 54, 0, 0, 0, 0, 0, 128, 0, - 0, 0, 0, 134, 61, 0, 254, 253, 252, 251, - 247, 248, 250, 249, 242, 241, 243, 244, 245, 246, - 109, 0, 0, 0, 0, 0, 0, 238, 335, 0, + 0, 0, 0, 363, 0, 362, 0, 0, 0, 0, + 0, 0, 243, 0, 0, 0, 0, 55, 0, 0, + 0, 0, 0, 129, 0, 0, 0, 0, 135, 62, + 0, 260, 259, 258, 257, 253, 254, 256, 255, 248, + 247, 249, 250, 251, 252, 110, 0, 0, 0, 0, + 0, 0, 244, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, - 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 0, 0, 0, 0, 143, 0, 0, 139, 0, + 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 326, 325, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, + 0, 0, 149, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 153, + 154, 0, 313, 319, 0, 40, 0, 0, 0, 53, + 0, 31, 32, 33, 34, 35, 262, 283, 263, 284, + 264, 285, 265, 286, 266, 287, 267, 288, 268, 289, + 269, 290, 270, 291, 282, 303, 271, 292, 0, 0, + 273, 294, 274, 295, 275, 296, 276, 297, 277, 298, + 278, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 371, 0, 0, 369, 370, 80, 0, 0, 0, 0, + 0, 55, 0, 0, 0, 0, 0, 74, 0, 0, + 0, 0, 314, 0, 0, 0, 0, 0, 23, 21, + 0, 0, 0, 0, 348, 0, 0, 343, 249, 342, + 352, 353, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, + 0, 0, 222, 227, 225, 0, 233, 0, 0, 87, + 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 125, 127, 0, 0, 0, 0, 0, 0, 0, + 0, 215, 0, 177, 0, 0, 0, 229, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 169, 0, 147, 148, 0, 307, 313, 0, 39, 0, - 0, 0, 52, 0, 30, 31, 32, 33, 34, 256, - 277, 257, 278, 258, 279, 259, 280, 260, 281, 261, - 282, 262, 283, 263, 284, 264, 285, 276, 297, 265, - 286, 0, 0, 267, 288, 268, 289, 269, 290, 270, - 291, 271, 292, 272, 293, 0, 0, 0, 0, 0, - 0, 0, 0, 365, 0, 0, 363, 364, 79, 0, - 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, - 73, 0, 0, 0, 0, 308, 0, 0, 0, 0, - 0, 22, 20, 0, 0, 0, 0, 342, 0, 0, - 337, 243, 336, 346, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, - 0, 0, 0, 0, 0, 216, 221, 219, 0, 227, - 0, 0, 86, 87, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 126, 0, 0, 0, 0, - 0, 0, 0, 0, 209, 0, 171, 0, 223, 228, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 0, 0, 0, 0, 0, 310, - 0, 306, 0, 0, 0, 0, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, - 0, 307, 64, 65, 0, 0, 0, 0, 0, 67, - 69, 71, 0, 0, 354, 0, 77, 0, 0, 0, - 0, 255, 21, 0, 0, 0, 0, 0, 339, 0, - 0, 90, 90, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 331, 0, 95, 0, 0, 0, 0, - 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, - 0, 0, 181, 210, 0, 0, 229, 0, 141, 140, - 0, 27, 28, 0, 0, 0, 351, 0, 0, 0, - 161, 0, 0, 151, 312, 150, 0, 0, 0, 0, - 325, 0, 266, 287, 273, 294, 274, 295, 275, 296, - 0, 366, 362, 315, 0, 54, 0, 0, 0, 0, - 62, 0, 0, 0, 352, 0, 0, 0, 0, 23, - 24, 0, 0, 92, 0, 338, 0, 0, 0, 0, - 0, 96, 0, 0, 111, 112, 0, 0, 97, 121, - 332, 0, 0, 0, 88, 0, 224, 0, 0, 0, - 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, - 133, 0, 191, 0, 193, 0, 195, 327, 0, 0, - 0, 0, 175, 0, 0, 100, 101, 0, 0, 0, - 0, 80, 0, 314, 0, 35, 0, 0, 0, 0, - 0, 37, 0, 0, 0, 0, 74, 0, 0, 75, - 0, 355, 135, 136, 137, 138, 0, 0, 343, 0, - 91, 98, 99, 103, 0, 0, 113, 0, 0, 226, - 106, 0, 0, 217, 120, 0, 0, 0, 0, 119, - 0, 118, 116, 0, 0, 0, 324, 0, 323, 0, - 0, 182, 0, 0, 183, 0, 0, 184, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, - 163, 162, 0, 0, 0, 40, 0, 0, 0, 326, - 0, 0, 0, 359, 63, 70, 72, 0, 78, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 107, 94, - 105, 115, 123, 0, 84, 85, 133, 0, 127, 0, - 0, 0, 0, 0, 0, 211, 0, 0, 133, 0, - 130, 129, 0, 0, 0, 0, 81, 82, 0, 36, - 0, 0, 0, 38, 53, 0, 353, 0, 230, 231, - 232, 233, 110, 0, 0, 0, 0, 322, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 176, 0, 0, 348, 164, 0, 0, 0, 0, 0, - 76, 0, 0, 0, 125, 0, 197, 0, 0, 199, - 0, 0, 201, 0, 0, 0, 212, 0, 172, 0, - 133, 102, 83, 0, 44, 0, 50, 0, 0, 89, - 117, 321, 185, 0, 0, 192, 186, 0, 0, 194, - 187, 0, 0, 196, 0, 0, 0, 178, 0, 0, - 0, 0, 0, 0, 203, 0, 205, 0, 207, 213, - 215, 177, 173, 0, 41, 0, 48, 0, 0, 0, - 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, - 42, 0, 0, 158, 0, 0, 0, 0, 0, 0, - 179, 0, 0, 0, 0, 198, 0, 200, 0, 202, - 0, 43, 45, 0, 46, 0, 0, 0, 0, 0, - 0, 51, 204, 206, 208, 47, 49 + 0, 150, 0, 0, 0, 0, 0, 0, 316, 0, + 312, 0, 0, 0, 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, + 313, 65, 66, 0, 0, 0, 0, 0, 68, 70, + 72, 0, 0, 360, 0, 78, 0, 0, 0, 0, + 261, 22, 0, 0, 0, 0, 0, 345, 0, 0, + 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 337, 0, 96, 0, 0, 0, 0, 0, + 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, + 0, 187, 216, 0, 0, 0, 141, 235, 0, 147, + 146, 0, 28, 29, 0, 0, 0, 357, 0, 0, + 0, 167, 0, 0, 157, 318, 156, 0, 0, 0, + 0, 331, 0, 272, 293, 279, 300, 280, 301, 281, + 302, 0, 372, 368, 321, 0, 55, 0, 0, 0, + 0, 63, 0, 0, 0, 358, 0, 0, 0, 0, + 24, 25, 0, 0, 93, 0, 344, 0, 0, 0, + 0, 0, 97, 0, 0, 112, 113, 0, 0, 98, + 122, 338, 0, 0, 0, 89, 0, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, + 0, 134, 0, 197, 0, 199, 0, 201, 333, 0, + 0, 0, 0, 181, 0, 0, 0, 0, 101, 102, + 0, 0, 0, 0, 81, 0, 320, 0, 36, 0, + 0, 0, 0, 0, 38, 0, 0, 0, 0, 75, + 0, 0, 76, 0, 361, 136, 137, 138, 139, 0, + 0, 349, 0, 92, 99, 100, 104, 0, 0, 114, + 0, 0, 232, 107, 0, 0, 223, 121, 0, 0, + 0, 0, 120, 0, 119, 117, 0, 0, 0, 330, + 0, 329, 0, 0, 188, 0, 0, 189, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 140, + 0, 0, 0, 0, 355, 0, 169, 168, 0, 0, + 0, 41, 0, 0, 0, 332, 0, 0, 0, 365, + 64, 71, 73, 0, 79, 0, 26, 0, 0, 0, + 0, 0, 0, 0, 108, 95, 106, 116, 124, 0, + 85, 86, 134, 0, 128, 0, 0, 0, 0, 0, + 0, 217, 0, 0, 134, 0, 0, 131, 130, 0, + 0, 0, 0, 82, 83, 0, 37, 0, 0, 0, + 39, 54, 0, 359, 0, 236, 237, 238, 239, 111, + 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, + 0, 0, 0, 0, 354, 170, 0, 0, 0, 0, + 0, 77, 0, 0, 0, 126, 0, 203, 0, 0, + 205, 0, 0, 207, 0, 0, 0, 218, 0, 178, + 0, 134, 0, 350, 0, 0, 103, 84, 0, 45, + 0, 51, 0, 0, 90, 118, 327, 191, 0, 0, + 198, 192, 0, 0, 200, 193, 0, 0, 202, 0, + 0, 0, 184, 0, 0, 142, 0, 0, 0, 0, + 0, 0, 209, 0, 211, 0, 213, 219, 221, 183, + 179, 0, 0, 0, 42, 0, 49, 0, 0, 0, + 194, 0, 0, 195, 0, 0, 196, 0, 0, 0, + 143, 0, 43, 0, 0, 164, 0, 0, 0, 0, + 0, 0, 185, 0, 0, 0, 0, 0, 204, 0, + 206, 0, 208, 0, 144, 44, 46, 0, 47, 0, + 0, 0, 0, 0, 0, 52, 210, 212, 214, 48, + 50 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 3, 62, 663, 63, 64, 404, 964, 970, - 584, 752, 1098, 1219, 585, 1189, 1243, 586, 1221, 587, - 588, 756, 129, 219, 65, 701, 1002, 908, 473, 345, - 346, 347, 348, 314, 285, 286, 68, 69, 70, 71, - 72, 315, 727, 1159, 1203, 548, 1022, 1025, 1028, 1173, - 1177, 1181, 1211, 1214, 1217, 723, 724, 821, 698, 525, - 552, 74, 75, 76, 332, 132, 354, 178, 869, 870, - 341, 334, 318, 203, 654, 785, 449, 450 + -1, 2, 3, 63, 670, 64, 65, 409, 977, 983, + 591, 761, 1115, 1251, 592, 1217, 1277, 593, 1253, 594, + 595, 765, 131, 222, 66, 708, 1015, 919, 478, 348, + 349, 350, 351, 317, 288, 289, 69, 70, 71, 72, + 73, 74, 318, 734, 1180, 1231, 553, 1035, 1038, 1041, + 1198, 1202, 1206, 1241, 1244, 1247, 730, 731, 830, 705, + 530, 559, 76, 77, 78, 335, 134, 358, 180, 880, + 881, 344, 337, 521, 206, 661, 794, 454, 455 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1044 +#define YYPACT_NINF -1051 static const yytype_int16 yypact[] = { - 2881, 11, 37, 2959, -1044, -1044, 1360, 0, 1, -69, - 25, 68, 93, 103, 27, 62, 70, -42, 78, 82, - -10, 143, 170, 104, 66, 214, 271, 334, 17, 313, - 132, 36, 208, 252, 65, 65, 282, 216, 375, 392, - 370, 21, 84, 377, 444, 445, 456, 320, 346, 350, - 14, 35, -1044, 355, -1044, 457, 361, -1044, 495, 498, - 16, 23, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, - -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, 20, 390, - 541, -1044, -1044, -1044, 220, 260, 288, 311, 333, 383, - 432, 449, 481, 494, 499, 513, 523, 531, 549, 568, - 571, 572, 575, 597, 604, 382, 387, 406, 409, -1044, - 503, 420, -1044, -1044, -1044, -1044, -1044, -1044, -1044, 2304, - 2304, 2304, -1044, -1044, 2304, 1873, 19, 553, 342, 2304, - 501, 691, -1044, 555, 558, 2304, 570, -1044, 2304, -1044, - -1044, -1044, 2304, 2235, 2304, 2304, 443, 2304, 2235, 2304, - 2304, 453, 2235, 2304, 2304, 1540, 471, 505, 493, 506, - 1408, 1408, 1408, 516, -1044, -1044, -1044, -1044, 530, 552, - 563, 585, 65, 65, 65, 2304, 2304, -64, -1044, 181, - 65, 569, 586, 591, 2103, 210, 1408, 1540, 592, 29, - 560, -1044, 730, -1044, 605, 611, 617, 757, 2304, 2304, - 2304, 630, 2304, 631, 692, 2304, 2304, -1044, 2304, 769, - -1044, 785, -1044, 797, -1044, 685, 2304, 820, 689, -1044, - -1044, -1044, 819, 2304, 2304, 2304, 2304, 2304, 2304, 2304, - 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, - 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, - 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, - 2304, 2304, 2304, 2304, 2304, 467, 467, 467, 467, 2304, - 827, 500, 704, 704, 704, 5168, 7, 2235, 4432, 206, - 696, 842, 723, 710, -1044, 722, 3025, 1128, -1044, -1044, - 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, - 2304, 2304, 2304, 2304, 2304, -1044, -1044, 1160, -84, 3730, - 5189, 598, 731, 2235, -1044, -1044, 2663, -1044, 380, 5210, - 5231, 2304, 5252, 602, 5273, 5294, 2304, 603, 5315, 5336, - 1672, 1196, 2683, 871, -1044, 2304, 2304, 2304, 2304, -1044, - -1044, 876, 878, 878, 2304, 753, 754, 755, 756, 2304, - 2304, 2304, 758, 189, -1044, -1044, 3756, 3782, 65, 65, - 342, 342, 203, 2304, 2304, 2304, 2103, 2103, 2304, 3025, - 281, -1044, 884, 886, 2304, 888, -1044, 2304, 2304, 1578, - -1044, 2235, 2304, 2304, -1044, 5357, 5378, 5399, 803, 3808, - -1044, 759, 2709, 5420, 4455, -1044, -1044, 1710, -1044, 1974, - 2304, 4478, 41, 2304, 12, -1044, 5441, 4501, 5462, 4524, - 5483, 4547, 5504, 4570, 5525, 4593, 5546, 4616, 5567, 4639, - 5588, 4662, 5609, 4685, 5630, 4708, 5651, 4731, 3834, 3860, - 5672, 4754, 5693, 4777, 5714, 4800, 5735, 4823, 5756, 4846, - 5777, 4869, 3886, 3912, 3938, 3964, 3990, 4016, 627, -33, - -1044, 762, 763, 764, 1225, 765, 2304, -1044, 1540, 1540, - 635, 169, 541, 2304, 890, 898, 18, 767, -1044, 57, - 51, 33, 168, -1044, -1044, 2732, 554, 595, 634, 634, - 486, 486, 486, 486, 562, 562, 704, 704, 704, 704, - -1044, 6, 2235, 2304, 901, 2068, 2304, 704, -1044, 2304, - 2235, 2235, 810, 902, 903, 5798, 905, 818, 907, 908, - 5819, 821, 914, 917, 2235, -1044, 640, 1804, 2304, 5840, - 3060, 5861, 5882, 2304, 1540, 921, 922, 5903, 2361, 2361, - 2361, 2361, 5924, 5945, 5966, 792, 65, 2304, 2304, -1044, - -1044, 790, 791, 2304, 4042, 4068, 4094, 3704, 190, 65, - 2096, 2304, 927, 2304, 5987, -1044, 4892, 4915, -1044, 641, - 4938, 4961, 928, 929, 930, 801, 2304, 2403, 2304, 2304, - -1044, 8, -1044, -1044, 4984, 44, -1044, 3088, -1044, 809, - 811, 794, -1044, 939, -1044, -1044, -1044, -1044, -1044, -1044, - -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, - -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, - -1044, 2304, 2304, -1044, -1044, -1044, -1044, -1044, -1044, -1044, - -1044, -1044, -1044, -1044, -1044, 2304, 2304, 2304, 2304, 2304, - 2304, 2304, 942, -1044, 2235, 467, -1044, -1044, -1044, 2304, - 5007, 941, 943, 814, -1044, 42, 2304, 945, 946, 2046, - -1044, 947, 822, 14, 949, -1044, 2235, 2235, 2235, 2235, - 2304, -1044, 833, 467, 75, 4120, 65, -1044, 2235, 3116, - 2752, 704, -1044, 2663, -1044, 911, 1540, 1540, 951, 1540, - 732, 1540, 1540, 952, 910, 1540, 1540, 645, -1044, 2235, - 2467, 958, 962, 963, 964, 2168, -1044, -1044, 966, -1044, - 967, 848, 6218, -1044, 849, 851, 856, 984, 985, 986, - 990, 331, 4146, 4172, -1044, -1044, 3144, 65, 65, 65, - 989, 857, 863, -38, -1044, 338, -1044, 190, 6218, -1044, - 2490, 859, 994, 995, 953, 996, 997, 1540, 1540, 1540, - 1001, 4198, -1044, 2783, 1070, 1002, 1003, 1004, 1005, -1044, - 1006, -1044, 875, 2304, 2304, 1540, 873, -1044, 6008, 5030, - 6029, 5053, 6050, 5076, 6071, 5099, 5122, -1044, 175, 880, - 6092, 217, -1044, -1044, 268, 276, 879, 1008, 2510, -1044, - -1044, -1044, 14, 2304, -1044, 649, -1044, 653, 656, 657, - 660, 6218, -1044, 1011, 13, 2304, 4, 680, -1044, 2304, - 881, 960, 960, 1540, 1014, 882, 883, 1018, 1019, 1540, - 889, 1020, 1022, -1044, 698, -1044, 1025, 1540, 1540, 1540, - 1028, 1029, -1044, 1540, 1027, 1030, 1031, 1032, 1540, 1540, - 1540, 367, 2304, 2304, 2304, 906, -66, -31, 228, -1044, - 1540, 2304, -1044, -1044, 2103, -36, -1044, 2235, -1044, -1044, - 909, -1044, -1044, 1035, 1036, 956, -1044, 2304, 2304, 2304, - -1044, 1037, 1044, -1044, 41, -1044, 2304, 4224, 4250, 701, - -1044, 2304, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, - 915, -1044, -1044, -1044, 1540, 541, 2304, 1047, 1050, 18, - -1044, 1049, 5145, 14, -1044, 1051, 1055, 1056, 1057, -1044, - -1044, 467, 4276, -1044, 920, 6218, 2304, 65, 1059, 1060, - 1061, -1044, 2304, 2304, -1044, -1044, 1062, 2304, -1044, -1044, - -1044, 1067, 1068, 1074, 987, 2304, -1044, 1077, 1540, 1540, - 1540, 1540, 1078, 839, 1079, -1044, 2361, 3172, 6113, 2976, - 342, 65, 1081, 65, 1082, 65, 1083, 315, 954, 6134, - 3200, 374, -1044, 707, 2304, -1044, -1044, 1540, 3004, 476, - 6155, -1044, 1936, -1044, 278, 6218, 2304, 2304, 1540, 950, - 715, 6218, 1087, 1086, 1090, 2543, -1044, 1091, 1093, -1044, - 965, -1044, -1044, -1044, -1044, -1044, 1094, 2304, -1044, 3228, - 290, -1044, -1044, -1044, 3256, 3284, -1044, 3312, 1092, -1044, - -1044, 1054, 1098, 6218, -1044, 1099, 1100, 1102, 1103, -1044, - 972, -1044, -1044, 2563, 1108, 976, -1044, 2304, -1044, 977, - 405, -1044, 979, 417, -1044, 980, 427, -1044, 981, 1111, - 1540, 1115, 983, 2304, 1118, 3340, 1038, 2304, -1044, 2304, - -1044, -1044, 2235, 2589, 1120, -1044, 2304, 4302, 4328, -1044, - 1540, 2304, 1121, -1044, -1044, -1044, -1044, 14, -1044, 1039, - -1044, 4354, 1123, 1125, 1127, 1129, 1130, 998, -1044, -1044, - -1044, -1044, -1044, 1540, -1044, -1044, 342, 3032, -1044, 2103, - 190, 2103, 190, 2103, 190, -1044, 716, 1540, -1044, 3368, - -1044, -1044, 2304, 3396, 3424, 720, -1044, -1044, 999, 6218, - 2304, 2304, 725, 6218, -1044, 1131, -1044, 2304, -1044, -1044, - -1044, -1044, -1044, 2304, 728, 1007, 2304, -1044, 3452, 435, - -34, 3480, 446, -25, 3508, 448, -16, 1540, 1134, 1085, - 2459, 1010, 2612, -1044, -1044, 1136, 2304, 6176, 4380, 26, - -1044, 4406, 3536, 1137, -1044, 3564, 1139, 2304, 1140, 1146, - 2304, 1147, 1148, 2304, 1149, 1015, -1044, 2304, -1044, 190, - -1044, -1044, -1044, 729, -1044, 2304, -1044, 1540, 2304, -1044, - -1044, -1044, -1044, 1017, 3592, -1044, -1044, 1021, 3620, -1044, - -1044, 1023, 3648, -1044, 1152, 2632, -1, 2514, 1154, 1024, - 6197, 733, 3676, 190, 1159, 190, 1161, 190, 1162, -1044, - -1044, -1044, -1044, 190, -1044, 467, -1044, 1033, 1168, 129, - -1044, 1040, 194, -1044, 1041, 373, -1044, 1042, 386, 734, - -1044, 1043, 1540, -1044, 1169, 190, 1170, 190, 1172, 190, - -1044, 467, 1173, 467, 738, -1044, 397, -1044, 402, -1044, - 413, -1044, -1044, 743, -1044, 1195, 1197, 1202, 1226, 467, - 1227, -1044, -1044, -1044, -1044, -1044, -1044 + 3365, 30, 28, 3444, -1051, -1051, 1490, 33, 41, -61, + 6, 48, 57, 95, 60, -5, 1, -39, 42, 45, + -31, 58, 64, 107, 216, 222, 235, 253, 335, 264, + 166, 347, 203, 209, -48, -48, 213, 260, 370, 340, + 358, 376, 17, 105, 383, 450, 457, 464, 355, 367, + 372, 15, 36, -1051, 380, -1051, 504, 384, -1051, 511, + 519, 22, 24, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + 21, 385, 569, -1051, -1051, -1051, 54, 82, 333, 371, + 463, 503, 507, 508, 512, 529, 592, 596, 602, 607, + 608, 611, 612, 624, 627, 632, 639, 397, 401, 412, + 413, -1051, 544, 424, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, 3026, 3026, 3026, -1051, -1051, 3026, 1427, 10, 578, + 202, 3026, 584, 325, -1051, 598, 603, 3026, 609, -1051, + 3026, -1051, -1051, -1051, 3026, 2862, 3026, 3026, 481, 3026, + 2862, 3026, 3026, 485, 2862, 3026, 3026, 1762, 490, 484, + 520, 533, 1629, 1629, 1629, 538, -1051, -1051, -1051, -1051, + 555, 562, 563, 688, -48, -48, -48, 3026, 3026, -66, + -1051, 138, -48, 582, 586, 593, 2826, 188, 131, 1629, + 1762, 615, 18, 619, -1051, 771, -1051, 626, 636, 644, + 778, 3026, 3026, 3026, 650, 3026, 655, 708, 3026, 3026, + -1051, 3026, 804, -1051, 805, -1051, 818, -1051, 691, 3026, + 824, 693, -1051, -1051, -1051, 839, 3026, 3026, 3026, 3026, + 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, + 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, + 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, + 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 52, 52, + 52, 52, 3026, 846, 669, 736, 736, 736, 5654, 8, + 2862, 4918, 171, 734, 902, 777, 775, -1051, 786, 3511, + 1172, -1051, -1051, 3026, 3026, 3026, 3026, 3026, 3026, 3026, + 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, -1051, -1051, + 1295, -91, 4216, 5675, 633, 779, 2862, -1051, -1051, 558, + -1051, 184, 5696, 5717, 3026, 5738, 522, 5759, 5780, 3026, + 591, 5801, 5822, 1895, 1241, 3153, 929, -1051, 3026, 3026, + 3026, 3026, -1051, -1051, 931, 932, 932, 3026, 808, 809, + 810, 811, 3026, 3026, 3026, 816, -53, -1051, -1051, 4242, + 4268, -48, -48, 202, 202, 268, 3026, 3026, 3026, 2826, + 2826, 3026, 3511, 297, -1051, 3026, 3026, 939, 945, 3026, + 947, -1051, 3026, 3026, 1667, -1051, 2862, 3026, 3026, -1051, + 5843, 5864, 5885, 862, 4294, -1051, 815, 3172, 5906, 4941, + -1051, -1051, 1800, -1051, 1933, 3026, 4964, 304, 3026, 13, + -1051, 5927, 4987, 5948, 5010, 5969, 5033, 5990, 5056, 6011, + 5079, 6032, 5102, 6053, 5125, 6074, 5148, 6095, 5171, 6116, + 5194, 6137, 5217, 4320, 4346, 6158, 5240, 6179, 5263, 6200, + 5286, 6221, 5309, 6242, 5332, 6263, 5355, 4372, 4398, 4424, + 4450, 4476, 4502, 649, -71, -1051, 817, 825, 827, 1352, + 823, 3026, -1051, 1762, 1762, 657, 55, 569, 3026, 958, + 966, 19, 834, -1051, 173, -29, -17, 175, -1051, -1051, + 3191, 1421, 2490, 733, 733, 705, 705, 705, 705, -20, + -20, 736, 736, 736, 736, -1051, 2, 2862, 3026, 965, + 2630, 3026, 736, -1051, 3026, 2862, 2862, 880, 970, 972, + 6284, 974, 886, 976, 977, 6305, 889, 979, 980, 2862, + -1051, 674, 2028, 3026, 6326, 3265, 6347, 6368, 3026, 1762, + 984, 983, 6389, 2989, 2989, 2989, 2989, 6410, 6431, 6452, + 852, -48, 3026, 3026, -1051, -1051, 850, 851, 3026, 4528, + 4554, 4580, 4190, 346, -48, 2066, 6473, 3546, 3026, 989, + 3026, 6494, -1051, 5378, 5401, -1051, 675, 5424, 5447, 991, + 1007, 1008, 879, 3026, 2199, 3026, 3026, -1051, 35, -1051, + -1051, 5470, 43, -1051, 3574, -1051, 887, 888, 882, -1051, + 1014, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, 3026, 3026, + -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, -1051, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 1038, + -1051, 2862, 52, -1051, -1051, -1051, 3026, 5493, 1037, 1039, + 909, -1051, 115, 3026, 1042, 1044, 1456, -1051, 1046, 915, + 15, 1048, -1051, 2862, 2862, 2862, 2862, 3026, -1051, 934, + 52, -8, 4606, -48, -1051, 2862, 3602, 3216, 736, -1051, + 558, -1051, 1006, 1762, 1762, 1051, 1762, 768, 1762, 1762, + 1052, 1009, 1762, 1762, 680, -1051, 2862, 2659, 1053, 1056, + 1057, 1058, 911, -1051, -1051, 1060, -1051, 1061, 936, 6725, + -1051, 938, 941, 942, 1073, 1074, 1075, 1063, 416, 4632, + 4658, -1051, -1051, 3630, -48, -48, -48, 1077, 943, 951, + -42, -1051, 420, -1051, 346, 1079, 1081, 6725, -1051, 2793, + 949, 1082, 1086, 1045, 1091, 1092, 1762, 1762, 1762, 1095, + 4684, -1051, 3235, 1269, 1096, 1097, 1098, 1101, -1051, 1100, + -1051, 973, 3026, 3026, 1762, 967, -1051, 6515, 5516, 6536, + 5539, 6557, 5562, 6578, 5585, 5608, -1051, 72, 975, 6599, + 221, -1051, -1051, 71, 208, 971, 1106, 2946, -1051, -1051, + -1051, 15, 3026, -1051, 699, -1051, 700, 706, 725, 728, + 6725, -1051, 1108, 7, 3026, 12, 752, -1051, 3026, 978, + 1059, 1059, 1762, 1109, 981, 982, 1110, 1114, 1762, 985, + 1115, 1119, -1051, 756, -1051, 1123, 1762, 1762, 1762, 1125, + 1124, -1051, 1762, 1128, 1129, 1130, 1131, 1762, 1762, 1762, + 77, 3026, 3026, 3026, 990, 247, 332, 379, -1051, 1762, + 3026, -1051, -1051, 2826, -28, 2161, -1051, -1051, 2862, -1051, + -1051, 998, -1051, -1051, 1134, 1135, 1054, -1051, 3026, 3026, + 3026, -1051, 1139, 1140, -1051, 304, -1051, 3026, 4710, 4736, + 757, -1051, 3026, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, 1010, -1051, -1051, -1051, 1762, 569, 3026, 1143, 1146, + 19, -1051, 1147, 5631, 15, -1051, 1148, 1149, 1150, 1151, + -1051, -1051, 52, 4762, -1051, 1015, 6725, 3026, -48, 1152, + 1154, 1155, -1051, 3026, 3026, -1051, -1051, 1157, 3026, -1051, + -1051, -1051, 1159, 1160, 1161, 1078, 3026, -1051, 1163, 1762, + 1762, 1762, 1762, 1164, 869, 1165, -1051, 2989, 3658, 6620, + 3462, 202, -48, 1167, -48, 1169, -48, 1171, 360, 1040, + 6641, 3686, 448, -1051, 684, 1173, 760, 3026, -1051, -1051, + 1762, 3490, 762, 6662, -1051, 2693, -1051, 190, 6725, 3026, + 3026, 1762, 1041, 761, 6725, 1177, 1179, 1180, 2967, -1051, + 1176, 1182, -1051, 1062, -1051, -1051, -1051, -1051, -1051, 1183, + 3026, -1051, 3714, 254, -1051, -1051, -1051, 3742, 3770, -1051, + 3798, 1185, -1051, -1051, 1142, 1186, 6725, -1051, 1188, 1190, + 1193, 1195, -1051, 1065, -1051, -1051, 3069, 1196, 1066, -1051, + 3026, -1051, 1067, 496, -1051, 1069, 498, -1051, 1070, 509, + -1051, 1076, 1197, 1762, 1201, 1080, 3026, 2294, 526, -1051, + 1209, 3826, 1136, 3026, -1051, 3026, -1051, -1051, 2862, 3095, + 1210, -1051, 3026, 4788, 4814, -1051, 1762, 3026, 1213, -1051, + -1051, -1051, -1051, 15, -1051, 1126, -1051, 4840, 1216, 1220, + 1222, 1223, 1224, 1090, -1051, -1051, -1051, -1051, -1051, 1762, + -1051, -1051, 202, 3518, -1051, 2826, 346, 2826, 346, 2826, + 346, -1051, 765, 1762, -1051, 3854, 2427, -1051, -1051, 3026, + 3882, 3910, 766, -1051, -1051, 1093, 6725, 3026, 3026, 770, + 6725, -1051, 1226, -1051, 3026, -1051, -1051, -1051, -1051, -1051, + 3026, 781, 1094, 3026, -1051, 3938, 528, -12, 3966, 531, + 263, 3994, 595, 265, 1762, 1227, 1174, 2332, 1099, 2560, + 1241, 597, 1104, 3114, -1051, -1051, 1231, 3026, 6683, 4866, + 20, -1051, 4892, 4022, 1233, -1051, 4050, 1236, 3026, 1237, + 1243, 3026, 1247, 1248, 3026, 1270, 1105, -1051, 3026, -1051, + 346, -1051, 2862, 885, 2427, 1272, -1051, -1051, 784, -1051, + 3026, -1051, 1762, 3026, -1051, -1051, -1051, -1051, 1138, 4078, + -1051, -1051, 1141, 4106, -1051, -1051, 1144, 4134, -1051, 1274, + 3133, 276, 2465, 600, 1162, -1051, 1277, 1181, 6704, 787, + 4162, 346, 1278, 346, 1296, 346, 1297, -1051, -1051, -1051, + -1051, 346, 1762, 1300, -1051, 52, -1051, 1189, 1306, 278, + -1051, 1191, 317, -1051, 1192, 331, -1051, 1194, 391, 1175, + -1051, 791, -1051, 1198, 1762, -1051, 1307, 346, 1308, 346, + 1309, 346, -1051, 1312, 52, 1314, 52, 792, -1051, 417, + -1051, 445, -1051, 459, -1051, -1051, -1051, 795, -1051, 1315, + 1317, 1318, 1323, 52, 1328, -1051, -1051, -1051, -1051, -1051, + -1051 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1044, -1044, -1044, -1044, 440, -1044, -1044, -1044, -1044, 99, - -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, - -1044, -1044, -274, -2, -1044, -147, -1044, 434, 1234, -1044, - -1044, -1044, -1044, 3, -352, -112, -1044, -1044, -1044, -1044, - -1044, 1235, -1044, -1044, -1044, -1044, -1044, -1044, -1044, -1044, - -1044, -1044, -1044, -1044, -1044, -425, -571, -1044, -1044, 896, - -1044, -1044, -1044, -1044, -6, -1044, 32, -1044, -1043, 241, - -135, 330, 34, -633, 351, -1044, -265, 5 + -1051, -1051, -1051, -1051, 534, -1051, -1051, -1051, -1051, 186, + -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, -1051, -275, -1, -1051, -122, -1051, 530, 1341, -1051, + -1051, -1051, -1051, 3, -353, -185, -1051, -1051, -1051, -1051, + -1051, -1051, 1342, -1051, -1051, -1051, -1051, -1051, -1051, -1051, + -1051, -1051, -1051, -1051, -1051, -1051, -668, -677, -1051, -1051, + 1000, -1051, -1051, -1051, -1051, -6, -1051, 241, -1051, -1050, + 386, -129, 284, -80, -640, 452, -1051, -267, 44 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1466,1414 +1488,1518 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -5 static const yytype_int16 yytable[] = { - 131, 451, 452, 453, 130, 463, 67, 1102, 541, 542, - 903, 133, 661, 134, 458, 745, 578, 4, 201, 900, - 784, 211, 652, 279, 215, 189, 342, 343, 213, 146, - 1114, 137, 1166, 375, 720, 376, 720, 5, 720, 204, - 721, 722, 721, 722, 721, 722, 775, 720, 448, 221, - 491, 372, 135, 721, 722, 492, 720, 358, 359, 358, - 359, 151, 721, 722, 136, 160, 177, 179, 161, 185, - 162, 720, 369, 941, 139, 942, 360, 721, 722, 379, - 105, 106, 107, 108, 168, 222, 109, 169, 192, 170, - 193, 147, 358, 359, 579, 580, 581, 582, 148, 140, - 397, 633, 399, 842, 151, 952, 634, 1148, 943, 141, - 944, 280, 281, 272, 273, 274, 1151, 156, 275, 278, - 459, 190, 146, 287, 1191, 1154, 662, 358, 359, 307, - 152, 284, 309, 662, 776, 777, 310, 316, 319, 320, - 1201, 322, 316, 324, 325, 746, 316, 328, 329, 891, - 122, 123, 843, 583, 202, 216, 212, 217, 653, 155, - 142, 191, 218, 214, 377, 138, 1167, 143, 205, 356, - 357, 122, 123, 658, 122, 123, 644, 164, 357, 1234, - 165, 748, 323, 166, 147, 167, 327, 646, 173, 174, - 142, 657, 385, 386, 387, 144, 389, 656, 175, 392, - 393, 720, 394, 145, 353, 176, 355, 721, 722, 794, - 401, 149, 362, 462, 501, 150, 370, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 550, - 981, 181, 720, 454, 182, 157, 720, 183, 721, 722, - 1224, 316, 721, 722, 843, 644, 153, 464, 567, 115, - 116, 117, 118, 885, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 122, - 123, 154, 845, 154, 358, 359, 645, 497, 659, 881, - 750, 460, 358, 359, 501, 505, 115, 116, 117, 118, - 510, 361, 158, 499, 497, 316, 358, 359, 536, 519, - 520, 521, 522, 358, 359, 1226, 122, 123, 527, 173, - 174, 171, 543, 532, 533, 534, 283, 122, 123, 175, - 371, 358, 359, 223, 748, 224, 184, 544, 545, 546, - 272, 273, 547, 284, 284, 516, 163, 945, 554, 946, - 769, 556, 557, 935, 936, 316, 560, 561, 115, 116, - 117, 118, 704, 705, 706, 159, 115, 116, 117, 118, - 539, 540, 172, 225, 574, 226, 333, 577, 793, 355, - 576, 340, 340, 340, 358, 359, 122, 123, 33, 34, - 35, 36, 1045, 358, 359, 559, 40, 1046, 188, 43, - 549, 227, 180, 228, 1105, 194, 186, 340, 373, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 517, 302, 303, 187, 229, 720, 230, 304, 195, 196, - 640, 721, 722, 198, 358, 359, 1029, 649, 720, 647, - 197, 358, 359, 207, 721, 722, 231, 648, 232, 720, - 832, 448, 221, 317, 720, 721, 722, 844, 317, 199, - 721, 722, 317, 200, 1039, 720, 316, 665, 206, 640, - 669, 721, 722, 670, 671, 673, 208, 358, 359, 209, - 884, 886, 210, 105, 106, 107, 108, 288, 316, 109, - 269, 671, 690, 1033, 1228, 265, 233, 695, 234, 501, - 266, 502, 702, 702, 702, 702, 664, 1230, 358, 359, - 220, 712, 713, 703, 703, 703, 703, 716, 1246, 267, - 358, 359, 268, 1247, 1079, 728, 221, 730, 687, 843, - 358, 359, 843, 270, 1248, 843, 1081, 282, 358, 359, - 741, 305, 743, 744, 306, 235, 1083, 236, 711, 358, - 359, 358, 359, 749, 1147, 308, 321, 105, 106, 107, - 108, 725, 237, 109, 238, 1150, 326, 1153, 1019, 352, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 335, 758, 759, 317, 304, 299, - 300, 301, 302, 303, 239, 843, 240, 1040, 304, 760, - 761, 762, 763, 764, 765, 766, 337, 241, 316, 242, - 122, 123, 243, 770, 244, 456, 986, 217, 843, 338, - 778, 843, 218, 498, 843, 336, 245, 843, 246, 344, - 316, 316, 316, 316, 791, 1120, 247, 1123, 248, 1126, - 498, 317, 316, 349, 249, 843, 250, 843, 768, 843, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 251, 316, 252, 350, 304, 301, 302, 303, - 787, 788, 789, 790, 304, 378, 351, 289, 796, 641, - 642, 253, 797, 254, 255, 257, 256, 258, 259, 363, - 260, 317, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 814, 1115, 374, 364, 304, 122, 123, - 261, 365, 262, 495, 1186, 217, 380, 263, 128, 264, - 218, 501, 501, 507, 511, 381, 382, 867, 868, 836, - 837, 838, 383, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 631, 384, 632, 696, 304, 388, 1209, 749, - 1212, 390, 1215, 887, 501, 395, 643, 892, 1218, 501, - 501, 688, 734, 805, 501, 806, 813, 391, 893, 902, - 894, 396, 501, 905, 895, 501, 501, 896, 897, 501, - 1236, 898, 1238, 398, 1240, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 501, - 400, 904, 317, 304, 402, 405, 937, 938, 939, 403, - 672, 674, 455, 465, 947, 949, 304, 501, 950, 920, - 968, 316, 969, 1010, 317, 1011, 501, 672, 1034, 466, - 128, 958, 959, 960, 1051, 1127, 1052, 1128, 467, 501, - 965, 1135, 963, 468, 968, 971, 1139, 968, 1051, 1143, - 1188, 496, 968, 1231, 1207, 1232, 951, 968, 518, 1245, - 975, 953, 1249, 523, 1250, 524, 528, 529, 530, 531, - 974, 551, 535, 553, 555, 565, 650, 636, 637, 568, - 989, 635, 651, 655, 639, 675, 994, 995, 666, 676, - 677, 997, 679, 680, 681, 682, 684, 801, 802, 1003, - 804, 685, 807, 808, 686, 697, 811, 812, 699, 710, - 1013, 714, 715, 729, 755, 737, 738, 739, 740, 990, - 1220, 1014, 753, 284, 754, 757, 767, 772, 1035, 773, - 774, 779, 780, 792, 782, 786, 1043, 783, 803, 809, - 1047, 1048, 800, 810, 317, 816, 1241, 1044, 1244, 817, - 818, 819, 822, 1020, 823, 1023, 1130, 1026, 853, 854, - 855, 1061, 824, 825, 1255, 826, 317, 317, 317, 317, - 827, 828, 829, 830, 831, 839, 841, 840, 317, 847, - 848, 849, 851, 852, 850, 856, 861, 862, 866, 864, - 863, 1077, 865, 871, 882, 889, 888, 899, 907, 317, - 911, 906, 912, 913, 914, 915, 918, 1089, 919, 917, - 921, 1093, 925, 1094, 928, 926, 316, 929, 930, 931, - 1099, 955, 956, 961, 910, 1103, 940, 957, 1187, 954, - 916, 962, 972, 976, 977, 979, 988, 982, 922, 923, - 924, 983, 984, 985, 927, 991, 992, 993, 996, 932, - 933, 934, 998, 1118, 999, 1121, 1095, 1124, 859, 284, - 1000, 948, 1001, 1004, 1009, 1012, 1132, 1021, 1024, 1027, - 1050, 1053, 1054, 1030, 1137, 1138, 1055, 1066, 1057, 1058, - 1060, 1141, 1059, 1067, 1068, 1069, 1070, 1142, 1071, 1072, - 1145, 1119, 1073, 1122, 1075, 1125, 1076, 1085, 1078, 1080, - 1082, 1084, 1087, 1088, 1090, 973, 1097, 1104, 1092, 1108, - 971, 1109, 1106, 1110, 474, 1111, 1112, 1140, 1113, 1136, - 1156, 1174, 1162, 1170, 1178, 1172, 1175, 1182, 1144, 1157, - 1160, 1185, 1176, 1179, 1180, 1183, 1184, 1193, 1199, 1190, - 1204, 1195, 1192, 1197, 1205, 1210, 490, 1213, 1216, 1005, - 1006, 1007, 1008, 1222, 1223, 1235, 1237, 317, 1239, 1242, - 1225, 1227, 1229, 1233, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 1036, 77, - 311, 1251, 304, 1252, 860, 81, 82, 83, 1253, 1049, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 638, 1254, 1256, 901, 1163, 909, 66, 73, 526, - 978, 312, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 33, 34, 35, 36, 37, 0, 0, 0, - 40, 1086, 0, 43, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 111, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 313, 0, 0, 0, 121, 0, 0, 0, 1129, 124, - 0, 0, 0, 0, 127, 0, 0, 515, 0, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 0, - 0, 0, 0, 77, 78, 79, 0, 80, 1155, 81, - 82, 83, 317, 0, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, - 0, 77, 311, 339, 0, 0, 0, 81, 82, 83, - 0, 0, 84, 85, 86, 87, 88, 89, 90, 91, + 133, 372, 456, 457, 458, 132, 68, 468, 668, 384, + 546, 547, 139, 911, 282, 463, 1119, 585, 914, 204, + 793, 192, 380, 659, 381, 218, 1191, 214, 5, 216, + 402, 727, 404, 148, 345, 346, 4, 728, 729, 1131, + 207, 153, 754, 148, 496, 727, 136, 453, 224, 497, + 135, 728, 729, 852, 141, 153, 453, 224, 361, 362, + 377, 727, 651, 142, 640, 321, 854, 728, 729, 641, + 326, 361, 362, 138, 330, 363, 175, 176, 651, 107, + 108, 109, 110, 946, 947, 111, 177, 541, 107, 108, + 109, 110, 137, 178, 111, 149, 586, 587, 588, 589, + 851, 143, 150, 283, 284, 149, 304, 305, 306, 195, + 154, 196, 664, 307, 963, 275, 276, 277, 193, 784, + 278, 281, 464, 669, 665, 290, 225, 803, 669, 146, + 1169, 310, 506, 287, 312, 147, 361, 362, 313, 319, + 322, 323, 1219, 325, 319, 327, 328, 140, 319, 331, + 332, 902, 124, 125, 382, 590, 205, 219, 194, 220, + 660, 1192, 157, 215, 221, 217, 117, 118, 119, 120, + 208, 359, 360, 755, 124, 125, 151, 852, 467, 152, + 360, 757, 117, 118, 119, 120, 124, 125, 226, 555, + 227, 653, 155, 652, 144, 390, 391, 392, 156, 394, + 465, 145, 397, 398, 1267, 399, 286, 892, 785, 786, + 574, 166, 506, 406, 167, 896, 228, 168, 229, 169, + 411, 412, 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, 361, 362, 994, 375, 459, 158, 33, 34, + 35, 36, 376, 159, 319, 179, 181, 41, 187, 364, + 44, 469, 117, 118, 119, 120, 160, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 124, 125, 161, 183, 566, 144, 184, 156, + 502, 185, 361, 362, 663, 759, 666, 165, 510, 117, + 118, 119, 120, 515, 506, 1061, 507, 502, 319, 374, + 1062, 292, 524, 525, 526, 527, 727, 173, 727, 124, + 125, 532, 728, 729, 728, 729, 537, 538, 539, 727, + 174, 727, 124, 125, 182, 728, 729, 728, 729, 757, + 549, 550, 551, 275, 276, 552, 287, 287, 504, 556, + 557, 361, 362, 561, 188, 778, 563, 564, 361, 362, + 319, 567, 568, 162, 175, 176, 163, 952, 164, 953, + 727, 189, 361, 362, 177, 170, 728, 729, 171, 581, + 172, 186, 584, 802, 727, 1172, 583, 1175, 548, 190, + 728, 729, 711, 712, 713, 356, 357, 671, 1229, 727, + 1256, 361, 362, 365, 191, 728, 729, 373, 1137, 320, + 1140, 197, 1143, 1122, 320, 124, 125, 554, 320, 694, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 198, 647, 361, 362, 307, 1258, + 852, 199, 656, 852, 727, 654, 852, 230, 200, 231, + 728, 729, 954, 1260, 955, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 522, 305, 306, 201, + 727, 319, 672, 307, 647, 676, 728, 729, 677, 678, + 680, 202, 1042, 361, 362, 232, 203, 233, 895, 897, + 210, 655, 1211, 319, 209, 212, 678, 697, 727, 956, + 211, 957, 702, 213, 728, 729, 223, 709, 709, 709, + 709, 268, 727, 1262, 852, 269, 719, 720, 728, 729, + 361, 362, 723, 336, 361, 362, 270, 271, 343, 343, + 343, 272, 737, 1239, 739, 1242, 841, 1245, 273, 1280, + 853, 777, 852, 1248, 320, 852, 504, 750, 852, 752, + 753, 852, 361, 362, 224, 343, 378, 710, 710, 710, + 710, 758, 285, 796, 797, 798, 799, 1281, 1046, 1269, + 291, 1271, 852, 1273, 852, 806, 852, 234, 1032, 235, + 503, 1282, 544, 545, 308, 107, 108, 109, 110, 309, + 357, 111, 767, 768, 311, 324, 823, 503, 320, 329, + 361, 362, 361, 362, 338, 339, 769, 770, 771, 772, + 773, 774, 775, 361, 362, 319, 1095, 236, 1097, 237, + 779, 238, 240, 239, 241, 999, 242, 787, 243, 1099, + 361, 362, 361, 362, 340, 361, 362, 319, 319, 319, + 319, 800, 506, 244, 512, 245, 1106, 341, 1168, 319, + 320, 1171, 347, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 505, 305, 306, 79, 314, 352, + 319, 307, 355, 83, 84, 85, 353, 354, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 361, + 362, 361, 362, 366, 361, 362, 246, 367, 247, 315, + 248, 506, 249, 516, 368, 1174, 250, 1184, 251, 1132, + 1232, 252, 254, 253, 255, 256, 258, 257, 259, 379, + 33, 34, 35, 36, 37, 383, 878, 879, 260, 41, + 261, 262, 44, 263, 124, 125, 264, 386, 265, 500, + 1055, 220, 387, 266, 130, 267, 221, 385, 966, 758, + 388, 320, 718, 898, 389, 638, 903, 639, 393, 679, + 681, 113, 114, 115, 116, 732, 395, 506, 913, 650, + 124, 125, 916, 320, 396, 461, 679, 220, 369, 1047, + 400, 401, 221, 123, 506, 506, 695, 743, 371, 814, + 506, 815, 822, 129, 403, 178, 520, 405, 407, 302, + 303, 304, 305, 306, 408, 948, 949, 950, 307, 904, + 506, 905, 906, 958, 960, 410, 506, 961, 907, 648, + 649, 460, 319, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 971, 972, 973, 506, 307, 908, 506, 307, + 909, 978, 470, 1023, 976, 1024, 984, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 988, 506, 504, 915, 307, 506, 981, 931, 982, + 506, 1067, 1050, 1068, 1056, 1144, 506, 1145, 1156, 471, + 981, 1002, 1160, 472, 805, 703, 130, 1007, 1008, 1147, + 501, 981, 1010, 1164, 1067, 320, 1216, 981, 473, 1237, + 1016, 1264, 981, 1265, 1279, 1283, 523, 1284, 528, 529, + 987, 1026, 533, 534, 535, 536, 558, 320, 320, 320, + 320, 540, 560, 562, 287, 572, 575, 642, 319, 320, + 643, 1051, 644, 646, 657, 845, 846, 847, 1252, 1059, + 658, 662, 673, 1063, 1064, 829, 682, 683, 1112, 684, + 320, 686, 687, 688, 689, 691, 692, 693, 704, 706, + 717, 1027, 721, 722, 1077, 738, 1212, 1275, 746, 1278, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 505, 305, 306, 747, 748, 1289, 749, 307, 1060, + 766, 762, 763, 764, 1093, 543, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 1105, 502, 776, 781, 307, 782, 783, 1110, 788, 1111, + 789, 792, 319, 791, 795, 801, 1116, 809, 812, 818, + 825, 1120, 819, 826, 827, 828, 831, 840, 832, 810, + 811, 833, 813, 834, 816, 817, 835, 836, 820, 821, + 837, 838, 839, 848, 849, 850, 855, 856, 859, 1135, + 858, 1138, 860, 1141, 962, 287, 861, 862, 863, 867, + 872, 873, 694, 1153, 874, 875, 876, 877, 882, 899, + 893, 1158, 1159, 900, 910, 922, 925, 918, 1162, 917, + 926, 929, 923, 924, 1163, 930, 928, 1166, 932, 936, + 937, 951, 864, 865, 866, 939, 940, 941, 942, 967, + 968, 969, 320, 502, 1183, 974, 970, 975, 985, 989, + 990, 984, 1001, 992, 995, 996, 997, 998, 1004, 1003, + 1005, 1006, 1199, 1009, 1011, 1203, 1012, 1013, 1207, 1017, + 1022, 1025, 1210, 1034, 1014, 1037, 1183, 1040, 479, 1049, + 1043, 1069, 1066, 1073, 1218, 1070, 1071, 1220, 1074, 1076, + 1082, 1083, 1084, 1033, 1085, 1036, 1086, 1039, 921, 1087, + 1075, 1088, 1091, 1101, 927, 1048, 1089, 1092, 1103, 1094, + 1096, 1098, 933, 934, 935, 1107, 1114, 1100, 938, 1121, + 1123, 1104, 1125, 943, 944, 945, 1126, 1109, 1127, 1128, + 1129, 1130, 1161, 1177, 1157, 959, 1165, 1187, 1178, 1195, + 1181, 965, 1197, 1200, 79, 314, 1185, 1209, 320, 1201, + 83, 84, 85, 1204, 1205, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 1208, 870, 1215, 1221, + 1227, 986, 1223, 1234, 1240, 1225, 315, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 495, 1243, 1246, 1233, 307, 1250, 33, 34, 35, + 36, 37, 1255, 1268, 1270, 1272, 41, 1263, 1274, 44, + 1276, 1285, 1235, 1286, 1287, 1018, 1019, 1020, 1021, 1288, + 1254, 503, 1257, 1259, 1290, 1261, 1136, 912, 1139, 1266, + 1142, 920, 320, 1188, 67, 75, 531, 1151, 113, 114, + 115, 116, 991, 0, 0, 0, 1052, 0, 645, 0, + 0, 0, 0, 0, 0, 121, 316, 1065, 0, 0, + 123, 0, 0, 0, 0, 126, 0, 0, 0, 0, + 129, 0, 0, 520, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 871, 0, 0, 0, 0, 0, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 0, 1213, 0, 0, 307, 1102, + 79, 274, 0, 503, 320, 0, 83, 84, 85, 0, + 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 790, 0, 0, 0, 320, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 1146, + 0, 0, 1152, 79, 80, 81, 0, 82, 0, 83, + 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, - 110, 0, 0, 0, 0, 0, 111, 112, 113, 114, - 115, 116, 117, 118, 33, 34, 35, 36, 37, 0, - 0, 0, 40, 119, 120, 43, 0, 0, 121, 0, - 122, 123, 0, 124, 0, 125, 0, 126, 127, 0, - 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 111, 112, 113, 114, 0, 0, + 102, 103, 104, 105, 106, 0, 107, 108, 109, 110, + 1176, 0, 111, 0, 113, 114, 115, 116, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 121, 122, 0, 307, 0, 123, 0, 0, 0, + 0, 126, 0, 0, 279, 0, 129, 0, 280, 0, + 1214, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 112, 0, 0, 0, 0, 0, 113, 114, 115, + 116, 117, 118, 119, 120, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 121, 122, 0, 0, 1249, 123, + 0, 124, 125, 0, 126, 0, 127, 0, 128, 129, + 0, 130, 79, 314, 342, 0, 0, 0, 83, 84, + 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 315, 0, 0, 0, 0, 7, + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 33, 34, 35, 36, 37, + 0, 0, 0, 0, 41, 0, 0, 44, 0, 0, + 0, 0, 474, 15, 16, 475, 18, 19, 476, 21, + 477, 23, 0, 24, 0, 26, 27, 0, 29, 30, + 31, 0, 0, 0, 0, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 330, 0, 0, 0, 121, 0, 0, 0, - 0, 124, 0, 77, 311, 0, 127, 0, 331, 81, - 82, 83, 0, 0, 84, 85, 86, 87, 88, 89, + 0, 0, 0, 121, 333, 48, 49, 50, 123, 0, + 0, 0, 0, 126, 0, 79, 314, 0, 129, 0, + 334, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, - 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 37, 0, 0, 0, 40, 0, 0, 43, 0, 0, - 0, 0, 0, 469, 15, 16, 470, 18, 19, 471, - 21, 472, 23, 0, 24, 0, 26, 27, 0, 29, - 30, 31, 0, 0, 0, 0, 111, 112, 113, 114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 119, 330, 47, 48, 49, 121, 0, - 0, 0, 0, 124, 0, 77, 311, 0, 127, 0, - 331, 81, 82, 83, 0, 0, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 312, 0, 558, + 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 315, 0, 565, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 37, 0, 0, 0, 40, 0, 0, 43, - 0, 0, 0, 0, 0, 469, 15, 16, 470, 18, - 19, 471, 21, 472, 23, 0, 24, 0, 26, 27, - 0, 29, 30, 31, 0, 0, 0, 0, 111, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 313, 47, 48, 49, - 121, 0, 0, 0, 0, 124, 0, 77, 311, 0, - 127, 0, 514, 81, 82, 83, 0, 0, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, - 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 37, 0, 77, 271, 40, 0, - 0, 43, 81, 82, 83, 0, 0, 84, 85, 86, + 35, 36, 37, 0, 0, 0, 0, 41, 0, 0, + 44, 0, 0, 0, 0, 474, 15, 16, 475, 18, + 19, 476, 21, 477, 23, 0, 24, 0, 26, 27, + 0, 29, 30, 31, 0, 0, 0, 0, 0, 113, + 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 121, 333, 48, 49, + 50, 123, 0, 0, 0, 0, 126, 0, 79, 314, + 0, 129, 0, 334, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 0, 0, - 111, 112, 113, 114, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 313, 0, - 0, 0, 121, 0, 0, 0, 0, 124, 0, 77, - 271, 221, 127, 0, 689, 81, 82, 83, 0, 0, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 315, 0, 579, 0, 0, 7, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 33, 34, 35, 36, 37, 0, 0, 0, 0, + 41, 0, 0, 44, 0, 0, 0, 0, 474, 15, + 16, 475, 18, 19, 476, 21, 477, 23, 0, 24, + 0, 26, 27, 0, 29, 30, 31, 0, 0, 0, + 0, 0, 113, 114, 115, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, + 316, 48, 49, 50, 123, 0, 0, 0, 0, 126, + 0, 79, 314, 0, 129, 0, 519, 83, 84, 85, + 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 0, 105, 106, 107, 108, 0, 0, 109, 111, - 112, 113, 114, 0, 0, 0, 7, 8, 0, 0, - 0, 0, 0, 0, 0, 0, 119, 120, 0, 0, - 0, 121, 0, 0, 0, 0, 124, 0, 0, 276, - 0, 127, 0, 277, 0, 0, 0, 0, 0, 469, - 15, 16, 470, 18, 19, 471, 21, 472, 23, 0, - 24, 0, 26, 27, 0, 29, 30, 31, 0, 0, - 0, 0, 111, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 781, 0, 0, 0, 0, 0, 0, 119, - 120, 47, 48, 49, 121, 0, 0, 0, 0, 124, - 0, 77, 271, 0, 127, 0, 1042, 81, 82, 83, - 0, 0, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 0, 0, 0, 77, 271, 7, 8, - 0, 0, 81, 82, 83, 573, 0, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 0, 0, - 0, 469, 15, 16, 470, 18, 19, 471, 21, 472, + 104, 105, 106, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 315, 0, 580, 0, 0, 7, 8, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 34, 35, 36, 37, 0, + 0, 0, 0, 41, 0, 0, 44, 0, 0, 0, + 0, 474, 15, 16, 475, 18, 19, 476, 21, 477, 23, 0, 24, 0, 26, 27, 0, 29, 30, 31, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 111, 112, 113, 114, 304, 0, - 0, 0, 0, 47, 48, 49, 0, 0, 0, 0, - 0, 119, 120, 0, 0, 0, 121, 0, 0, 0, - 0, 124, 0, 0, 667, 0, 127, 0, 668, 111, - 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 366, 367, 0, 0, - 0, 121, 820, 0, 0, 0, 368, 726, 77, 311, - 0, 127, 0, 176, 81, 82, 83, 0, 0, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 0, 0, 0, 0, 0, 113, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 121, 316, 48, 49, 50, 123, 0, 0, + 0, 0, 126, 0, 79, 314, 0, 129, 0, 696, + 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 315, 0, 733, 0, + 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, + 36, 37, 0, 0, 0, 0, 41, 0, 0, 44, + 0, 0, 0, 0, 474, 15, 16, 475, 18, 19, + 476, 21, 477, 23, 0, 24, 0, 26, 27, 0, + 29, 30, 31, 0, 0, 0, 0, 0, 113, 114, + 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 121, 333, 48, 49, 50, + 123, 0, 0, 0, 0, 126, 0, 79, 314, 0, + 129, 0, 964, 83, 84, 85, 0, 0, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, + 0, 751, 0, 0, 7, 8, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 37, 0, 0, 0, 0, 41, + 0, 0, 44, 0, 0, 0, 0, 474, 15, 16, + 475, 18, 19, 476, 21, 477, 23, 0, 24, 0, + 26, 27, 0, 29, 30, 31, 0, 0, 0, 0, + 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 369, 1047, + 48, 49, 50, 123, 0, 0, 0, 0, 371, 0, + 79, 314, 0, 129, 0, 178, 83, 84, 85, 0, + 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 315, 0, 1179, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 312, 0, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 33, 34, 35, 36, 37, 0, 77, 271, 40, - 0, 0, 43, 81, 82, 83, 0, 0, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, - 0, 111, 112, 113, 114, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 119, 313, - 0, 0, 0, 121, 77, 271, 221, 0, 124, 0, - 81, 82, 83, 127, 0, 84, 85, 86, 87, 88, + 0, 0, 0, 33, 34, 35, 36, 37, 0, 0, + 0, 0, 41, 0, 0, 44, 0, 0, 0, 0, + 474, 15, 16, 475, 18, 19, 476, 21, 477, 23, + 0, 24, 0, 26, 27, 0, 29, 30, 31, 0, + 0, 0, 0, 0, 113, 114, 115, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 369, 1149, 48, 49, 50, 123, 0, 0, 0, + 0, 371, 0, 79, 314, 0, 129, 0, 1150, 83, + 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 315, 0, 1230, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 33, 34, 35, 36, + 37, 0, 0, 79, 274, 41, 0, 0, 44, 83, + 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 824, 0, 113, 114, 115, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 369, 1047, 0, 0, 0, 123, + 0, 0, 0, 0, 371, 0, 79, 274, 224, 129, + 0, 1182, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, - 108, 0, 0, 109, 0, 0, 0, 0, 0, 0, - 111, 112, 113, 114, 0, 7, 8, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 120, 0, - 0, 0, 121, 0, 0, 0, 0, 124, 0, 0, - 0, 0, 127, 0, 0, 0, 0, 0, 469, 15, - 16, 470, 18, 19, 471, 21, 472, 23, 0, 24, - 0, 26, 27, 0, 29, 30, 31, 111, 112, 113, - 114, 7, 8, 815, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 119, 120, 0, 0, 0, 121, - 47, 48, 49, 0, 124, 0, 846, 0, 0, 127, - 0, 0, 0, 0, 469, 15, 16, 470, 18, 19, - 471, 21, 472, 23, 0, 24, 890, 26, 27, 0, - 29, 30, 31, 0, 0, 0, 7, 8, 0, 0, + 99, 100, 101, 102, 103, 104, 105, 106, 0, 107, + 108, 109, 110, 0, 0, 111, 0, 113, 114, 115, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 121, 122, 0, 0, 0, 123, + 0, 0, 0, 0, 126, 0, 0, 674, 0, 129, + 0, 675, 0, 0, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 0, 0, 0, 0, 0, 857, + 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 121, 122, 0, + 0, 0, 123, 0, 0, 0, 0, 126, 0, 79, + 274, 0, 129, 0, 1058, 83, 84, 85, 0, 0, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 0, 0, 0, 0, 79, 314, 0, 0, 0, + 0, 83, 84, 85, 0, 0, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 315, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 33, 34, + 35, 36, 37, 113, 114, 115, 116, 41, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 369, 370, 901, 0, 0, 123, 0, 0, 0, 0, + 371, 0, 0, 0, 0, 129, 0, 178, 0, 113, + 114, 115, 116, 1072, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 121, 316, 0, 0, + 0, 123, 79, 274, 224, 0, 126, 0, 83, 84, + 85, 129, 0, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 0, 107, 108, 109, 110, 79, + 274, 111, 0, 0, 0, 83, 84, 85, 0, 0, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 1090, 0, 0, 0, 307, + 0, 0, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 113, 114, 115, 116, + 307, 1113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 121, 122, 0, 0, 0, 123, 0, + 1186, 0, 0, 126, 0, 0, 0, 0, 129, 0, + 0, 0, 0, 113, 114, 115, 116, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 742, 0, 47, 48, 49, 1056, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, - 15, 16, 470, 18, 19, 471, 21, 472, 23, 1074, - 24, 0, 26, 27, 0, 29, 30, 31, 0, 0, - 0, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 1096, 0, 0, 0, 304, - 1158, 47, 48, 49, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 1161, 0, - 0, 0, 304, 0, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 1200, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1202, 0, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 499, 0, 0, 0, 304, 0, 290, 291, 292, + 121, 122, 0, 0, 0, 123, 0, 0, 0, 0, + 126, 504, 0, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 576, 0, 0, 0, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 667, + 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 499, 0, 0, 0, 304, 0, 0, 0, 0, - 0, 0, 0, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 569, 0, 0, - 0, 304, 0, 0, 0, 0, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 660, 0, 0, 0, 304, 0, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 799, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 500, 302, - 303, 858, 0, 0, 0, 304, 0, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 517, 302, - 303, 0, 0, 0, 0, 304, 0, 0, 0, 0, - 0, 0, 0, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 0, 0, 0, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 290, 291, 292, 293, + 303, 304, 305, 306, 808, 0, 0, 0, 307, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, -4, 1, 0, 304, -4, 0, 0, 0, 0, - 0, 0, 0, -4, -4, 0, 0, 290, 291, 292, + 304, 305, 306, 869, 0, 0, 0, 307, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 522, + 305, 306, 0, 0, 0, 0, 307, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, + 0, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, -4, 0, 0, 0, - 0, -4, -4, 0, -4, -4, -4, -4, -4, -4, - -4, -4, -4, -4, -4, -4, 0, -4, -4, -4, - -4, -4, -4, -4, -4, 0, -4, -4, -4, -4, - -4, -4, 0, -4, -4, -4, -4, -4, -4, 0, - 0, -4, -4, 6, 0, 0, 0, -4, -4, -4, - -4, 7, 8, -4, 0, -4, 0, -4, -4, -4, - -4, -4, -4, -4, -4, -4, -4, 0, 0, 0, - 0, 0, 0, 0, 9, 0, 0, 0, 0, 10, - 11, 0, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 0, 24, 25, 26, 27, 28, - 29, 30, 31, 0, 32, 33, 34, 35, 36, 37, - 0, 38, 39, 40, 41, 42, 43, 7, 8, 44, - 45, 0, 0, 0, 0, 46, 47, 48, 49, 0, - 0, 50, 0, 51, 0, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, - 469, 15, 16, 470, 18, 19, 471, 21, 472, 23, - 0, 24, 0, 26, 27, 0, 29, 30, 31, 0, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 47, 48, 49, 1017, 0, 1018, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 1037, 0, 1038, 290, 291, 292, 293, + 303, 304, 305, 306, 0, -4, 1, 0, 307, -4, + 0, 0, 0, 0, 0, 0, 0, -4, -4, 0, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + -4, 0, 0, 0, 0, -4, -4, 699, -4, -4, + -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, + 0, -4, -4, -4, -4, -4, -4, -4, -4, 0, + -4, -4, -4, -4, -4, -4, -4, 0, -4, -4, + -4, -4, -4, -4, 0, 0, -4, -4, 6, 0, + 0, 0, -4, -4, -4, -4, 7, 8, -4, 0, + -4, 0, -4, -4, -4, -4, -4, -4, -4, -4, + -4, -4, 0, 0, 0, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 10, 11, 0, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, + 24, 25, 26, 27, 28, 29, 30, 31, 0, 32, + 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, + 42, 43, 44, 7, 8, 45, 46, 0, 0, 0, + 0, 47, 48, 49, 50, 0, 0, 51, 0, 52, + 0, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 0, 0, 0, 0, 0, 474, 15, 16, 475, + 18, 19, 476, 21, 477, 23, 0, 24, 0, 26, + 27, 0, 29, 30, 31, 0, 0, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 48, + 49, 50, 1030, 0, 1031, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 1053, 0, 1054, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 1133, 0, + 1134, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 736, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 1116, 0, 1117, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 692, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 0, 0, 751, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 0, 0, 798, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 0, 0, 835, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 760, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 807, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 844, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 1028, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 1045, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 0, 0, 1015, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 1032, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 0, 0, 1062, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 0, 0, 1063, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 0, 0, 1064, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 1078, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 1079, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 1080, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 1081, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 1108, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 0, 0, 1065, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 1091, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 0, 0, 1131, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 0, 0, 1133, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 0, 0, 1134, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 1148, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 1154, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 1155, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 1167, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 1170, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 0, 0, 1146, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 1149, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 0, 0, 1152, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 0, 0, 1169, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 0, 0, 1171, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 1173, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 1194, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 1196, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 1222, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 0, 0, 1224, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 0, 0, 1194, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 1196, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 0, 0, 1198, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 0, 0, 1208, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 457, 0, - 0, 0, 0, 537, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 493, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 537, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 0, 0, 1226, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 0, 0, 1238, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 462, 0, 0, 0, 0, + 542, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 498, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 542, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 543, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 538, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 566, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 611, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 612, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 625, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 573, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 618, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 619, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 632, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 633, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 626, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 627, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 628, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 629, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 630, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 634, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 635, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 636, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 637, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 724, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 717, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 718, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 719, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 795, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 833, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 725, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 726, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 804, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 842, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 843, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 834, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 857, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 966, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 967, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 987, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 868, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 979, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 980, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 1000, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 1117, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, - 0, 1100, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 0, 0, 0, 1101, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 0, 0, 0, 1107, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 0, 0, 0, 1165, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 1168, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 0, 1118, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, + 1124, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 0, 0, 0, 1190, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, + 0, 0, 1193, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 466, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 0, 0, 578, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 461, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 0, - 0, 571, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 575, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 0, 0, 590, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 592, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 0, 0, 594, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 596, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 582, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 0, 0, 597, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 599, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 0, 0, + 601, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 603, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 0, 0, 605, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 607, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 0, 0, 598, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 600, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 0, 0, 602, 290, 291, 292, 293, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 0, 0, 609, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 611, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 0, 0, 613, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 604, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 0, - 0, 606, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 608, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 0, 0, 610, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 614, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 0, 0, 616, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 618, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 615, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 0, 0, 617, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 621, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 0, 0, + 623, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 625, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 0, 0, 627, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 629, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 0, 0, 620, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 622, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 0, 0, 624, 290, 291, 292, 293, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 0, 0, 631, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 741, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 0, 0, 742, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 732, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 0, - 0, 733, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 0, 0, 735, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 0, 0, 736, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 0, 0, - 747, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 0, 0, 771, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 0, 0, 873, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, + 0, 744, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 0, 0, 745, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 0, 0, 756, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 0, 0, + 780, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 0, 0, 884, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 0, 0, 886, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 0, 0, 888, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 0, 0, 875, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 0, 0, 877, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 0, 0, 879, 290, 291, 292, 293, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 0, 0, 890, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 0, 0, 891, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 0, 0, 993, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 0, 0, 880, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 0, - 0, 980, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 457, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 494, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 503, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 504, 290, 291, 292, 293, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 462, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 499, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 508, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 509, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 511, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 513, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 514, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 517, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 518, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 569, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 506, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 570, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 508, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 509, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 512, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 513, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 562, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 563, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 564, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 570, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 589, 290, 291, 292, 293, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 571, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 577, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 596, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 598, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 600, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 602, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 604, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 606, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 608, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 591, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 610, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 593, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 595, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 597, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 599, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 601, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 603, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 605, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 607, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 609, 290, 291, 292, 293, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 612, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 614, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 616, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 620, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 622, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 624, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 626, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 628, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 630, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 613, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 685, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 615, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 617, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 619, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 621, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 623, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 678, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 683, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 691, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 693, 290, 291, 292, 293, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 690, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 698, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 700, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 701, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 707, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 714, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 715, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 716, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 735, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 694, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 740, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 700, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 707, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 708, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 709, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 731, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304, 0, 872, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, - 0, 304, 0, 874, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 0, 0, - 0, 0, 304, 0, 876, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 0, - 0, 0, 0, 304, 0, 878, 290, 291, 292, 293, + 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, + 883, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, + 0, 885, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, + 307, 0, 887, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, + 0, 307, 0, 889, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, + 0, 0, 307, 0, 894, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, + 0, 0, 0, 307, 0, 1029, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 0, 0, 0, 0, 307, 0, 1044, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 0, 0, 0, 0, 307, 0, 1057, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 0, 0, 0, 0, 307, 0, 1189, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 0, 0, 0, 0, 304, 0, 883, 290, 291, 292, + 304, 305, 306, 0, 0, 0, 0, 307, 0, 1236, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 0, 0, 0, 0, 304, 0, 1016, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 0, 0, 0, 0, 304, 0, 1031, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 0, 0, 0, 0, 304, 0, 1041, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 0, 0, 0, 0, 304, 0, - 1164, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 0, 0, 0, 0, 304, - 0, 1206, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 0, 0, 0, 0, - 304 + 303, 304, 305, 306, 0, 0, 0, 0, 307 }; static const yytype_int16 yycheck[] = { - 6, 266, 267, 268, 6, 279, 3, 1050, 360, 361, - 6, 6, 6, 13, 7, 7, 4, 6, 4, 6, - 653, 5, 4, 4, 4, 4, 161, 162, 5, 71, - 1073, 6, 6, 4, 72, 6, 72, 0, 72, 4, - 78, 79, 78, 79, 78, 79, 4, 72, 4, 5, - 134, 186, 51, 78, 79, 139, 72, 123, 124, 123, - 124, 71, 78, 79, 133, 48, 34, 35, 51, 37, - 53, 72, 184, 139, 6, 141, 140, 78, 79, 191, - 36, 37, 38, 39, 48, 80, 42, 51, 4, 53, - 6, 133, 123, 124, 82, 83, 84, 85, 140, 6, - 212, 134, 214, 141, 71, 141, 139, 141, 139, 6, - 141, 92, 93, 119, 120, 121, 141, 51, 124, 125, - 113, 100, 71, 129, 1167, 141, 120, 123, 124, 135, - 140, 128, 138, 120, 92, 93, 142, 143, 144, 145, - 141, 147, 148, 149, 150, 137, 152, 153, 154, 782, - 130, 131, 723, 141, 140, 135, 140, 137, 140, 55, - 133, 140, 142, 140, 135, 140, 140, 140, 133, 175, - 176, 130, 131, 140, 130, 131, 7, 45, 184, 1222, - 48, 137, 148, 51, 133, 53, 152, 461, 123, 124, - 133, 140, 198, 199, 200, 133, 202, 140, 133, 205, - 206, 72, 208, 133, 172, 140, 174, 78, 79, 134, - 216, 133, 180, 7, 139, 133, 184, 223, 224, 225, + 6, 186, 269, 270, 271, 6, 3, 282, 6, 194, + 363, 364, 6, 6, 4, 7, 1066, 4, 6, 4, + 660, 4, 4, 4, 6, 4, 6, 5, 0, 5, + 215, 73, 217, 72, 163, 164, 6, 79, 80, 1089, + 4, 72, 7, 72, 135, 73, 13, 4, 5, 140, + 6, 79, 80, 730, 6, 72, 4, 5, 124, 125, + 189, 73, 7, 6, 135, 145, 734, 79, 80, 140, + 150, 124, 125, 134, 154, 141, 124, 125, 7, 36, + 37, 38, 39, 6, 7, 42, 134, 140, 36, 37, + 38, 39, 51, 141, 42, 134, 83, 84, 85, 86, + 142, 6, 141, 93, 94, 134, 126, 127, 128, 4, + 141, 6, 141, 133, 142, 121, 122, 123, 101, 4, + 126, 127, 114, 121, 141, 131, 82, 135, 121, 134, + 142, 137, 140, 130, 140, 134, 124, 125, 144, 145, + 146, 147, 1192, 149, 150, 151, 152, 141, 154, 155, + 156, 791, 131, 132, 136, 142, 141, 136, 141, 138, + 141, 141, 55, 141, 143, 141, 111, 112, 113, 114, + 134, 177, 178, 138, 131, 132, 134, 854, 7, 134, + 186, 138, 111, 112, 113, 114, 131, 132, 134, 374, + 136, 466, 134, 138, 134, 201, 202, 203, 134, 205, + 280, 141, 208, 209, 1254, 211, 4, 135, 93, 94, + 395, 45, 140, 219, 48, 7, 134, 51, 136, 53, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 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, 371, - 893, 45, 72, 269, 48, 51, 72, 51, 78, 79, - 141, 277, 78, 79, 845, 7, 133, 279, 390, 110, - 111, 112, 113, 7, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 130, - 131, 133, 727, 133, 123, 124, 137, 313, 140, 134, - 575, 277, 123, 124, 139, 321, 110, 111, 112, 113, - 326, 140, 51, 8, 330, 331, 123, 124, 139, 335, - 336, 337, 338, 123, 124, 141, 130, 131, 344, 123, - 124, 133, 139, 349, 350, 351, 4, 130, 131, 133, - 140, 123, 124, 133, 137, 135, 140, 363, 364, 365, - 366, 367, 368, 360, 361, 331, 53, 139, 374, 141, - 635, 377, 378, 6, 7, 381, 382, 383, 110, 111, - 112, 113, 529, 530, 531, 51, 110, 111, 112, 113, - 358, 359, 140, 133, 400, 135, 155, 403, 663, 367, - 402, 160, 161, 162, 123, 124, 130, 131, 66, 67, - 68, 69, 134, 123, 124, 381, 74, 139, 48, 77, - 139, 133, 140, 135, 1057, 48, 51, 186, 187, 114, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 124, 125, 904, 134, 272, 51, 66, 67, + 68, 69, 141, 51, 280, 34, 35, 75, 37, 141, + 78, 282, 111, 112, 113, 114, 51, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 131, 132, 51, 45, 386, 134, 48, 134, + 316, 51, 124, 125, 141, 582, 141, 53, 324, 111, + 112, 113, 114, 329, 140, 135, 142, 333, 334, 141, + 140, 6, 338, 339, 340, 341, 73, 134, 73, 131, + 132, 347, 79, 80, 79, 80, 352, 353, 354, 73, + 141, 73, 131, 132, 141, 79, 80, 79, 80, 138, + 366, 367, 368, 369, 370, 371, 363, 364, 8, 375, + 376, 124, 125, 379, 4, 642, 382, 383, 124, 125, + 386, 387, 388, 48, 124, 125, 51, 140, 53, 142, + 73, 51, 124, 125, 134, 48, 79, 80, 51, 405, + 53, 141, 408, 670, 73, 142, 407, 142, 140, 51, + 79, 80, 534, 535, 536, 174, 175, 497, 142, 73, + 142, 124, 125, 182, 48, 79, 80, 186, 1096, 145, + 1098, 48, 1100, 1073, 150, 131, 132, 140, 154, 519, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 51, 133, 72, 135, 132, 4, 4, - 456, 78, 79, 133, 123, 124, 141, 463, 72, 461, - 4, 123, 124, 6, 78, 79, 133, 462, 135, 72, - 139, 4, 5, 143, 72, 78, 79, 139, 148, 133, - 78, 79, 152, 133, 8, 72, 492, 493, 133, 495, - 496, 78, 79, 499, 500, 501, 135, 123, 124, 4, - 774, 775, 4, 36, 37, 38, 39, 6, 514, 42, - 7, 517, 518, 139, 141, 133, 133, 523, 135, 139, - 133, 141, 528, 529, 530, 531, 492, 141, 123, 124, - 140, 537, 538, 528, 529, 530, 531, 543, 141, 133, - 123, 124, 133, 141, 139, 551, 5, 553, 514, 1120, - 123, 124, 1123, 133, 141, 1126, 139, 4, 123, 124, - 566, 6, 568, 569, 6, 133, 139, 135, 536, 123, - 124, 123, 124, 575, 139, 5, 133, 36, 37, 38, - 39, 549, 133, 42, 135, 139, 133, 139, 940, 4, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 133, 611, 612, 277, 132, 123, - 124, 125, 126, 127, 133, 1186, 135, 141, 132, 625, - 626, 627, 628, 629, 630, 631, 133, 133, 634, 135, - 130, 131, 133, 639, 135, 135, 901, 137, 1209, 133, - 646, 1212, 142, 313, 1215, 140, 133, 1218, 135, 133, - 656, 657, 658, 659, 660, 1080, 133, 1082, 135, 1084, - 330, 331, 668, 133, 133, 1236, 135, 1238, 634, 1240, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 133, 689, 135, 133, 132, 125, 126, 127, - 656, 657, 658, 659, 132, 135, 133, 6, 666, 458, - 459, 133, 668, 135, 133, 133, 135, 135, 133, 140, - 135, 381, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 689, 1076, 133, 140, 132, 130, 131, - 133, 140, 135, 135, 1159, 137, 6, 133, 140, 135, - 142, 139, 139, 141, 141, 140, 135, 753, 754, 717, - 718, 719, 135, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 135, 6, 137, 524, 132, 137, 1193, 771, - 1195, 140, 1197, 775, 139, 6, 141, 783, 1203, 139, - 139, 141, 141, 51, 139, 53, 141, 95, 139, 795, - 141, 6, 139, 799, 141, 139, 139, 141, 141, 139, - 1225, 141, 1227, 6, 1229, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 139, - 135, 141, 492, 132, 4, 6, 832, 833, 834, 140, - 500, 501, 5, 137, 840, 841, 132, 139, 844, 141, - 139, 847, 141, 4, 514, 6, 139, 517, 141, 7, - 140, 857, 858, 859, 139, 139, 141, 141, 135, 139, - 866, 141, 864, 141, 139, 871, 141, 139, 139, 141, - 141, 140, 139, 139, 141, 141, 844, 139, 7, 141, - 886, 847, 139, 7, 141, 7, 133, 133, 133, 133, - 885, 7, 134, 7, 6, 92, 6, 134, 134, 140, - 906, 139, 4, 136, 139, 95, 912, 913, 7, 7, - 7, 917, 7, 95, 7, 7, 95, 676, 677, 925, - 679, 7, 681, 682, 7, 4, 685, 686, 6, 137, - 936, 141, 141, 6, 140, 7, 7, 7, 137, 907, - 1205, 936, 133, 940, 133, 6, 4, 6, 954, 6, - 136, 6, 6, 120, 7, 6, 962, 135, 7, 7, - 966, 967, 51, 53, 634, 7, 1231, 962, 1233, 7, - 7, 7, 6, 941, 7, 943, 1088, 945, 737, 738, - 739, 987, 134, 134, 1249, 134, 656, 657, 658, 659, - 134, 7, 7, 7, 4, 6, 133, 140, 668, 140, - 6, 6, 6, 6, 51, 4, 4, 4, 133, 4, - 6, 1017, 6, 140, 134, 7, 137, 6, 58, 689, - 6, 140, 140, 140, 6, 6, 6, 1033, 6, 140, - 5, 1037, 4, 1039, 7, 6, 1042, 7, 7, 7, - 1046, 6, 6, 6, 803, 1051, 140, 91, 1160, 140, - 809, 7, 137, 6, 4, 6, 136, 6, 817, 818, - 819, 6, 6, 6, 823, 6, 6, 6, 6, 828, - 829, 830, 5, 1079, 6, 1081, 1042, 1083, 8, 1076, - 6, 840, 95, 6, 6, 6, 1092, 6, 6, 6, - 140, 4, 6, 139, 1100, 1101, 6, 5, 7, 6, - 6, 1107, 137, 49, 6, 6, 6, 1113, 6, 6, - 1116, 1079, 140, 1081, 6, 1083, 140, 6, 141, 140, - 140, 140, 7, 140, 6, 884, 6, 6, 90, 6, - 1136, 6, 93, 6, 6, 6, 6, 6, 140, 140, - 6, 1147, 6, 6, 1150, 6, 6, 1153, 141, 64, - 140, 1157, 6, 6, 6, 6, 141, 140, 6, 1165, - 6, 140, 1168, 140, 140, 6, 6, 6, 6, 928, - 929, 930, 931, 140, 6, 6, 6, 847, 6, 6, - 140, 140, 140, 140, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 957, 3, - 4, 6, 132, 6, 134, 9, 10, 11, 6, 968, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 6, 6, 6, 794, 1136, 802, 3, 3, 343, - 889, 45, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 66, 67, 68, 69, 70, -1, -1, -1, - 74, 1030, -1, 77, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 106, 107, 108, 109, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, -1, -1, -1, 128, -1, -1, -1, 1087, 133, - -1, -1, -1, -1, 138, -1, -1, 141, -1, 114, + 125, 126, 127, 128, 4, 461, 124, 125, 133, 142, + 1137, 4, 468, 1140, 73, 466, 1143, 134, 4, 136, + 79, 80, 140, 142, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 134, + 73, 497, 498, 133, 500, 501, 79, 80, 504, 505, + 506, 134, 142, 124, 125, 134, 134, 136, 783, 784, + 6, 467, 1180, 519, 134, 4, 522, 523, 73, 140, + 136, 142, 528, 4, 79, 80, 141, 533, 534, 535, + 536, 134, 73, 142, 1211, 134, 542, 543, 79, 80, + 124, 125, 548, 157, 124, 125, 134, 134, 162, 163, + 164, 7, 558, 1221, 560, 1223, 140, 1225, 134, 142, + 140, 641, 1239, 1231, 280, 1242, 8, 573, 1245, 575, + 576, 1248, 124, 125, 5, 189, 190, 533, 534, 535, + 536, 582, 4, 663, 664, 665, 666, 142, 140, 1257, + 6, 1259, 1269, 1261, 1271, 675, 1273, 134, 951, 136, + 316, 142, 361, 362, 6, 36, 37, 38, 39, 6, + 369, 42, 618, 619, 5, 134, 696, 333, 334, 134, + 124, 125, 124, 125, 134, 141, 632, 633, 634, 635, + 636, 637, 638, 124, 125, 641, 140, 134, 140, 136, + 646, 134, 134, 136, 136, 912, 134, 653, 136, 140, + 124, 125, 124, 125, 134, 124, 125, 663, 664, 665, + 666, 667, 140, 134, 142, 136, 140, 134, 140, 675, + 386, 140, 134, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 3, 4, 134, + 696, 133, 4, 9, 10, 11, 134, 134, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 124, + 125, 124, 125, 141, 124, 125, 134, 141, 136, 45, + 134, 140, 136, 142, 141, 140, 134, 140, 136, 1092, + 140, 134, 134, 136, 136, 134, 134, 136, 136, 134, + 66, 67, 68, 69, 70, 136, 762, 763, 134, 75, + 136, 134, 78, 136, 131, 132, 134, 141, 136, 136, + 8, 138, 136, 134, 141, 136, 143, 6, 858, 780, + 136, 497, 541, 784, 6, 136, 792, 138, 138, 505, + 506, 107, 108, 109, 110, 554, 141, 140, 804, 142, + 131, 132, 808, 519, 96, 136, 522, 138, 124, 125, + 6, 6, 143, 129, 140, 140, 142, 142, 134, 51, + 140, 53, 142, 139, 6, 141, 142, 136, 4, 124, + 125, 126, 127, 128, 141, 841, 842, 843, 133, 140, + 140, 142, 142, 849, 850, 6, 140, 853, 142, 463, + 464, 5, 858, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 868, 869, 870, 140, 133, 142, 140, 133, + 142, 877, 138, 4, 875, 6, 882, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 897, 140, 8, 142, 133, 140, 140, 142, 142, + 140, 140, 142, 142, 142, 140, 140, 142, 142, 7, + 140, 917, 142, 136, 673, 529, 141, 923, 924, 1104, + 141, 140, 928, 142, 140, 641, 142, 140, 142, 142, + 936, 140, 140, 142, 142, 140, 7, 142, 7, 7, + 896, 947, 134, 134, 134, 134, 7, 663, 664, 665, + 666, 135, 7, 6, 951, 93, 141, 140, 964, 675, + 135, 967, 135, 140, 6, 724, 725, 726, 1235, 975, + 4, 137, 7, 979, 980, 64, 96, 7, 1058, 7, + 696, 7, 96, 7, 7, 96, 7, 7, 4, 6, + 138, 947, 142, 142, 1000, 6, 1181, 1264, 7, 1266, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, 3, 4, 5, -1, 7, 1127, 9, - 10, 11, 1042, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, - -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, - -1, 3, 4, 5, -1, -1, -1, 9, 10, 11, - -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, - 100, -1, -1, -1, -1, -1, 106, 107, 108, 109, - 110, 111, 112, 113, 66, 67, 68, 69, 70, -1, - -1, -1, 74, 123, 124, 77, -1, -1, 128, -1, - 130, 131, -1, 133, -1, 135, -1, 137, 138, -1, - 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 106, 107, 108, 109, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, 124, -1, -1, -1, 128, -1, -1, -1, - -1, 133, -1, 3, 4, -1, 138, -1, 140, 9, + 125, 126, 127, 128, 7, 7, 1283, 138, 133, 975, + 6, 134, 134, 141, 1030, 140, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 1046, 1047, 4, 6, 133, 6, 137, 1053, 6, 1055, + 6, 136, 1058, 7, 6, 121, 1062, 51, 7, 7, + 7, 1067, 53, 7, 7, 7, 6, 4, 7, 683, + 684, 135, 686, 135, 688, 689, 135, 135, 692, 693, + 7, 7, 7, 6, 141, 134, 7, 6, 6, 1095, + 141, 1097, 6, 1099, 853, 1092, 51, 6, 6, 4, + 4, 4, 1182, 1109, 6, 4, 6, 134, 141, 138, + 135, 1117, 1118, 7, 6, 6, 6, 58, 1124, 141, + 6, 6, 141, 141, 1130, 6, 141, 1133, 5, 4, + 6, 141, 746, 747, 748, 7, 7, 7, 7, 141, + 6, 6, 858, 1149, 1150, 6, 92, 7, 138, 6, + 4, 1157, 137, 6, 6, 6, 6, 6, 6, 918, + 6, 6, 1168, 6, 5, 1171, 6, 6, 1174, 6, + 6, 6, 1178, 6, 96, 6, 1182, 6, 6, 6, + 140, 4, 141, 7, 1190, 6, 6, 1193, 6, 6, + 5, 49, 6, 952, 6, 954, 6, 956, 812, 6, + 138, 6, 6, 6, 818, 964, 141, 141, 7, 142, + 141, 141, 826, 827, 828, 6, 6, 141, 832, 6, + 94, 141, 6, 837, 838, 839, 6, 91, 6, 6, + 6, 141, 6, 6, 141, 849, 142, 6, 64, 6, + 141, 855, 6, 6, 3, 4, 142, 142, 964, 6, + 9, 10, 11, 6, 6, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 6, 8, 6, 141, + 6, 895, 141, 6, 6, 141, 45, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 6, 6, 6, 142, 133, 6, 66, 67, 68, + 69, 70, 6, 6, 6, 6, 75, 142, 6, 78, + 6, 6, 141, 6, 6, 939, 940, 941, 942, 6, + 141, 1047, 141, 141, 6, 141, 1095, 803, 1097, 141, + 1099, 811, 1058, 1157, 3, 3, 346, 1106, 107, 108, + 109, 110, 900, -1, -1, -1, 970, -1, 6, -1, + -1, -1, -1, -1, -1, 124, 125, 981, -1, -1, + 129, -1, -1, -1, -1, 134, -1, -1, -1, -1, + 139, -1, -1, 142, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, -1, -1, -1, -1, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, -1, 1184, -1, -1, 133, 1043, + 3, 4, -1, 1149, 1150, -1, 9, 10, 11, -1, + -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 6, -1, -1, -1, 1182, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 1103, + -1, -1, 1106, 3, 4, 5, -1, 7, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 66, 67, 68, 69, - 70, -1, -1, -1, 74, -1, -1, 77, -1, -1, - -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, -1, 56, -1, 58, 59, -1, 61, - 62, 63, -1, -1, -1, -1, 106, 107, 108, 109, + 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, + 1144, -1, 42, -1, 107, 108, 109, 110, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, 124, 125, -1, 133, -1, 129, -1, -1, -1, + -1, 134, -1, -1, 137, -1, 139, -1, 141, -1, + 1184, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 101, -1, -1, -1, -1, -1, 107, 108, 109, + 110, 111, 112, 113, 114, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, 1232, 129, + -1, 131, 132, -1, 134, -1, 136, -1, 138, 139, + -1, 141, 3, 4, 5, -1, -1, -1, 9, 10, + 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 45, -1, -1, -1, -1, 12, + 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 66, 67, 68, 69, 70, + -1, -1, -1, -1, 75, -1, -1, 78, -1, -1, + -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, -1, 56, -1, 58, 59, -1, 61, 62, + 63, -1, -1, -1, -1, -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 123, 124, 87, 88, 89, 128, -1, - -1, -1, -1, 133, -1, 3, 4, -1, 138, -1, - 140, 9, 10, 11, -1, -1, 14, 15, 16, 17, + -1, -1, -1, 124, 125, 88, 89, 90, 129, -1, + -1, -1, -1, 134, -1, 3, 4, -1, 139, -1, + 141, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 45, -1, 141, + -1, -1, -1, -1, -1, -1, -1, 45, -1, 142, -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, - 68, 69, 70, -1, -1, -1, 74, -1, -1, 77, - -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, + 68, 69, 70, -1, -1, -1, -1, 75, -1, -1, + 78, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, -1, 58, 59, - -1, 61, 62, 63, -1, -1, -1, -1, 106, 107, - 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 123, 124, 87, 88, 89, - 128, -1, -1, -1, -1, 133, -1, 3, 4, -1, - 138, -1, 140, 9, 10, 11, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, - -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 61, 62, 63, -1, -1, -1, -1, -1, 107, + 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, 88, 89, + 90, 129, -1, -1, -1, -1, 134, -1, 3, 4, + -1, 139, -1, 141, 9, 10, 11, -1, -1, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 66, 67, 68, 69, 70, -1, 3, 4, 74, -1, - -1, 77, 9, 10, 11, -1, -1, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, - -1, -1, 128, -1, -1, -1, -1, 133, -1, 3, - 4, 5, 138, -1, 140, 9, 10, 11, -1, -1, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, -1, 36, 37, 38, 39, -1, -1, 42, 106, - 107, 108, 109, -1, -1, -1, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, - -1, 128, -1, -1, -1, -1, 133, -1, -1, 136, - -1, 138, -1, 140, -1, -1, -1, -1, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, - 56, -1, 58, 59, -1, 61, 62, 63, -1, -1, - -1, -1, 106, 107, 108, 109, -1, -1, -1, -1, - -1, -1, 6, -1, -1, -1, -1, -1, -1, 123, - 124, 87, 88, 89, 128, -1, -1, -1, -1, 133, - -1, 3, 4, -1, 138, -1, 140, 9, 10, 11, + 45, -1, 142, -1, -1, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 66, 67, 68, 69, 70, -1, -1, -1, -1, + 75, -1, -1, 78, -1, -1, -1, -1, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, + -1, 58, 59, -1, 61, 62, 63, -1, -1, -1, + -1, -1, 107, 108, 109, 110, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, 88, 89, 90, 129, -1, -1, -1, -1, 134, + -1, 3, 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, 3, 4, 12, 13, - -1, -1, 9, 10, 11, 141, -1, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, + 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 45, -1, 142, -1, -1, 12, 13, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 66, 67, 68, 69, 70, -1, + -1, -1, -1, 75, -1, -1, 78, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, -1, 58, 59, -1, 61, 62, 63, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 106, 107, 108, 109, 132, -1, - -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, - -1, 123, 124, -1, -1, -1, 128, -1, -1, -1, - -1, 133, -1, -1, 136, -1, 138, -1, 140, 106, - 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, - -1, 128, 64, -1, -1, -1, 133, 141, 3, 4, - -1, 138, -1, 140, 9, 10, 11, -1, -1, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, -1, -1, -1, -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 45, -1, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, 66, 67, 68, 69, 70, -1, 3, 4, 74, - -1, -1, 77, 9, 10, 11, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - -1, 106, 107, 108, 109, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - -1, -1, -1, 128, 3, 4, 5, -1, 133, -1, - 9, 10, 11, 138, -1, 14, 15, 16, 17, 18, + -1, -1, 124, 125, 88, 89, 90, 129, -1, -1, + -1, -1, 134, -1, 3, 4, -1, 139, -1, 141, + 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, - 39, -1, -1, 42, -1, -1, -1, -1, -1, -1, - 106, 107, 108, 109, -1, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, - -1, -1, 128, -1, -1, -1, -1, 133, -1, -1, - -1, -1, 138, -1, -1, -1, -1, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, - -1, 58, 59, -1, 61, 62, 63, 106, 107, 108, - 109, 12, 13, 6, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, 124, -1, -1, -1, 128, - 87, 88, 89, -1, 133, -1, 6, -1, -1, 138, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 45, -1, 142, -1, + -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 66, 67, 68, + 69, 70, -1, -1, -1, -1, 75, -1, -1, 78, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, -1, 56, 6, 58, 59, -1, - 61, 62, 63, -1, -1, -1, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 141, -1, 87, 88, 89, 6, + 51, 52, 53, 54, -1, 56, -1, 58, 59, -1, + 61, 62, 63, -1, -1, -1, -1, -1, 107, 108, + 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, 125, 88, 89, 90, + 129, -1, -1, -1, -1, 134, -1, 3, 4, -1, + 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 6, - 56, -1, 58, 59, -1, 61, 62, 63, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 6, -1, -1, -1, 132, - 141, 87, 88, 89, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, - -1, -1, 132, -1, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 141, -1, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 8, -1, -1, -1, 132, -1, 114, 115, 116, + -1, 142, -1, -1, 12, 13, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 66, 67, 68, 69, 70, -1, -1, -1, -1, 75, + -1, -1, 78, -1, -1, -1, -1, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, -1, 56, -1, + 58, 59, -1, 61, 62, 63, -1, -1, -1, -1, + -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, + 88, 89, 90, 129, -1, -1, -1, -1, 134, -1, + 3, 4, -1, 139, -1, 141, 9, 10, 11, -1, + -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 45, -1, 142, -1, -1, 12, 13, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 66, 67, 68, 69, 70, -1, -1, + -1, -1, 75, -1, -1, 78, -1, -1, -1, -1, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + -1, 56, -1, 58, 59, -1, 61, 62, 63, -1, + -1, -1, -1, -1, 107, 108, 109, 110, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, 125, 88, 89, 90, 129, -1, -1, -1, + -1, 134, -1, 3, 4, -1, 139, -1, 141, 9, + 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 45, -1, 142, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, 66, 67, 68, 69, + 70, -1, -1, 3, 4, 75, -1, -1, 78, 9, + 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 6, -1, 107, 108, 109, + 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, 129, + -1, -1, -1, -1, 134, -1, 3, 4, 5, 139, + -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, + 37, 38, 39, -1, -1, 42, -1, 107, 108, 109, + 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, 129, + -1, -1, -1, -1, 134, -1, -1, 137, -1, 139, + -1, 141, -1, -1, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, -1, -1, -1, -1, -1, 6, + 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, + -1, -1, 129, -1, -1, -1, -1, 134, -1, 3, + 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, 3, 4, -1, -1, -1, + -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 45, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 8, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 8, -1, -1, - -1, 132, -1, -1, -1, -1, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 8, -1, -1, -1, 132, -1, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 8, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 114, 115, 116, + 127, 128, -1, -1, -1, -1, 133, -1, 66, 67, + 68, 69, 70, 107, 108, 109, 110, 75, -1, -1, + 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 6, -1, -1, 129, -1, -1, -1, -1, + 134, -1, -1, -1, -1, 139, -1, 141, -1, 107, + 108, 109, 110, 6, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, 129, 3, 4, 5, -1, 134, -1, 9, 10, + 11, 139, -1, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, -1, 36, 37, 38, 39, 3, + 4, 42, -1, -1, -1, 9, 10, 11, -1, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 6, -1, -1, -1, 133, + -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 107, 108, 109, 110, + 133, 6, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, -1, -1, -1, 129, -1, + 6, -1, -1, 134, -1, -1, -1, -1, 139, -1, + -1, -1, -1, 107, 108, 109, 110, -1, -1, 6, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, -1, -1, -1, 129, -1, -1, -1, -1, + 134, 8, -1, -1, -1, 139, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 8, -1, -1, -1, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, 8, + -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 8, -1, -1, -1, 133, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 8, -1, -1, -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 8, -1, -1, -1, 132, -1, 114, 115, 116, + 127, 128, -1, -1, -1, -1, 133, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 114, 115, 116, 117, + 127, 128, -1, -1, -1, -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, 0, 1, -1, 132, 4, -1, -1, -1, -1, - -1, -1, -1, 12, 13, -1, -1, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, 35, -1, -1, -1, - -1, 40, 41, -1, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, - 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, - 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, - -1, 80, 81, 4, -1, -1, -1, 86, 87, 88, - 89, 12, 13, 92, -1, 94, -1, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, -1, -1, -1, - -1, -1, -1, -1, 35, -1, -1, -1, -1, 40, - 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, -1, 56, 57, 58, 59, 60, - 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, - -1, 72, 73, 74, 75, 76, 77, 12, 13, 80, - 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, - -1, 92, -1, 94, -1, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, -1, -1, -1, -1, -1, + 128, -1, -1, -1, -1, 133, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, + -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, -1, 0, 1, -1, 133, 4, + -1, -1, -1, -1, -1, -1, -1, 12, 13, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 35, -1, -1, -1, -1, 40, 41, 142, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - -1, 56, -1, 58, 59, -1, 61, 62, 63, -1, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 87, 88, 89, 139, -1, 141, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, -1, 141, 114, 115, 116, 117, + -1, 56, 57, 58, 59, 60, 61, 62, 63, -1, + 65, 66, 67, 68, 69, 70, 71, -1, 73, 74, + 75, 76, 77, 78, -1, -1, 81, 82, 4, -1, + -1, -1, 87, 88, 89, 90, 12, 13, 93, -1, + 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, -1, -1, -1, -1, -1, -1, -1, 35, + -1, -1, -1, -1, 40, 41, -1, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, + 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, + 66, 67, 68, 69, 70, 71, -1, 73, 74, 75, + 76, 77, 78, 12, 13, 81, 82, -1, -1, -1, + -1, 87, 88, 89, 90, -1, -1, 93, -1, 95, + -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, -1, -1, -1, -1, -1, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, -1, 56, -1, 58, + 59, -1, 61, 62, 63, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 88, + 89, 90, 140, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, + 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, + 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132 + 125, 126, 127, 128, -1, -1, -1, -1, 133 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 1, 144, 145, 6, 0, 4, 12, 13, 35, + 0, 1, 145, 146, 6, 0, 4, 12, 13, 35, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, - 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, - 74, 75, 76, 77, 80, 81, 86, 87, 88, 89, - 92, 94, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 146, 148, 149, 167, 171, 176, 179, 180, - 181, 182, 183, 184, 204, 205, 206, 3, 4, 5, - 7, 9, 10, 11, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 36, 37, 38, 39, 42, - 100, 106, 107, 108, 109, 110, 111, 112, 113, 123, - 124, 128, 130, 131, 133, 135, 137, 138, 140, 165, - 166, 207, 208, 220, 13, 51, 133, 6, 140, 6, - 6, 6, 133, 140, 133, 133, 71, 133, 140, 133, - 133, 71, 140, 133, 133, 55, 51, 51, 51, 51, - 48, 51, 53, 53, 45, 48, 51, 53, 48, 51, - 53, 133, 140, 123, 124, 133, 140, 209, 210, 209, - 140, 45, 48, 51, 140, 209, 51, 51, 48, 4, - 100, 140, 4, 6, 48, 4, 4, 4, 133, 133, - 133, 4, 140, 216, 4, 133, 133, 6, 135, 4, - 4, 5, 140, 5, 140, 4, 135, 137, 142, 166, - 140, 5, 220, 133, 135, 133, 135, 133, 135, 133, - 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, - 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, - 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, - 135, 133, 135, 133, 135, 133, 133, 133, 133, 7, - 133, 4, 207, 207, 207, 207, 136, 140, 207, 4, - 92, 93, 4, 4, 176, 177, 178, 207, 6, 6, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 132, 6, 6, 207, 5, 207, - 207, 4, 45, 124, 176, 184, 207, 214, 215, 207, - 207, 133, 207, 215, 207, 207, 133, 215, 207, 207, - 124, 140, 207, 212, 214, 133, 140, 133, 133, 5, - 212, 213, 213, 213, 133, 172, 173, 174, 175, 133, - 133, 133, 4, 209, 209, 209, 207, 207, 123, 124, - 140, 140, 209, 140, 140, 140, 123, 124, 133, 178, - 209, 140, 213, 212, 133, 4, 6, 135, 135, 178, - 6, 140, 135, 135, 6, 207, 207, 207, 137, 207, - 140, 95, 207, 207, 207, 6, 6, 178, 6, 178, - 135, 207, 4, 140, 150, 6, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 4, 219, - 220, 219, 219, 219, 207, 5, 135, 134, 7, 113, - 215, 136, 7, 165, 166, 137, 7, 135, 141, 45, - 48, 51, 53, 171, 6, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 6, 134, 139, 139, 134, 135, 140, 207, 214, 8, - 125, 139, 141, 134, 134, 207, 134, 141, 134, 134, - 207, 141, 134, 134, 140, 141, 215, 125, 7, 207, - 207, 207, 207, 7, 7, 202, 202, 207, 133, 133, - 133, 133, 207, 207, 207, 134, 139, 139, 139, 209, - 209, 177, 177, 139, 207, 207, 207, 207, 188, 139, - 178, 7, 203, 7, 207, 6, 207, 207, 141, 215, - 207, 207, 134, 134, 134, 92, 139, 178, 140, 8, - 134, 136, 141, 141, 207, 136, 166, 207, 4, 82, - 83, 84, 85, 141, 153, 157, 160, 162, 163, 134, - 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, - 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, - 136, 139, 139, 134, 136, 134, 136, 134, 136, 134, - 136, 134, 136, 134, 136, 139, 139, 139, 139, 139, - 139, 135, 137, 134, 139, 139, 134, 134, 6, 139, - 207, 212, 212, 141, 7, 137, 165, 166, 220, 207, - 6, 4, 4, 140, 217, 136, 140, 140, 140, 140, - 8, 6, 120, 147, 215, 207, 7, 136, 140, 207, - 207, 207, 214, 207, 214, 95, 7, 7, 134, 7, - 95, 7, 7, 134, 95, 7, 7, 215, 141, 140, - 207, 134, 141, 134, 134, 207, 212, 4, 201, 6, - 134, 168, 207, 220, 168, 168, 168, 134, 134, 134, - 137, 209, 207, 207, 141, 141, 207, 139, 139, 139, - 72, 78, 79, 198, 199, 209, 141, 185, 207, 6, - 207, 134, 136, 136, 141, 136, 136, 7, 7, 7, - 137, 207, 141, 207, 207, 7, 137, 136, 137, 166, - 219, 141, 154, 133, 133, 140, 164, 6, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 4, 215, 219, - 207, 136, 6, 6, 136, 4, 92, 93, 207, 6, - 6, 6, 7, 135, 216, 218, 6, 215, 215, 215, - 215, 207, 120, 219, 134, 139, 209, 215, 141, 8, - 51, 212, 212, 7, 212, 51, 53, 212, 212, 7, - 53, 212, 212, 141, 215, 6, 7, 7, 7, 7, - 64, 200, 6, 7, 134, 134, 134, 134, 7, 7, - 7, 4, 139, 139, 139, 141, 209, 209, 209, 6, - 140, 133, 141, 199, 139, 198, 6, 140, 6, 6, - 51, 6, 6, 212, 212, 212, 4, 139, 8, 8, - 134, 4, 4, 6, 4, 6, 133, 207, 207, 211, - 212, 140, 134, 136, 134, 136, 134, 136, 134, 136, - 136, 134, 134, 134, 165, 7, 165, 166, 137, 7, - 6, 216, 207, 139, 141, 141, 141, 141, 141, 6, - 6, 147, 207, 6, 141, 207, 140, 58, 170, 170, - 212, 6, 140, 140, 6, 6, 212, 140, 6, 6, - 141, 5, 212, 212, 212, 4, 6, 212, 7, 7, - 7, 7, 212, 212, 212, 6, 7, 207, 207, 207, - 140, 139, 141, 139, 141, 139, 141, 207, 212, 207, - 207, 209, 141, 215, 140, 6, 6, 91, 207, 207, - 207, 6, 7, 166, 151, 207, 139, 139, 139, 141, - 152, 207, 137, 212, 220, 207, 6, 4, 217, 6, - 136, 216, 6, 6, 6, 6, 219, 139, 136, 207, - 209, 6, 6, 6, 207, 207, 6, 207, 5, 6, - 6, 95, 169, 207, 6, 212, 212, 212, 212, 6, - 4, 6, 6, 207, 220, 141, 134, 139, 141, 177, - 209, 6, 189, 209, 6, 190, 209, 6, 191, 141, - 139, 134, 141, 139, 141, 207, 212, 139, 141, 8, - 141, 134, 140, 207, 220, 134, 139, 207, 207, 212, - 140, 139, 141, 4, 6, 6, 6, 7, 6, 137, - 6, 207, 141, 141, 141, 141, 5, 49, 6, 6, - 6, 6, 6, 140, 6, 6, 140, 207, 141, 139, - 140, 139, 140, 139, 140, 6, 212, 7, 140, 207, - 6, 141, 90, 207, 207, 215, 6, 6, 155, 207, - 139, 139, 211, 207, 6, 216, 93, 139, 6, 6, - 6, 6, 6, 140, 211, 177, 139, 141, 207, 209, - 198, 207, 209, 198, 207, 209, 198, 139, 141, 212, - 178, 141, 207, 141, 141, 141, 140, 207, 207, 141, - 6, 207, 207, 141, 141, 207, 141, 139, 141, 141, - 139, 141, 141, 139, 141, 212, 6, 64, 141, 186, - 140, 6, 6, 152, 134, 139, 6, 140, 139, 141, - 6, 141, 6, 192, 207, 6, 6, 193, 207, 6, - 6, 194, 207, 6, 141, 207, 198, 178, 141, 158, - 207, 211, 207, 140, 141, 140, 141, 140, 141, 6, - 6, 141, 141, 187, 6, 140, 134, 141, 141, 198, - 6, 195, 198, 6, 196, 198, 6, 197, 198, 156, - 219, 161, 140, 6, 141, 140, 141, 140, 141, 140, - 141, 139, 141, 140, 211, 6, 198, 6, 198, 6, - 198, 219, 6, 159, 219, 141, 141, 141, 141, 139, - 141, 6, 6, 6, 6, 219, 6 + 62, 63, 65, 66, 67, 68, 69, 70, 71, 73, + 74, 75, 76, 77, 78, 81, 82, 87, 88, 89, + 90, 93, 95, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 147, 149, 150, 168, 172, 177, 180, + 181, 182, 183, 184, 185, 186, 206, 207, 208, 3, + 4, 5, 7, 9, 10, 11, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, + 39, 42, 101, 107, 108, 109, 110, 111, 112, 113, + 114, 124, 125, 129, 131, 132, 134, 136, 138, 139, + 141, 166, 167, 209, 210, 222, 13, 51, 134, 6, + 141, 6, 6, 6, 134, 141, 134, 134, 72, 134, + 141, 134, 134, 72, 141, 134, 134, 55, 51, 51, + 51, 51, 48, 51, 53, 53, 45, 48, 51, 53, + 48, 51, 53, 134, 141, 124, 125, 134, 141, 211, + 212, 211, 141, 45, 48, 51, 141, 211, 4, 51, + 51, 48, 4, 101, 141, 4, 6, 48, 4, 4, + 4, 134, 134, 134, 4, 141, 218, 4, 134, 134, + 6, 136, 4, 4, 5, 141, 5, 141, 4, 136, + 138, 143, 167, 141, 5, 222, 134, 136, 134, 136, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 134, + 134, 134, 7, 134, 4, 209, 209, 209, 209, 137, + 141, 209, 4, 93, 94, 4, 4, 177, 178, 179, + 209, 6, 6, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 133, 6, 6, + 209, 5, 209, 209, 4, 45, 125, 177, 186, 209, + 216, 217, 209, 209, 134, 209, 217, 209, 209, 134, + 217, 209, 209, 125, 141, 209, 214, 216, 134, 141, + 134, 134, 5, 214, 215, 215, 215, 134, 173, 174, + 175, 176, 134, 134, 134, 4, 211, 211, 211, 209, + 209, 124, 125, 141, 141, 211, 141, 141, 141, 124, + 125, 134, 179, 211, 141, 134, 141, 215, 214, 134, + 4, 6, 136, 136, 179, 6, 141, 136, 136, 6, + 209, 209, 209, 138, 209, 141, 96, 209, 209, 209, + 6, 6, 179, 6, 179, 136, 209, 4, 141, 151, + 6, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 4, 221, 222, 221, 221, 221, 209, + 5, 136, 135, 7, 114, 217, 137, 7, 166, 167, + 138, 7, 136, 142, 45, 48, 51, 53, 172, 6, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 6, 135, 140, 140, 135, + 136, 141, 209, 216, 8, 126, 140, 142, 135, 135, + 209, 135, 142, 135, 135, 209, 142, 135, 135, 141, + 142, 217, 126, 7, 209, 209, 209, 209, 7, 7, + 204, 204, 209, 134, 134, 134, 134, 209, 209, 209, + 135, 140, 140, 140, 211, 211, 178, 178, 140, 209, + 209, 209, 209, 190, 140, 179, 209, 209, 7, 205, + 7, 209, 6, 209, 209, 142, 217, 209, 209, 135, + 135, 135, 93, 140, 179, 141, 8, 135, 137, 142, + 142, 209, 137, 167, 209, 4, 83, 84, 85, 86, + 142, 154, 158, 161, 163, 164, 135, 137, 135, 137, + 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, + 135, 137, 135, 137, 135, 137, 135, 137, 140, 140, + 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, + 135, 137, 140, 140, 140, 140, 140, 140, 136, 138, + 135, 140, 140, 135, 135, 6, 140, 209, 214, 214, + 142, 7, 138, 166, 167, 222, 209, 6, 4, 4, + 141, 219, 137, 141, 141, 141, 141, 8, 6, 121, + 148, 217, 209, 7, 137, 141, 209, 209, 209, 216, + 209, 216, 96, 7, 7, 135, 7, 96, 7, 7, + 135, 96, 7, 7, 217, 142, 141, 209, 135, 142, + 135, 135, 209, 214, 4, 203, 6, 135, 169, 209, + 222, 169, 169, 169, 135, 135, 135, 138, 211, 209, + 209, 142, 142, 209, 140, 140, 140, 73, 79, 80, + 200, 201, 211, 142, 187, 135, 142, 209, 6, 209, + 135, 137, 137, 142, 137, 137, 7, 7, 7, 138, + 209, 142, 209, 209, 7, 138, 137, 138, 167, 221, + 142, 155, 134, 134, 141, 165, 6, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 4, 217, 221, 209, + 137, 6, 6, 137, 4, 93, 94, 209, 6, 6, + 6, 7, 136, 218, 220, 6, 217, 217, 217, 217, + 209, 121, 221, 135, 140, 211, 217, 142, 8, 51, + 214, 214, 7, 214, 51, 53, 214, 214, 7, 53, + 214, 214, 142, 217, 6, 7, 7, 7, 7, 64, + 202, 6, 7, 135, 135, 135, 135, 7, 7, 7, + 4, 140, 140, 140, 142, 211, 211, 211, 6, 141, + 134, 142, 201, 140, 200, 7, 6, 6, 141, 6, + 6, 51, 6, 6, 214, 214, 214, 4, 140, 8, + 8, 135, 4, 4, 6, 4, 6, 134, 209, 209, + 213, 214, 141, 135, 137, 135, 137, 135, 137, 135, + 137, 137, 135, 135, 135, 166, 7, 166, 167, 138, + 7, 6, 218, 209, 140, 142, 142, 142, 142, 142, + 6, 6, 148, 209, 6, 142, 209, 141, 58, 171, + 171, 214, 6, 141, 141, 6, 6, 214, 141, 6, + 6, 142, 5, 214, 214, 214, 4, 6, 214, 7, + 7, 7, 7, 214, 214, 214, 6, 7, 209, 209, + 209, 141, 140, 142, 140, 142, 140, 142, 209, 214, + 209, 209, 211, 142, 141, 214, 217, 141, 6, 6, + 92, 209, 209, 209, 6, 7, 167, 152, 209, 140, + 140, 140, 142, 153, 209, 138, 214, 222, 209, 6, + 4, 219, 6, 137, 218, 6, 6, 6, 6, 221, + 140, 137, 209, 211, 6, 6, 6, 209, 209, 6, + 209, 5, 6, 6, 96, 170, 209, 6, 214, 214, + 214, 214, 6, 4, 6, 6, 209, 222, 142, 135, + 140, 142, 178, 211, 6, 191, 211, 6, 192, 211, + 6, 193, 142, 140, 135, 142, 140, 125, 211, 6, + 142, 209, 214, 140, 142, 8, 142, 135, 141, 209, + 222, 135, 140, 209, 209, 214, 141, 140, 142, 4, + 6, 6, 6, 7, 6, 138, 6, 209, 142, 142, + 142, 142, 5, 49, 6, 6, 6, 6, 6, 141, + 6, 6, 141, 209, 142, 140, 141, 140, 141, 140, + 141, 6, 214, 7, 141, 209, 140, 6, 142, 91, + 209, 209, 217, 6, 6, 156, 209, 140, 140, 213, + 209, 6, 218, 94, 140, 6, 6, 6, 6, 6, + 141, 213, 178, 140, 142, 209, 211, 200, 209, 211, + 200, 209, 211, 200, 140, 142, 214, 179, 142, 125, + 141, 211, 214, 209, 142, 142, 142, 141, 209, 209, + 142, 6, 209, 209, 142, 142, 209, 142, 140, 142, + 142, 140, 142, 142, 140, 142, 214, 6, 64, 142, + 188, 141, 141, 209, 140, 142, 6, 6, 153, 135, + 140, 6, 141, 140, 142, 6, 142, 6, 194, 209, + 6, 6, 195, 209, 6, 6, 196, 209, 6, 142, + 209, 200, 179, 211, 214, 6, 142, 159, 209, 213, + 209, 141, 142, 141, 142, 141, 142, 6, 6, 142, + 142, 189, 140, 142, 6, 141, 135, 142, 142, 200, + 6, 197, 200, 6, 198, 200, 6, 199, 200, 214, + 6, 157, 221, 162, 141, 6, 142, 141, 142, 141, + 142, 141, 142, 142, 140, 142, 141, 213, 6, 200, + 6, 200, 6, 200, 6, 221, 6, 160, 221, 142, + 142, 142, 142, 140, 142, 6, 6, 6, 6, 221, + 6 }; #define yyerrok (yyerrstatus = 0) @@ -2947,7 +3073,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -3688,104 +3814,109 @@ yyreduce: switch (yyn) { case 3: -#line 142 "Gmsh.y" +#line 143 "Gmsh.y" { yyerrok; return 1; ;} break; case 6: -#line 153 "Gmsh.y" +#line 154 "Gmsh.y" { return 1; ;} break; case 7: -#line 154 "Gmsh.y" +#line 155 "Gmsh.y" { return 1; ;} break; case 8: -#line 155 "Gmsh.y" +#line 156 "Gmsh.y" { return 1; ;} break; case 9: -#line 156 "Gmsh.y" +#line 157 "Gmsh.y" { return 1; ;} break; case 10: -#line 157 "Gmsh.y" +#line 158 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 11: -#line 158 "Gmsh.y" +#line 159 "Gmsh.y" { return 1; ;} break; case 12: -#line 159 "Gmsh.y" +#line 160 "Gmsh.y" { return 1; ;} break; case 13: -#line 160 "Gmsh.y" +#line 161 "Gmsh.y" { return 1; ;} break; case 14: -#line 161 "Gmsh.y" +#line 162 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 15: -#line 162 "Gmsh.y" +#line 163 "Gmsh.y" { return 1; ;} break; case 16: -#line 163 "Gmsh.y" +#line 164 "Gmsh.y" { return 1; ;} break; case 17: -#line 164 "Gmsh.y" +#line 165 "Gmsh.y" { return 1; ;} break; case 18: -#line 165 "Gmsh.y" +#line 166 "Gmsh.y" { return 1; ;} break; case 19: -#line 166 "Gmsh.y" +#line 167 "Gmsh.y" { return 1; ;} break; case 20: -#line 171 "Gmsh.y" +#line 168 "Gmsh.y" + { return 1; ;} + break; + + case 21: +#line 173 "Gmsh.y" { (yyval.c) = (char*)"w"; ;} break; - case 21: -#line 175 "Gmsh.y" + case 22: +#line 177 "Gmsh.y" { (yyval.c) = (char*)"a"; ;} break; - case 22: -#line 182 "Gmsh.y" + case 23: +#line 184 "Gmsh.y" { Msg::Direct((yyvsp[(3) - (5)].c)); Free((yyvsp[(3) - (5)].c)); ;} break; - case 23: -#line 187 "Gmsh.y" + case 24: +#line 189 "Gmsh.y" { char tmpstring[1024]; FixRelativePath((yyvsp[(6) - (7)].c), tmpstring); @@ -3802,8 +3933,8 @@ yyreduce: ;} break; - case 24: -#line 202 "Gmsh.y" + case 25: +#line 204 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring); @@ -3818,8 +3949,8 @@ yyreduce: ;} break; - case 25: -#line 215 "Gmsh.y" + case 26: +#line 217 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (9)].c), (yyvsp[(5) - (9)].l), tmpstring); @@ -3845,8 +3976,8 @@ yyreduce: ;} break; - case 26: -#line 244 "Gmsh.y" + case 27: +#line 246 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (6)].c), "View") && ViewData->finalize()){ @@ -3862,8 +3993,8 @@ yyreduce: ;} break; - case 27: -#line 258 "Gmsh.y" + case 28: +#line 260 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -3876,8 +4007,8 @@ yyreduce: ;} break; - case 28: -#line 269 "Gmsh.y" + case 29: +#line 271 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -3890,8 +4021,8 @@ yyreduce: ;} break; - case 29: -#line 283 "Gmsh.y" + case 30: +#line 285 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewData = new PViewDataList(); @@ -3899,28 +4030,28 @@ yyreduce: ;} break; - case 35: -#line 297 "Gmsh.y" - { ViewCoord.push_back((yyvsp[(1) - (1)].d)); ;} - break; - case 36: #line 299 "Gmsh.y" - { ViewCoord.push_back((yyvsp[(3) - (3)].d)); ;} + { ViewCoord.push_back((yyvsp[(1) - (1)].d)); ;} break; case 37: -#line 304 "Gmsh.y" - { if(ViewValueList) ViewValueList->push_back((yyvsp[(1) - (1)].d)); ;} +#line 301 "Gmsh.y" + { ViewCoord.push_back((yyvsp[(3) - (3)].d)); ;} break; case 38: #line 306 "Gmsh.y" - { if(ViewValueList) ViewValueList->push_back((yyvsp[(3) - (3)].d)); ;} + { if(ViewValueList) ViewValueList->push_back((yyvsp[(1) - (1)].d)); ;} break; case 39: -#line 311 "Gmsh.y" +#line 308 "Gmsh.y" + { if(ViewValueList) ViewValueList->push_back((yyvsp[(3) - (3)].d)); ;} + break; + + case 40: +#line 313 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strncmp((yyvsp[(1) - (1)].c), "SP", 2)){ @@ -4026,8 +4157,8 @@ yyreduce: ;} break; - case 40: -#line 415 "Gmsh.y" + case 41: +#line 417 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(ViewValueList){ @@ -4039,8 +4170,8 @@ yyreduce: ;} break; - case 41: -#line 425 "Gmsh.y" + case 42: +#line 427 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(ViewValueList) (*ViewNumList)++; @@ -4048,8 +4179,8 @@ yyreduce: ;} break; - case 42: -#line 434 "Gmsh.y" + case 43: +#line 436 "Gmsh.y" { #if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(1) - (1)].c)[i]); @@ -4058,8 +4189,8 @@ yyreduce: ;} break; - case 43: -#line 441 "Gmsh.y" + case 44: +#line 443 "Gmsh.y" { #if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(3) - (3)].c)[i]); @@ -4068,8 +4199,8 @@ yyreduce: ;} break; - case 44: -#line 451 "Gmsh.y" + case 45: +#line 453 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewData->T2D.push_back((yyvsp[(3) - (8)].d)); @@ -4080,8 +4211,8 @@ yyreduce: ;} break; - case 45: -#line 460 "Gmsh.y" + case 46: +#line 462 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewData->NbT2++; @@ -4089,8 +4220,8 @@ yyreduce: ;} break; - case 46: -#line 469 "Gmsh.y" + case 47: +#line 471 "Gmsh.y" { #if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(1) - (1)].c)[i]); @@ -4099,8 +4230,8 @@ yyreduce: ;} break; - case 47: -#line 476 "Gmsh.y" + case 48: +#line 478 "Gmsh.y" { #if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(3) - (3)].c)[i]); @@ -4109,8 +4240,8 @@ yyreduce: ;} break; - case 48: -#line 486 "Gmsh.y" + case 49: +#line 488 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewData->T3D.push_back((yyvsp[(3) - (10)].d)); ViewData->T3D.push_back((yyvsp[(5) - (10)].d)); @@ -4120,8 +4251,8 @@ yyreduce: ;} break; - case 49: -#line 494 "Gmsh.y" + case 50: +#line 496 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewData->NbT3++; @@ -4129,8 +4260,8 @@ yyreduce: ;} break; - case 50: -#line 504 "Gmsh.y" + case 51: +#line 506 "Gmsh.y" { #if !defined(HAVE_NO_POST) int type = @@ -4148,8 +4279,8 @@ yyreduce: ;} break; - case 51: -#line 523 "Gmsh.y" + case 52: +#line 525 "Gmsh.y" { #if !defined(HAVE_NO_POST) int type = @@ -4167,8 +4298,8 @@ yyreduce: ;} break; - case 52: -#line 542 "Gmsh.y" + case 53: +#line 544 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewValueList = &ViewData->Time; @@ -4176,49 +4307,49 @@ yyreduce: ;} break; - case 53: -#line 548 "Gmsh.y" + case 54: +#line 550 "Gmsh.y" { ;} break; - case 54: -#line 555 "Gmsh.y" + case 55: +#line 557 "Gmsh.y" { (yyval.i) = 0; ;} break; - case 55: -#line 556 "Gmsh.y" + case 56: +#line 558 "Gmsh.y" { (yyval.i) = 1; ;} break; - case 56: -#line 557 "Gmsh.y" + case 57: +#line 559 "Gmsh.y" { (yyval.i) = 2; ;} break; - case 57: -#line 558 "Gmsh.y" + case 58: +#line 560 "Gmsh.y" { (yyval.i) = 3; ;} break; - case 58: -#line 559 "Gmsh.y" + case 59: +#line 561 "Gmsh.y" { (yyval.i) = 4; ;} break; - case 59: -#line 563 "Gmsh.y" + case 60: +#line 565 "Gmsh.y" { (yyval.i) = 1; ;} break; - case 60: -#line 564 "Gmsh.y" + case 61: +#line 566 "Gmsh.y" { (yyval.i) = -1; ;} break; - case 61: -#line 572 "Gmsh.y" + case 62: +#line 574 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ if(!(yyvsp[(2) - (4)].i)) @@ -4242,8 +4373,8 @@ yyreduce: ;} break; - case 62: -#line 594 "Gmsh.y" + case 63: +#line 596 "Gmsh.y" { int index = (int)(yyvsp[(3) - (7)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (7)].c))){ @@ -4272,8 +4403,8 @@ yyreduce: ;} break; - case 63: -#line 621 "Gmsh.y" + case 64: +#line 623 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (9)].l)) != List_Nbr((yyvsp[(8) - (9)].l))){ yymsg(0, "Incompatible array dimensions in affectation"); @@ -4315,8 +4446,8 @@ yyreduce: ;} break; - case 64: -#line 661 "Gmsh.y" + case 65: +#line 663 "Gmsh.y" { if(gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) gmsh_yysymbols[(yyvsp[(1) - (6)].c)].clear(); @@ -4328,8 +4459,8 @@ yyreduce: ;} break; - case 65: -#line 671 "Gmsh.y" + case 66: +#line 673 "Gmsh.y" { // appends to the list for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++) @@ -4339,8 +4470,8 @@ yyreduce: ;} break; - case 66: -#line 679 "Gmsh.y" + case 67: +#line 681 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c)); @@ -4350,8 +4481,8 @@ yyreduce: ;} break; - case 67: -#line 687 "Gmsh.y" + case 68: +#line 689 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (6)].c)); @@ -4365,8 +4496,8 @@ yyreduce: ;} break; - case 68: -#line 699 "Gmsh.y" + case 69: +#line 701 "Gmsh.y" { gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)] = std::string((yyvsp[(3) - (4)].c)); Free((yyvsp[(1) - (4)].c)); @@ -4374,8 +4505,8 @@ yyreduce: ;} break; - case 69: -#line 708 "Gmsh.y" + case 70: +#line 710 "Gmsh.y" { std::string tmp((yyvsp[(5) - (6)].c)); StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), tmp); @@ -4383,8 +4514,8 @@ yyreduce: ;} break; - case 70: -#line 714 "Gmsh.y" + case 71: +#line 716 "Gmsh.y" { std::string tmp((yyvsp[(8) - (9)].c)); StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), tmp); @@ -4392,8 +4523,8 @@ yyreduce: ;} break; - case 71: -#line 723 "Gmsh.y" + case 72: +#line 725 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), d)){ @@ -4413,8 +4544,8 @@ yyreduce: ;} break; - case 72: -#line 741 "Gmsh.y" + case 73: +#line 743 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), d)){ @@ -4434,8 +4565,8 @@ yyreduce: ;} break; - case 73: -#line 759 "Gmsh.y" + case 74: +#line 761 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(3) - (5)].c), d)){ @@ -4446,8 +4577,8 @@ yyreduce: ;} break; - case 74: -#line 768 "Gmsh.y" + case 75: +#line 770 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (8)].c), (int)(yyvsp[(3) - (8)].d), (yyvsp[(6) - (8)].c), d)){ @@ -4458,24 +4589,24 @@ yyreduce: ;} break; - case 75: -#line 780 "Gmsh.y" + case 76: +#line 782 "Gmsh.y" { ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (8)].c), 0, (yyvsp[(5) - (8)].c), (yyvsp[(7) - (8)].u)); Free((yyvsp[(1) - (8)].c)); Free((yyvsp[(5) - (8)].c)); ;} break; - case 76: -#line 785 "Gmsh.y" + case 77: +#line 787 "Gmsh.y" { ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (11)].c), (int)(yyvsp[(3) - (11)].d), (yyvsp[(8) - (11)].c), (yyvsp[(10) - (11)].u)); Free((yyvsp[(1) - (11)].c)); Free((yyvsp[(8) - (11)].c)); ;} break; - case 77: -#line 793 "Gmsh.y" + case 78: +#line 795 "Gmsh.y" { GmshColorTable *ct = GetColorTable(0); if(!ct) @@ -4497,8 +4628,8 @@ yyreduce: ;} break; - case 78: -#line 813 "Gmsh.y" + case 79: +#line 815 "Gmsh.y" { GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (9)].d)); if(!ct) @@ -4520,8 +4651,8 @@ yyreduce: ;} break; - case 79: -#line 836 "Gmsh.y" + case 80: +#line 838 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (5)].c),"Background")) GModel::current()->getFields()->background_field = (int)(yyvsp[(4) - (5)].d); @@ -4530,8 +4661,8 @@ yyreduce: ;} break; - case 80: -#line 843 "Gmsh.y" + case 81: +#line 845 "Gmsh.y" { if(!GModel::current()->getFields()->newField((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c))) yymsg(0, "Cannot create field %i of type '%s'", (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)); @@ -4539,8 +4670,8 @@ yyreduce: ;} break; - case 81: -#line 849 "Gmsh.y" + case 82: +#line 851 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); if(field){ @@ -4562,8 +4693,8 @@ yyreduce: ;} break; - case 82: -#line 869 "Gmsh.y" + case 83: +#line 871 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); if(field){ @@ -4586,8 +4717,8 @@ yyreduce: ;} break; - case 83: -#line 890 "Gmsh.y" + case 84: +#line 892 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d)); if(field){ @@ -4612,8 +4743,8 @@ yyreduce: ;} break; - case 84: -#line 916 "Gmsh.y" + case 85: +#line 918 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -4627,8 +4758,8 @@ yyreduce: ;} break; - case 85: -#line 928 "Gmsh.y" + case 86: +#line 930 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -4642,15 +4773,15 @@ yyreduce: ;} break; - case 86: -#line 945 "Gmsh.y" + case 87: +#line 947 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; - case 87: -#line 949 "Gmsh.y" + case 88: +#line 951 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName (std::string((yyvsp[(1) - (1)].c)), curPhysDim, @@ -4659,15 +4790,15 @@ yyreduce: ;} break; - case 88: -#line 959 "Gmsh.y" + case 89: +#line 961 "Gmsh.y" { (yyval.l) = 0; ;} break; - case 89: -#line 963 "Gmsh.y" + case 90: +#line 965 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(Vertex*)); Vertex *v = FindPoint((int)(yyvsp[(4) - (5)].d)); @@ -4679,22 +4810,22 @@ yyreduce: ;} break; - case 90: -#line 975 "Gmsh.y" + case 91: +#line 977 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.; ;} break; - case 91: -#line 979 "Gmsh.y" + case 92: +#line 981 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; - case 92: -#line 989 "Gmsh.y" + case 93: +#line 991 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindPoint(num)){ @@ -4719,15 +4850,15 @@ yyreduce: ;} break; - case 93: -#line 1012 "Gmsh.y" + case 94: +#line 1014 "Gmsh.y" { curPhysDim = 0; ;} break; - case 94: -#line 1016 "Gmsh.y" + case 95: +#line 1018 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ @@ -4745,8 +4876,8 @@ yyreduce: ;} break; - case 95: -#line 1032 "Gmsh.y" + case 96: +#line 1034 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -4767,8 +4898,8 @@ yyreduce: ;} break; - case 96: -#line 1054 "Gmsh.y" + case 97: +#line 1056 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4788,8 +4919,8 @@ yyreduce: ;} break; - case 97: -#line 1072 "Gmsh.y" + case 98: +#line 1074 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4809,8 +4940,8 @@ yyreduce: ;} break; - case 98: -#line 1090 "Gmsh.y" + case 99: +#line 1092 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -4842,8 +4973,8 @@ yyreduce: ;} break; - case 99: -#line 1120 "Gmsh.y" + case 100: +#line 1122 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -4875,8 +5006,8 @@ yyreduce: ;} break; - case 100: -#line 1150 "Gmsh.y" + case 101: +#line 1152 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4896,8 +5027,8 @@ yyreduce: ;} break; - case 101: -#line 1168 "Gmsh.y" + case 102: +#line 1170 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4917,8 +5048,8 @@ yyreduce: ;} break; - case 102: -#line 1186 "Gmsh.y" + case 103: +#line 1188 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -4946,8 +5077,8 @@ yyreduce: ;} break; - case 103: -#line 1212 "Gmsh.y" + case 104: +#line 1214 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -4966,15 +5097,15 @@ yyreduce: ;} break; - case 104: -#line 1229 "Gmsh.y" + case 105: +#line 1231 "Gmsh.y" { curPhysDim = 1; ;} break; - case 105: -#line 1233 "Gmsh.y" + case 106: +#line 1235 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -4992,8 +5123,8 @@ yyreduce: ;} break; - case 106: -#line 1252 "Gmsh.y" + case 107: +#line 1254 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -5013,8 +5144,8 @@ yyreduce: ;} break; - case 107: -#line 1270 "Gmsh.y" + case 108: +#line 1272 "Gmsh.y" { int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ @@ -5055,8 +5186,8 @@ yyreduce: ;} break; - case 108: -#line 1309 "Gmsh.y" + case 109: +#line 1311 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -5064,8 +5195,8 @@ yyreduce: ;} break; - case 109: -#line 1315 "Gmsh.y" + case 110: +#line 1317 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -5073,8 +5204,8 @@ yyreduce: ;} break; - case 110: -#line 1321 "Gmsh.y" + case 111: +#line 1323 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -5083,8 +5214,8 @@ yyreduce: ;} break; - case 111: -#line 1328 "Gmsh.y" + case 112: +#line 1330 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5111,8 +5242,8 @@ yyreduce: ;} break; - case 112: -#line 1353 "Gmsh.y" + case 113: +#line 1355 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5139,8 +5270,8 @@ yyreduce: ;} break; - case 113: -#line 1378 "Gmsh.y" + case 114: +#line 1380 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -5158,15 +5289,15 @@ yyreduce: ;} break; - case 114: -#line 1394 "Gmsh.y" + case 115: +#line 1396 "Gmsh.y" { curPhysDim = 2; ;} break; - case 115: -#line 1398 "Gmsh.y" + case 116: +#line 1400 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5184,8 +5315,8 @@ yyreduce: ;} break; - case 116: -#line 1414 "Gmsh.y" + case 117: +#line 1416 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5204,8 +5335,8 @@ yyreduce: ;} break; - case 117: -#line 1432 "Gmsh.y" + case 118: +#line 1434 "Gmsh.y" { int num = (int)(yyvsp[(4) - (12)].d); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5234,8 +5365,8 @@ yyreduce: ;} break; - case 118: -#line 1459 "Gmsh.y" + case 119: +#line 1461 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5254,8 +5385,8 @@ yyreduce: ;} break; - case 119: -#line 1476 "Gmsh.y" + case 120: +#line 1478 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -5274,8 +5405,8 @@ yyreduce: ;} break; - case 120: -#line 1496 "Gmsh.y" + case 121: +#line 1498 "Gmsh.y" { yymsg(0, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -5295,8 +5426,8 @@ yyreduce: ;} break; - case 121: -#line 1514 "Gmsh.y" + case 122: +#line 1516 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -5315,15 +5446,15 @@ yyreduce: ;} break; - case 122: -#line 1531 "Gmsh.y" + case 123: +#line 1533 "Gmsh.y" { curPhysDim = 3; ;} break; - case 123: -#line 1535 "Gmsh.y" + case 124: +#line 1537 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5341,40 +5472,40 @@ yyreduce: ;} break; - case 124: -#line 1556 "Gmsh.y" + case 125: +#line 1558 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); ;} break; - case 125: -#line 1561 "Gmsh.y" + case 126: +#line 1563 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); ;} break; - case 126: -#line 1566 "Gmsh.y" + case 127: +#line 1568 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); ;} break; - case 127: -#line 1571 "Gmsh.y" + case 128: +#line 1573 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); ;} break; - case 128: -#line 1576 "Gmsh.y" + case 129: +#line 1578 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){ @@ -5396,8 +5527,8 @@ yyreduce: ;} break; - case 129: -#line 1596 "Gmsh.y" + case 130: +#line 1598 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -5405,8 +5536,8 @@ yyreduce: ;} break; - case 130: -#line 1602 "Gmsh.y" + case 131: +#line 1604 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape*)); List_T *tmp = ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); @@ -5416,32 +5547,32 @@ yyreduce: ;} break; - case 131: -#line 1612 "Gmsh.y" + case 132: +#line 1614 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 132: -#line 1613 "Gmsh.y" + case 133: +#line 1615 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 133: -#line 1618 "Gmsh.y" + case 134: +#line 1620 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; - case 134: -#line 1622 "Gmsh.y" + case 135: +#line 1624 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; - case 135: -#line 1626 "Gmsh.y" + case 136: +#line 1628 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5466,8 +5597,8 @@ yyreduce: ;} break; - case 136: -#line 1649 "Gmsh.y" + case 137: +#line 1651 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5492,8 +5623,8 @@ yyreduce: ;} break; - case 137: -#line 1672 "Gmsh.y" + case 138: +#line 1674 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5518,8 +5649,8 @@ yyreduce: ;} break; - case 138: -#line 1695 "Gmsh.y" + case 139: +#line 1697 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5544,8 +5675,279 @@ yyreduce: ;} break; - case 139: -#line 1723 "Gmsh.y" + case 140: +#line 1725 "Gmsh.y" + { + if(!strcmp((yyvsp[(2) - (8)].c), "plane") && List_Nbr((yyvsp[(7) - (8)].l)) == 4){ + int t = (int)(yyvsp[(4) - (8)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[4]; + for(int i = 0; i < 4; i++) + List_Read((yyvsp[(7) - (8)].l), i, &d[i]); + gLevelset *ls = new gLevelsetPlane(d[0], d[1], d[2], d[3], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp((yyvsp[(2) - (8)].c), "union")){ + int t = (int)(yyvsp[(4) - (8)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) { + double d; List_Read((yyvsp[(7) - (8)].l), i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Union %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetUnion(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp((yyvsp[(2) - (8)].c), "intersection")){ + int t = (int)(yyvsp[(4) - (8)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) { + double d; List_Read((yyvsp[(7) - (8)].l), i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Intersection %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetIntersection(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp((yyvsp[(2) - (8)].c), "cut")){ + int t = (int)(yyvsp[(4) - (8)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) { + double d; List_Read((yyvsp[(7) - (8)].l), i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Cut %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetCut(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp((yyvsp[(2) - (8)].c), "crack")){ + int t = (int)(yyvsp[(4) - (8)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++) { + double d; List_Read((yyvsp[(7) - (8)].l), i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Crack %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetCrack(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (8)].d)); + Free((yyvsp[(2) - (8)].c)); + ;} + break; + + case 141: +#line 1817 "Gmsh.y" + { + if(!strcmp((yyvsp[(2) - (6)].c), "cutMesh")){ + int t = (int)(yyvsp[(4) - (6)].d); + GModel *GM = GModel::current(); + GM->buildCutGModel(FindLevelSet(t)->ls); + GM->destroy(); + } + else + yymsg(0, "Wrong levelset definition"); + Free((yyvsp[(2) - (6)].c)); + ;} + break; + + case 142: +#line 1829 "Gmsh.y" + { + if(!strcmp((yyvsp[(2) - (12)].c), "sphere") && List_Nbr((yyvsp[(10) - (12)].l)) == 1){ + int t = (int)(yyvsp[(4) - (12)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read((yyvsp[(10) - (12)].l), 0, &d); + gLevelset *ls = new gLevelsetSphere((yyvsp[(8) - (12)].v)[0], (yyvsp[(8) - (12)].v)[1], (yyvsp[(8) - (12)].v)[2], d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (12)].d)); + Free((yyvsp[(2) - (12)].c)); + ;} + break; + + case 143: +#line 1848 "Gmsh.y" + { + if(!strcmp((yyvsp[(2) - (14)].c), "Plane") && List_Nbr((yyvsp[(12) - (14)].l)) == 0){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double n[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetPlane(pt, n, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read((yyvsp[(12) - (14)].l), 0, &d); + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetGenCylinder(pt, dir, d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp((yyvsp[(2) - (14)].c), "Cone") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read((yyvsp[(12) - (14)].l), 0, &d); + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetCone(pt, dir, d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 2){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[2]; + for(int i = 0; i < 2; i++) + List_Read((yyvsp[(12) - (14)].l), i, &d[i]); + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 3){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[3]; + for(int i = 0; i < 3; i++) + List_Read((yyvsp[(12) - (14)].l), i, &d[i]); + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], d[2], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp((yyvsp[(2) - (14)].c), "Ellips") && List_Nbr((yyvsp[(12) - (14)].l)) == 3){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[3]; + for(int i = 0; i < 3; i++) + List_Read((yyvsp[(12) - (14)].l), i, &d[i]); + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetEllipsoid(pt, dir, d[0], d[1], d[2], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp((yyvsp[(2) - (14)].c), "Quadric") && List_Nbr((yyvsp[(12) - (14)].l)) == 5){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[5]; + for(int i = 0; i < 5; i++) + List_Read((yyvsp[(12) - (14)].l), i, &d[i]); + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetGeneralQuadric(pt, dir, d[0], d[1], d[2], d[3], d[4], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (14)].d)); + Free((yyvsp[(2) - (14)].c)); + ;} + break; + + case 144: +#line 1961 "Gmsh.y" + { + if(!strcmp((yyvsp[(2) - (16)].c), "Plane") && List_Nbr((yyvsp[(14) - (16)].l)) == 0){ + int t = (int)(yyvsp[(4) - (16)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt1[3] = {(yyvsp[(8) - (16)].v)[0], (yyvsp[(8) - (16)].v)[1], (yyvsp[(8) - (16)].v)[2]}; + double pt2[3] = {(yyvsp[(10) - (16)].v)[0], (yyvsp[(10) - (16)].v)[1], (yyvsp[(10) - (16)].v)[2]}; + double pt3[3] = {(yyvsp[(12) - (16)].v)[0], (yyvsp[(12) - (16)].v)[1], (yyvsp[(12) - (16)].v)[2]}; + gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (16)].d)); + Free((yyvsp[(2) - (16)].c)); + ;} + break; + + case 145: +#line 1986 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5556,15 +5958,15 @@ yyreduce: ;} break; - case 140: -#line 1732 "Gmsh.y" + case 146: +#line 1995 "Gmsh.y" { GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); ;} break; - case 141: -#line 1736 "Gmsh.y" + case 147: +#line 1999 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -5581,8 +5983,8 @@ yyreduce: ;} break; - case 142: -#line 1751 "Gmsh.y" + case 148: +#line 2014 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ for(unsigned int i = 0; i < GModel::list.size(); i++){ @@ -5611,8 +6013,8 @@ yyreduce: ;} break; - case 143: -#line 1778 "Gmsh.y" + case 149: +#line 2041 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -5626,8 +6028,8 @@ yyreduce: ;} break; - case 144: -#line 1795 "Gmsh.y" + case 150: +#line 2058 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5638,8 +6040,8 @@ yyreduce: ;} break; - case 145: -#line 1809 "Gmsh.y" + case 151: +#line 2072 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5647,8 +6049,8 @@ yyreduce: ;} break; - case 146: -#line 1815 "Gmsh.y" + case 152: +#line 2078 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5656,8 +6058,8 @@ yyreduce: ;} break; - case 147: -#line 1821 "Gmsh.y" + case 153: +#line 2084 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5668,8 +6070,8 @@ yyreduce: ;} break; - case 148: -#line 1830 "Gmsh.y" + case 154: +#line 2093 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5680,8 +6082,8 @@ yyreduce: ;} break; - case 149: -#line 1844 "Gmsh.y" + case 155: +#line 2107 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5731,8 +6133,8 @@ yyreduce: ;} break; - case 150: -#line 1892 "Gmsh.y" + case 156: +#line 2155 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -5752,8 +6154,8 @@ yyreduce: ;} break; - case 151: -#line 1910 "Gmsh.y" + case 157: +#line 2173 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -5770,8 +6172,8 @@ yyreduce: ;} break; - case 152: -#line 1925 "Gmsh.y" + case 158: +#line 2188 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5792,8 +6194,8 @@ yyreduce: ;} break; - case 153: -#line 1944 "Gmsh.y" + case 159: +#line 2207 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -5807,8 +6209,8 @@ yyreduce: ;} break; - case 154: -#line 1956 "Gmsh.y" + case 160: +#line 2219 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -5834,15 +6236,15 @@ yyreduce: ;} break; - case 155: -#line 1980 "Gmsh.y" + case 161: +#line 2243 "Gmsh.y" { exit(0); ;} break; - case 156: -#line 1984 "Gmsh.y" + case 162: +#line 2247 "Gmsh.y" { // FIXME: this is a hack to force a transfer from the old DB to // the new DB. This will become unnecessary if/when we fill the @@ -5851,8 +6253,8 @@ yyreduce: ;} break; - case 157: -#line 1991 "Gmsh.y" + case 163: +#line 2254 "Gmsh.y" { CTX::instance()->forcedBBox = 0; GModel::current()->importGEOInternals(); @@ -5860,16 +6262,16 @@ yyreduce: ;} break; - case 158: -#line 1997 "Gmsh.y" + case 164: +#line 2260 "Gmsh.y" { CTX::instance()->forcedBBox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); ;} break; - case 159: -#line 2002 "Gmsh.y" + case 165: +#line 2265 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5877,15 +6279,15 @@ yyreduce: ;} break; - case 160: -#line 2008 "Gmsh.y" + case 166: +#line 2271 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); ;} break; - case 161: -#line 2017 "Gmsh.y" + case 167: +#line 2280 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5904,8 +6306,8 @@ yyreduce: ;} break; - case 162: -#line 2034 "Gmsh.y" + case 168: +#line 2297 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5924,8 +6326,8 @@ yyreduce: ;} break; - case 163: -#line 2051 "Gmsh.y" + case 169: +#line 2314 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5946,8 +6348,8 @@ yyreduce: ;} break; - case 164: -#line 2070 "Gmsh.y" + case 170: +#line 2333 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -5968,8 +6370,8 @@ yyreduce: ;} break; - case 165: -#line 2089 "Gmsh.y" + case 171: +#line 2352 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -5999,8 +6401,8 @@ yyreduce: ;} break; - case 166: -#line 2117 "Gmsh.y" + case 172: +#line 2380 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction ((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6010,8 +6412,8 @@ yyreduce: ;} break; - case 167: -#line 2125 "Gmsh.y" + case 173: +#line 2388 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6019,8 +6421,8 @@ yyreduce: ;} break; - case 168: -#line 2131 "Gmsh.y" + case 174: +#line 2394 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction ((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6029,21 +6431,21 @@ yyreduce: ;} break; - case 169: -#line 2138 "Gmsh.y" + case 175: +#line 2401 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; - case 170: -#line 2142 "Gmsh.y" + case 176: +#line 2405 "Gmsh.y" { ;} break; - case 171: -#line 2151 "Gmsh.y" + case 177: +#line 2414 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -6053,8 +6455,8 @@ yyreduce: ;} break; - case 172: -#line 2159 "Gmsh.y" + case 178: +#line 2422 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -6064,8 +6466,8 @@ yyreduce: ;} break; - case 173: -#line 2167 "Gmsh.y" + case 179: +#line 2430 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -6075,15 +6477,15 @@ yyreduce: ;} break; - case 174: -#line 2175 "Gmsh.y" + case 180: +#line 2438 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 175: -#line 2179 "Gmsh.y" + case 181: +#line 2442 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6093,15 +6495,15 @@ yyreduce: ;} break; - case 176: -#line 2187 "Gmsh.y" + case 182: +#line 2450 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 177: -#line 2191 "Gmsh.y" + case 183: +#line 2454 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6111,15 +6513,15 @@ yyreduce: ;} break; - case 178: -#line 2199 "Gmsh.y" + case 184: +#line 2462 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 179: -#line 2203 "Gmsh.y" + case 185: +#line 2466 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6129,15 +6531,15 @@ yyreduce: ;} break; - case 180: -#line 2211 "Gmsh.y" + case 186: +#line 2474 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 181: -#line 2215 "Gmsh.y" + case 187: +#line 2478 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -6146,8 +6548,8 @@ yyreduce: ;} break; - case 182: -#line 2224 "Gmsh.y" + case 188: +#line 2487 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6156,8 +6558,8 @@ yyreduce: ;} break; - case 183: -#line 2231 "Gmsh.y" + case 189: +#line 2494 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6166,8 +6568,8 @@ yyreduce: ;} break; - case 184: -#line 2238 "Gmsh.y" + case 190: +#line 2501 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6176,8 +6578,8 @@ yyreduce: ;} break; - case 185: -#line 2245 "Gmsh.y" + case 191: +#line 2508 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6186,8 +6588,8 @@ yyreduce: ;} break; - case 186: -#line 2252 "Gmsh.y" + case 192: +#line 2515 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6196,8 +6598,8 @@ yyreduce: ;} break; - case 187: -#line 2259 "Gmsh.y" + case 193: +#line 2522 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6206,8 +6608,8 @@ yyreduce: ;} break; - case 188: -#line 2266 "Gmsh.y" + case 194: +#line 2529 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6216,8 +6618,8 @@ yyreduce: ;} break; - case 189: -#line 2273 "Gmsh.y" + case 195: +#line 2536 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6226,8 +6628,8 @@ yyreduce: ;} break; - case 190: -#line 2280 "Gmsh.y" + case 196: +#line 2543 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6236,15 +6638,15 @@ yyreduce: ;} break; - case 191: -#line 2287 "Gmsh.y" + case 197: +#line 2550 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 192: -#line 2291 "Gmsh.y" + case 198: +#line 2554 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6253,15 +6655,15 @@ yyreduce: ;} break; - case 193: -#line 2298 "Gmsh.y" + case 199: +#line 2561 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 194: -#line 2302 "Gmsh.y" + case 200: +#line 2565 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6270,15 +6672,15 @@ yyreduce: ;} break; - case 195: -#line 2309 "Gmsh.y" + case 201: +#line 2572 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 196: -#line 2313 "Gmsh.y" + case 202: +#line 2576 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6287,15 +6689,15 @@ yyreduce: ;} break; - case 197: -#line 2320 "Gmsh.y" + case 203: +#line 2583 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 198: -#line 2324 "Gmsh.y" + case 204: +#line 2587 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6304,15 +6706,15 @@ yyreduce: ;} break; - case 199: -#line 2331 "Gmsh.y" + case 205: +#line 2594 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 200: -#line 2335 "Gmsh.y" + case 206: +#line 2598 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6321,15 +6723,15 @@ yyreduce: ;} break; - case 201: -#line 2342 "Gmsh.y" + case 207: +#line 2605 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 202: -#line 2346 "Gmsh.y" + case 208: +#line 2609 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6338,15 +6740,15 @@ yyreduce: ;} break; - case 203: -#line 2353 "Gmsh.y" + case 209: +#line 2616 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 204: -#line 2357 "Gmsh.y" + case 210: +#line 2620 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6355,15 +6757,15 @@ yyreduce: ;} break; - case 205: -#line 2364 "Gmsh.y" + case 211: +#line 2627 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 206: -#line 2368 "Gmsh.y" + case 212: +#line 2631 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6372,15 +6774,15 @@ yyreduce: ;} break; - case 207: -#line 2375 "Gmsh.y" + case 213: +#line 2638 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 208: -#line 2379 "Gmsh.y" + case 214: +#line 2642 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6389,20 +6791,20 @@ yyreduce: ;} break; - case 209: -#line 2390 "Gmsh.y" + case 215: +#line 2653 "Gmsh.y" { ;} break; - case 210: -#line 2393 "Gmsh.y" + case 216: +#line 2656 "Gmsh.y" { ;} break; - case 211: -#line 2399 "Gmsh.y" + case 217: +#line 2662 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6413,8 +6815,8 @@ yyreduce: ;} break; - case 212: -#line 2408 "Gmsh.y" + case 218: +#line 2671 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -6436,8 +6838,8 @@ yyreduce: ;} break; - case 213: -#line 2428 "Gmsh.y" + case 219: +#line 2691 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -6462,15 +6864,15 @@ yyreduce: ;} break; - case 214: -#line 2451 "Gmsh.y" + case 220: +#line 2714 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; - case 215: -#line 2455 "Gmsh.y" + case 221: +#line 2718 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6491,15 +6893,15 @@ yyreduce: ;} break; - case 216: -#line 2478 "Gmsh.y" + case 222: +#line 2741 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} break; - case 217: -#line 2482 "Gmsh.y" + case 223: +#line 2745 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -6514,15 +6916,15 @@ yyreduce: ;} break; - case 218: -#line 2497 "Gmsh.y" + case 224: +#line 2760 "Gmsh.y" { (yyval.i) = -1; // left ;} break; - case 219: -#line 2501 "Gmsh.y" + case 225: +#line 2764 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -6534,36 +6936,36 @@ yyreduce: ;} break; - case 220: -#line 2513 "Gmsh.y" + case 226: +#line 2776 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; - case 221: -#line 2517 "Gmsh.y" + case 227: +#line 2780 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; - case 222: -#line 2522 "Gmsh.y" + case 228: +#line 2785 "Gmsh.y" { (yyval.i) = 45; ;} break; - case 223: -#line 2526 "Gmsh.y" + case 229: +#line 2789 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} break; - case 224: -#line 2533 "Gmsh.y" + case 230: +#line 2796 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -6621,8 +7023,8 @@ yyreduce: ;} break; - case 225: -#line 2589 "Gmsh.y" + case 231: +#line 2852 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -6694,16 +7096,16 @@ yyreduce: ;} break; - case 226: -#line 2659 "Gmsh.y" + case 232: +#line 2922 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); ;} break; - case 227: -#line 2664 "Gmsh.y" + case 233: +#line 2927 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -6772,8 +7174,8 @@ yyreduce: ;} break; - case 228: -#line 2731 "Gmsh.y" + case 234: +#line 2994 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -6818,8 +7220,8 @@ yyreduce: ;} break; - case 229: -#line 2774 "Gmsh.y" + case 235: +#line 3037 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6841,8 +7243,8 @@ yyreduce: ;} break; - case 230: -#line 2800 "Gmsh.y" + case 236: +#line 3063 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -6867,8 +7269,8 @@ yyreduce: ;} break; - case 231: -#line 2823 "Gmsh.y" + case 237: +#line 3086 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -6893,27 +7295,27 @@ yyreduce: ;} break; - case 232: -#line 2846 "Gmsh.y" + case 238: +#line 3109 "Gmsh.y" { ;} break; - case 233: -#line 2849 "Gmsh.y" + case 239: +#line 3112 "Gmsh.y" { ;} break; - case 234: -#line 2858 "Gmsh.y" + case 240: +#line 3121 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; - case 235: -#line 2862 "Gmsh.y" + case 241: +#line 3125 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -6925,48 +7327,48 @@ yyreduce: ;} break; - case 236: -#line 2877 "Gmsh.y" + case 242: +#line 3140 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 237: -#line 2878 "Gmsh.y" + case 243: +#line 3141 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; - case 238: -#line 2879 "Gmsh.y" + case 244: +#line 3142 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; - case 239: -#line 2880 "Gmsh.y" + case 245: +#line 3143 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; - case 240: -#line 2881 "Gmsh.y" + case 246: +#line 3144 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; - case 241: -#line 2882 "Gmsh.y" + case 247: +#line 3145 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; - case 242: -#line 2883 "Gmsh.y" + case 248: +#line 3146 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; - case 243: -#line 2884 "Gmsh.y" + case 249: +#line 3147 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; - case 244: -#line 2886 "Gmsh.y" + case 250: +#line 3149 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -6975,308 +7377,308 @@ yyreduce: ;} break; - case 245: -#line 2892 "Gmsh.y" + case 251: +#line 3155 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; - case 246: -#line 2893 "Gmsh.y" + case 252: +#line 3156 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; - case 247: -#line 2894 "Gmsh.y" + case 253: +#line 3157 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; - case 248: -#line 2895 "Gmsh.y" + case 254: +#line 3158 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; - case 249: -#line 2896 "Gmsh.y" + case 255: +#line 3159 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; - case 250: -#line 2897 "Gmsh.y" + case 256: +#line 3160 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; - case 251: -#line 2898 "Gmsh.y" + case 257: +#line 3161 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; - case 252: -#line 2899 "Gmsh.y" + case 258: +#line 3162 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; - case 253: -#line 2900 "Gmsh.y" + case 259: +#line 3163 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; - case 254: -#line 2901 "Gmsh.y" + case 260: +#line 3164 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; - case 255: -#line 2902 "Gmsh.y" + case 261: +#line 3165 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; - case 256: -#line 2903 "Gmsh.y" + case 262: +#line 3166 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; - case 257: -#line 2904 "Gmsh.y" + case 263: +#line 3167 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; - case 258: -#line 2905 "Gmsh.y" + case 264: +#line 3168 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; - case 259: -#line 2906 "Gmsh.y" + case 265: +#line 3169 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; - case 260: -#line 2907 "Gmsh.y" + case 266: +#line 3170 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; - case 261: -#line 2908 "Gmsh.y" + case 267: +#line 3171 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; - case 262: -#line 2909 "Gmsh.y" + case 268: +#line 3172 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; - case 263: -#line 2910 "Gmsh.y" + case 269: +#line 3173 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; - case 264: -#line 2911 "Gmsh.y" + case 270: +#line 3174 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; - case 265: -#line 2912 "Gmsh.y" + case 271: +#line 3175 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; - case 266: -#line 2913 "Gmsh.y" + case 272: +#line 3176 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; - case 267: -#line 2914 "Gmsh.y" + case 273: +#line 3177 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; - case 268: -#line 2915 "Gmsh.y" + case 274: +#line 3178 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; - case 269: -#line 2916 "Gmsh.y" + case 275: +#line 3179 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; - case 270: -#line 2917 "Gmsh.y" + case 276: +#line 3180 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; - case 271: -#line 2918 "Gmsh.y" + case 277: +#line 3181 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; - case 272: -#line 2919 "Gmsh.y" + case 278: +#line 3182 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; - case 273: -#line 2920 "Gmsh.y" + case 279: +#line 3183 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 274: -#line 2921 "Gmsh.y" + case 280: +#line 3184 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 275: -#line 2922 "Gmsh.y" + case 281: +#line 3185 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; - case 276: -#line 2923 "Gmsh.y" + case 282: +#line 3186 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; - case 277: -#line 2925 "Gmsh.y" + case 283: +#line 3188 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; - case 278: -#line 2926 "Gmsh.y" + case 284: +#line 3189 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; - case 279: -#line 2927 "Gmsh.y" + case 285: +#line 3190 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; - case 280: -#line 2928 "Gmsh.y" + case 286: +#line 3191 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; - case 281: -#line 2929 "Gmsh.y" + case 287: +#line 3192 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; - case 282: -#line 2930 "Gmsh.y" + case 288: +#line 3193 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; - case 283: -#line 2931 "Gmsh.y" + case 289: +#line 3194 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; - case 284: -#line 2932 "Gmsh.y" + case 290: +#line 3195 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; - case 285: -#line 2933 "Gmsh.y" + case 291: +#line 3196 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; - case 286: -#line 2934 "Gmsh.y" + case 292: +#line 3197 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; - case 287: -#line 2935 "Gmsh.y" + case 293: +#line 3198 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; - case 288: -#line 2936 "Gmsh.y" + case 294: +#line 3199 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; - case 289: -#line 2937 "Gmsh.y" + case 295: +#line 3200 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; - case 290: -#line 2938 "Gmsh.y" + case 296: +#line 3201 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; - case 291: -#line 2939 "Gmsh.y" + case 297: +#line 3202 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; - case 292: -#line 2940 "Gmsh.y" + case 298: +#line 3203 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; - case 293: -#line 2941 "Gmsh.y" + case 299: +#line 3204 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; - case 294: -#line 2942 "Gmsh.y" + case 300: +#line 3205 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 295: -#line 2943 "Gmsh.y" + case 301: +#line 3206 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 296: -#line 2944 "Gmsh.y" + case 302: +#line 3207 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; - case 297: -#line 2945 "Gmsh.y" + case 303: +#line 3208 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; - case 298: -#line 2954 "Gmsh.y" + case 304: +#line 3217 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 299: -#line 2955 "Gmsh.y" + case 305: +#line 3218 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; - case 300: -#line 2956 "Gmsh.y" + case 306: +#line 3219 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; - case 301: -#line 2957 "Gmsh.y" + case 307: +#line 3220 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; - case 302: -#line 2958 "Gmsh.y" + case 308: +#line 3221 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; - case 303: -#line 2959 "Gmsh.y" + case 309: +#line 3222 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; - case 304: -#line 2960 "Gmsh.y" + case 310: +#line 3223 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; - case 305: -#line 2965 "Gmsh.y" + case 311: +#line 3228 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7288,8 +7690,8 @@ yyreduce: ;} break; - case 306: -#line 2978 "Gmsh.y" + case 312: +#line 3241 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7303,8 +7705,8 @@ yyreduce: ;} break; - case 307: -#line 2990 "Gmsh.y" + case 313: +#line 3253 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -7321,8 +7723,8 @@ yyreduce: ;} break; - case 308: -#line 3005 "Gmsh.y" + case 314: +#line 3268 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -7334,8 +7736,8 @@ yyreduce: ;} break; - case 309: -#line 3015 "Gmsh.y" + case 315: +#line 3278 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -7347,8 +7749,8 @@ yyreduce: ;} break; - case 310: -#line 3025 "Gmsh.y" + case 316: +#line 3288 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -7365,24 +7767,24 @@ yyreduce: ;} break; - case 311: -#line 3043 "Gmsh.y" + case 317: +#line 3306 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); ;} break; - case 312: -#line 3048 "Gmsh.y" + case 318: +#line 3311 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); ;} break; - case 313: -#line 3053 "Gmsh.y" + case 319: +#line 3316 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -7394,8 +7796,8 @@ yyreduce: ;} break; - case 314: -#line 3063 "Gmsh.y" + case 320: +#line 3326 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -7407,124 +7809,124 @@ yyreduce: ;} break; - case 315: -#line 3073 "Gmsh.y" + case 321: +#line 3336 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); ;} break; - case 316: -#line 3081 "Gmsh.y" + case 322: +#line 3344 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; - case 317: -#line 3085 "Gmsh.y" + case 323: +#line 3348 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; - case 318: -#line 3089 "Gmsh.y" + case 324: +#line 3352 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; - case 319: -#line 3093 "Gmsh.y" + case 325: +#line 3356 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; - case 320: -#line 3097 "Gmsh.y" + case 326: +#line 3360 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; - case 321: -#line 3104 "Gmsh.y" + case 327: +#line 3367 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); ;} break; - case 322: -#line 3108 "Gmsh.y" + case 328: +#line 3371 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; ;} break; - case 323: -#line 3112 "Gmsh.y" + case 329: +#line 3375 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 324: -#line 3116 "Gmsh.y" + case 330: +#line 3379 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 325: -#line 3123 "Gmsh.y" + case 331: +#line 3386 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); ;} break; - case 326: -#line 3128 "Gmsh.y" + case 332: +#line 3391 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; - case 327: -#line 3135 "Gmsh.y" + case 333: +#line 3398 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 328: -#line 3140 "Gmsh.y" + case 334: +#line 3403 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 329: -#line 3144 "Gmsh.y" + case 335: +#line 3407 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); ;} break; - case 330: -#line 3149 "Gmsh.y" + case 336: +#line 3412 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 331: -#line 3153 "Gmsh.y" + case 337: +#line 3416 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7534,8 +7936,8 @@ yyreduce: ;} break; - case 332: -#line 3161 "Gmsh.y" + case 338: +#line 3424 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7545,15 +7947,15 @@ yyreduce: ;} break; - case 333: -#line 3172 "Gmsh.y" + case 339: +#line 3435 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 334: -#line 3176 "Gmsh.y" + case 340: +#line 3439 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -7564,8 +7966,8 @@ yyreduce: ;} break; - case 335: -#line 3188 "Gmsh.y" + case 341: +#line 3451 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7575,8 +7977,8 @@ yyreduce: ;} break; - case 336: -#line 3196 "Gmsh.y" + case 342: +#line 3459 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7586,8 +7988,8 @@ yyreduce: ;} break; - case 337: -#line 3204 "Gmsh.y" + case 343: +#line 3467 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); @@ -7596,8 +7998,8 @@ yyreduce: ;} break; - case 338: -#line 3211 "Gmsh.y" + case 344: +#line 3474 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -7610,8 +8012,8 @@ yyreduce: ;} break; - case 339: -#line 3222 "Gmsh.y" + case 345: +#line 3485 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -7633,8 +8035,8 @@ yyreduce: ;} break; - case 340: -#line 3242 "Gmsh.y" + case 346: +#line 3505 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7646,8 +8048,8 @@ yyreduce: ;} break; - case 341: -#line 3252 "Gmsh.y" + case 347: +#line 3515 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7659,8 +8061,8 @@ yyreduce: ;} break; - case 342: -#line 3262 "Gmsh.y" + case 348: +#line 3525 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -7672,8 +8074,8 @@ yyreduce: ;} break; - case 343: -#line 3272 "Gmsh.y" + case 349: +#line 3535 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -7692,30 +8094,30 @@ yyreduce: ;} break; - case 344: -#line 3292 "Gmsh.y" + case 350: +#line 3555 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 345: -#line 3297 "Gmsh.y" + case 351: +#line 3560 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 346: -#line 3301 "Gmsh.y" + case 352: +#line 3564 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; - case 347: -#line 3305 "Gmsh.y" + case 353: +#line 3568 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7726,22 +8128,22 @@ yyreduce: ;} break; - case 348: -#line 3317 "Gmsh.y" + case 354: +#line 3580 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; - case 349: -#line 3321 "Gmsh.y" + case 355: +#line 3584 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; - case 350: -#line 3333 "Gmsh.y" + case 356: +#line 3596 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7750,8 +8152,8 @@ yyreduce: ;} break; - case 351: -#line 3340 "Gmsh.y" + case 357: +#line 3603 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -7760,15 +8162,15 @@ yyreduce: ;} break; - case 352: -#line 3350 "Gmsh.y" + case 358: +#line 3613 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 353: -#line 3354 "Gmsh.y" + case 359: +#line 3617 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7782,30 +8184,30 @@ yyreduce: ;} break; - case 354: -#line 3369 "Gmsh.y" + case 360: +#line 3632 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); ;} break; - case 355: -#line 3374 "Gmsh.y" + case 361: +#line 3637 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; - case 356: -#line 3381 "Gmsh.y" + case 362: +#line 3644 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 357: -#line 3385 "Gmsh.y" + case 363: +#line 3648 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7820,8 +8222,8 @@ yyreduce: ;} break; - case 358: -#line 3398 "Gmsh.y" + case 364: +#line 3661 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -7831,8 +8233,8 @@ yyreduce: ;} break; - case 359: -#line 3406 "Gmsh.y" + case 365: +#line 3669 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -7842,15 +8244,15 @@ yyreduce: ;} break; - case 360: -#line 3417 "Gmsh.y" + case 366: +#line 3680 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 361: -#line 3421 "Gmsh.y" + case 367: +#line 3684 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -7860,8 +8262,8 @@ yyreduce: ;} break; - case 362: -#line 3429 "Gmsh.y" + case 368: +#line 3692 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c)) + strlen((yyvsp[(5) - (6)].c)) + 1) * sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -7871,8 +8273,8 @@ yyreduce: ;} break; - case 363: -#line 3437 "Gmsh.y" + case 369: +#line 3700 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7888,8 +8290,8 @@ yyreduce: ;} break; - case 364: -#line 3451 "Gmsh.y" + case 370: +#line 3714 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7905,15 +8307,15 @@ yyreduce: ;} break; - case 365: -#line 3465 "Gmsh.y" + case 371: +#line 3728 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; - case 366: -#line 3469 "Gmsh.y" + case 372: +#line 3732 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7936,7 +8338,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7940 "Gmsh.tab.cpp" +#line 8342 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8150,7 +8552,7 @@ yyreturn: } -#line 3489 "Gmsh.y" +#line 3752 "Gmsh.y" int PrintListOfDouble(char *format, List_T *list, char *buffer) diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index b10a3565cf4e0d993e82c835ffb9ca335f717f44..33b13bb7ecafd383d7a363c5d6da38d331a51f01 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -107,58 +107,59 @@ tSymmetry = 323, tDilate = 324, tExtrude = 325, - tLoop = 326, - tRecombine = 327, - tSmoother = 328, - tSplit = 329, - tDelete = 330, - tCoherence = 331, - tIntersect = 332, - tLayers = 333, - tHole = 334, - tAlias = 335, - tAliasWithOptions = 336, - tText2D = 337, - tText3D = 338, - tInterpolationScheme = 339, - tTime = 340, - tCombine = 341, - tBSpline = 342, - tBezier = 343, - tNurbs = 344, - tOrder = 345, - tKnots = 346, - tColor = 347, - tColorTable = 348, - tFor = 349, - tIn = 350, - tEndFor = 351, - tIf = 352, - tEndIf = 353, - tExit = 354, - tField = 355, - tReturn = 356, - tCall = 357, - tFunction = 358, - tShow = 359, - tHide = 360, - tGetValue = 361, - tGMSH_MAJOR_VERSION = 362, - tGMSH_MINOR_VERSION = 363, - tGMSH_PATCH_VERSION = 364, - tAFFECTDIVIDE = 365, - tAFFECTTIMES = 366, - tAFFECTMINUS = 367, - tAFFECTPLUS = 368, - tOR = 369, - tAND = 370, - tNOTEQUAL = 371, - tEQUAL = 372, - tGREATEROREQUAL = 373, - tLESSOREQUAL = 374, - UNARYPREC = 375, - tMINUSMINUS = 376, - tPLUSPLUS = 377 + tLevelset = 326, + tLoop = 327, + tRecombine = 328, + tSmoother = 329, + tSplit = 330, + tDelete = 331, + tCoherence = 332, + tIntersect = 333, + tLayers = 334, + tHole = 335, + tAlias = 336, + tAliasWithOptions = 337, + tText2D = 338, + tText3D = 339, + tInterpolationScheme = 340, + tTime = 341, + tCombine = 342, + tBSpline = 343, + tBezier = 344, + tNurbs = 345, + tOrder = 346, + tKnots = 347, + tColor = 348, + tColorTable = 349, + tFor = 350, + tIn = 351, + tEndFor = 352, + tIf = 353, + tEndIf = 354, + tExit = 355, + tField = 356, + tReturn = 357, + tCall = 358, + tFunction = 359, + tShow = 360, + tHide = 361, + tGetValue = 362, + tGMSH_MAJOR_VERSION = 363, + tGMSH_MINOR_VERSION = 364, + tGMSH_PATCH_VERSION = 365, + tAFFECTDIVIDE = 366, + tAFFECTTIMES = 367, + tAFFECTMINUS = 368, + tAFFECTPLUS = 369, + tOR = 370, + tAND = 371, + tNOTEQUAL = 372, + tEQUAL = 373, + tGREATEROREQUAL = 374, + tLESSOREQUAL = 375, + UNARYPREC = 376, + tMINUSMINUS = 377, + tPLUSPLUS = 378 }; #endif /* Tokens. */ @@ -230,65 +231,66 @@ #define tSymmetry 323 #define tDilate 324 #define tExtrude 325 -#define tLoop 326 -#define tRecombine 327 -#define tSmoother 328 -#define tSplit 329 -#define tDelete 330 -#define tCoherence 331 -#define tIntersect 332 -#define tLayers 333 -#define tHole 334 -#define tAlias 335 -#define tAliasWithOptions 336 -#define tText2D 337 -#define tText3D 338 -#define tInterpolationScheme 339 -#define tTime 340 -#define tCombine 341 -#define tBSpline 342 -#define tBezier 343 -#define tNurbs 344 -#define tOrder 345 -#define tKnots 346 -#define tColor 347 -#define tColorTable 348 -#define tFor 349 -#define tIn 350 -#define tEndFor 351 -#define tIf 352 -#define tEndIf 353 -#define tExit 354 -#define tField 355 -#define tReturn 356 -#define tCall 357 -#define tFunction 358 -#define tShow 359 -#define tHide 360 -#define tGetValue 361 -#define tGMSH_MAJOR_VERSION 362 -#define tGMSH_MINOR_VERSION 363 -#define tGMSH_PATCH_VERSION 364 -#define tAFFECTDIVIDE 365 -#define tAFFECTTIMES 366 -#define tAFFECTMINUS 367 -#define tAFFECTPLUS 368 -#define tOR 369 -#define tAND 370 -#define tNOTEQUAL 371 -#define tEQUAL 372 -#define tGREATEROREQUAL 373 -#define tLESSOREQUAL 374 -#define UNARYPREC 375 -#define tMINUSMINUS 376 -#define tPLUSPLUS 377 +#define tLevelset 326 +#define tLoop 327 +#define tRecombine 328 +#define tSmoother 329 +#define tSplit 330 +#define tDelete 331 +#define tCoherence 332 +#define tIntersect 333 +#define tLayers 334 +#define tHole 335 +#define tAlias 336 +#define tAliasWithOptions 337 +#define tText2D 338 +#define tText3D 339 +#define tInterpolationScheme 340 +#define tTime 341 +#define tCombine 342 +#define tBSpline 343 +#define tBezier 344 +#define tNurbs 345 +#define tOrder 346 +#define tKnots 347 +#define tColor 348 +#define tColorTable 349 +#define tFor 350 +#define tIn 351 +#define tEndFor 352 +#define tIf 353 +#define tEndIf 354 +#define tExit 355 +#define tField 356 +#define tReturn 357 +#define tCall 358 +#define tFunction 359 +#define tShow 360 +#define tHide 361 +#define tGetValue 362 +#define tGMSH_MAJOR_VERSION 363 +#define tGMSH_MINOR_VERSION 364 +#define tGMSH_PATCH_VERSION 365 +#define tAFFECTDIVIDE 366 +#define tAFFECTTIMES 367 +#define tAFFECTMINUS 368 +#define tAFFECTPLUS 369 +#define tOR 370 +#define tAND 371 +#define tNOTEQUAL 372 +#define tEQUAL 373 +#define tGREATEROREQUAL 374 +#define tLESSOREQUAL 375 +#define UNARYPREC 376 +#define tMINUSMINUS 377 +#define tPLUSPLUS 378 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 73 "Gmsh.y" +#line 74 "Gmsh.y" { char *c; int i; @@ -298,8 +300,8 @@ typedef union YYSTYPE Shape s; List_T *l; } -/* Line 1529 of yacc.c. */ -#line 303 "Gmsh.tab.hpp" +/* Line 1489 of yacc.c. */ +#line 305 "Gmsh.tab.hpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index d1e10b98d94b473367e1a4e3a6d8e739cb60b589..80f7e46f9ba9080071b8c827036936c63d4dd303 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -32,6 +32,7 @@ #include "gmshSurface.h" #include "Field.h" #include "BackgroundMesh.h" +#include "DILevelset.h" #if !defined(HAVE_NO_POST) #include "PView.h" #include "PViewDataList.h" @@ -93,7 +94,7 @@ void FixRelativePath(const char *in, char *out); %token tCharacteristic tLength tParametric tElliptic %token tPlane tRuled tTransfinite tComplex tPhysical tCompound %token tUsing tPlugin -%token tRotate tTranslate tSymmetry tDilate tExtrude +%token tRotate tTranslate tSymmetry tDilate tExtrude tLevelset %token tLoop tRecombine tSmoother tSplit tDelete tCoherence tIntersect %token tLayers tHole tAlias tAliasWithOptions %token tText2D tText3D tInterpolationScheme tTime tCombine @@ -164,6 +165,7 @@ GeoFormatItem : | Coherence { return 1; } | Loop { return 1; } | Command { return 1; } + | LevelSet { return 1; } ; SendToFile : @@ -1716,6 +1718,267 @@ ListOfShapes : } ; +// L E V E L S E T + +LevelSet : + tLevelset tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND + { + if(!strcmp($2, "plane") && List_Nbr($7) == 4){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[4]; + for(int i = 0; i < 4; i++) + List_Read($7, i, &d[i]); + gLevelset *ls = new gLevelsetPlane(d[0], d[1], d[2], d[3], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp($2, "union")){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr($7); i++) { + double d; List_Read($7, i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Union %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetUnion(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp($2, "intersection")){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr($7); i++) { + double d; List_Read($7, i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Intersection %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetIntersection(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp($2, "cut")){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr($7); i++) { + double d; List_Read($7, i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Cut %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetCut(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else if(!strcmp($2, "crack")){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + std::vector<const gLevelset *> vl; + for(int i = 0; i < List_Nbr($7); i++) { + double d; List_Read($7, i, &d); + LevelSet *pl = FindLevelSet((int)d); + if(!pl) yymsg(0, "Levelset Crack %d : unknown levelset %d", t, (int)d); + else vl.push_back(pl->ls); + } + gLevelset *ls = new gLevelsetCrack(vl); + LevelSet *l = Create_LevelSet(t, ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", $4); + Free($2); + } + | tLevelset tSTRING '{' FExpr '}' tEND + { + if(!strcmp($2, "cutMesh")){ + int t = (int)$4; + GModel *GM = GModel::current(); + GM->buildCutGModel(FindLevelSet(t)->ls); + GM->destroy(); + } + else + yymsg(0, "Wrong levelset definition"); + Free($2); + } + | tLevelset tSTRING '(' FExpr ')' tAFFECT '{' VExpr ',' ListOfDouble '}' tEND + { + if(!strcmp($2, "sphere") && List_Nbr($10) == 1){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read($10, 0, &d); + gLevelset *ls = new gLevelsetSphere($8[0], $8[1], $8[2], d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", $4); + Free($2); + } + | tLevelset tSTRING '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' ListOfDouble '}' tEND + { + if(!strcmp($2, "Plane") && List_Nbr($12) == 0){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt[3] = {$8[0], $8[1], $8[2]}; + double n[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetPlane(pt, n, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp($2, "Cylinder") && List_Nbr($12) == 1){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read($12, 0, &d); + double pt[3] = {$8[0], $8[1], $8[2]}; + double dir[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetGenCylinder(pt, dir, d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp($2, "Cone") && List_Nbr($12) == 1){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read($12, 0, &d); + double pt[3] = {$8[0], $8[1], $8[2]}; + double dir[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetCone(pt, dir, d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp($2, "Cylinder") && List_Nbr($12) == 2){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[2]; + for(int i = 0; i < 2; i++) + List_Read($12, i, &d[i]); + double pt[3] = {$8[0], $8[1], $8[2]}; + double dir[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp($2, "Cylinder") && List_Nbr($12) == 3){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[3]; + for(int i = 0; i < 3; i++) + List_Read($12, i, &d[i]); + double pt[3] = {$8[0], $8[1], $8[2]}; + double dir[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetCylinder(pt, dir, d[0], d[1], d[2], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp($2, "Ellips") && List_Nbr($12) == 3){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[3]; + for(int i = 0; i < 3; i++) + List_Read($12, i, &d[i]); + double pt[3] = {$8[0], $8[1], $8[2]}; + double dir[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetEllipsoid(pt, dir, d[0], d[1], d[2], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + if(!strcmp($2, "Quadric") && List_Nbr($12) == 5){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d[5]; + for(int i = 0; i < 5; i++) + List_Read($12, i, &d[i]); + double pt[3] = {$8[0], $8[1], $8[2]}; + double dir[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetGeneralQuadric(pt, dir, d[0], d[1], d[2], d[3], d[4], t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", $4); + Free($2); + } + | tLevelset tSTRING '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' ListOfDouble '}' tEND + { + if(!strcmp($2, "Plane") && List_Nbr($14) == 0){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt1[3] = {$8[0], $8[1], $8[2]}; + double pt2[3] = {$10[0], $10[1], $10[2]}; + double pt3[3] = {$12[0], $12[1], $12[2]}; + gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", $4); + Free($2); + } +; + // D E L E T E Delete : diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index c750ca56a6d51a9c42bab5433b4345d0a8d9eba3..60651fef20c13e5b340a12a31d9930e2fa5cd87e 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -6,10 +6,29 @@ /* A lexical scanner generated by flex */ +#define yy_create_buffer gmsh_yy_create_buffer +#define yy_delete_buffer gmsh_yy_delete_buffer +#define yy_flex_debug gmsh_yy_flex_debug +#define yy_init_buffer gmsh_yy_init_buffer +#define yy_flush_buffer gmsh_yy_flush_buffer +#define yy_load_buffer_state gmsh_yy_load_buffer_state +#define yy_switch_to_buffer gmsh_yy_switch_to_buffer +#define yyin gmsh_yyin +#define yyleng gmsh_yyleng +#define yylex gmsh_yylex +#define yylineno gmsh_yylineno +#define yyout gmsh_yyout +#define yyrestart gmsh_yyrestart +#define yytext gmsh_yytext +#define yywrap gmsh_yywrap +#define yyalloc gmsh_yyalloc +#define yyrealloc gmsh_yyrealloc +#define yyfree gmsh_yyfree + #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 33 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -31,7 +50,7 @@ /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ -#if __STDC_VERSION__ >= 199901L +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. @@ -54,7 +73,6 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -85,6 +103,8 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -94,11 +114,12 @@ typedef unsigned int flex_uint32_t; #else /* ! __cplusplus */ -#if __STDC__ +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) #define YY_USE_CONST -#endif /* __STDC__ */ +#endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST @@ -140,7 +161,15 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -178,14 +207,9 @@ extern FILE *gmsh_yyin, *gmsh_yyout; #define unput(c) yyunput( c, (yytext_ptr) ) -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ - #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T -typedef unsigned int yy_size_t; +typedef size_t yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -364,8 +388,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 144 -#define YY_END_OF_BUFFER 145 +#define YY_NUM_RULES 145 +#define YY_END_OF_BUFFER 146 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -373,76 +397,76 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[612] = +static yyconst flex_int16_t yy_accept[618] = { 0, - 0, 0, 145, 143, 1, 1, 143, 5, 143, 6, - 143, 143, 143, 143, 143, 138, 21, 2, 143, 16, - 143, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 143, 28, 24, 19, 25, 17, 26, - 18, 0, 140, 3, 4, 20, 139, 138, 0, 29, - 27, 30, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 85, 84, 142, 142, - - 142, 142, 142, 142, 142, 142, 142, 142, 142, 101, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 128, 129, 142, 142, 142, - 142, 142, 142, 142, 23, 22, 0, 139, 0, 0, - 141, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 49, 142, - 142, 142, 142, 142, 142, 142, 142, 62, 142, 142, - 142, 142, 142, 75, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 92, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - - 142, 142, 142, 142, 142, 115, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 134, 142, 142, 142, - 142, 142, 0, 140, 0, 0, 139, 31, 142, 142, - 142, 142, 35, 37, 142, 142, 142, 57, 142, 44, - 142, 142, 142, 142, 142, 142, 142, 48, 142, 142, - 142, 61, 142, 142, 142, 142, 70, 142, 71, 142, - 142, 74, 142, 142, 142, 81, 82, 142, 142, 142, - 142, 142, 142, 90, 142, 91, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 111, 142, 142, - 142, 142, 125, 116, 142, 142, 142, 142, 114, 142, - - 142, 142, 142, 142, 142, 130, 133, 142, 142, 142, - 142, 10, 15, 9, 8, 142, 12, 14, 0, 139, - 33, 142, 142, 142, 39, 142, 142, 142, 142, 142, - 142, 142, 52, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 68, 142, 142, 72, 73, 142, 142, 142, - 83, 142, 142, 88, 142, 142, 93, 142, 142, 142, - 98, 99, 142, 142, 102, 142, 103, 142, 142, 142, - 142, 142, 110, 142, 142, 142, 119, 142, 142, 142, - 142, 142, 142, 142, 135, 142, 136, 142, 11, 142, - 13, 142, 32, 36, 38, 142, 41, 142, 142, 142, - - 45, 142, 142, 142, 142, 142, 142, 142, 59, 60, - 142, 142, 67, 142, 142, 142, 142, 142, 142, 142, - 142, 94, 89, 142, 142, 95, 142, 142, 107, 142, - 106, 142, 112, 109, 142, 117, 118, 142, 122, 142, - 142, 142, 142, 142, 142, 142, 137, 7, 142, 40, - 42, 142, 142, 142, 142, 142, 47, 51, 142, 142, - 142, 64, 142, 142, 142, 65, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 121, 142, 142, 120, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 54, 142, 142, 63, 66, 142, - - 76, 142, 142, 142, 77, 142, 142, 96, 97, 142, - 100, 142, 142, 113, 142, 142, 126, 142, 142, 142, - 142, 142, 142, 142, 46, 142, 142, 142, 69, 142, - 142, 142, 142, 86, 142, 142, 108, 123, 142, 127, - 142, 132, 142, 142, 56, 142, 53, 142, 142, 142, - 142, 142, 142, 104, 142, 142, 142, 142, 43, 142, - 55, 142, 142, 142, 142, 142, 105, 124, 131, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 50, 58, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 34, 142, 142, 142, 142, - - 142, 142, 142, 142, 78, 79, 80, 142, 142, 87, - 0 + 0, 0, 146, 144, 1, 1, 144, 5, 144, 6, + 144, 144, 144, 144, 144, 139, 21, 2, 144, 16, + 144, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 144, 28, 24, 19, 25, 17, 26, + 18, 0, 141, 3, 4, 20, 140, 139, 0, 29, + 27, 30, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 85, 84, 143, 143, + + 143, 143, 143, 143, 143, 143, 143, 143, 143, 102, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 129, 130, 143, 143, 143, + 143, 143, 143, 143, 23, 22, 0, 140, 0, 0, + 142, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 49, 143, + 143, 143, 143, 143, 143, 143, 143, 62, 143, 143, + 143, 143, 143, 75, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 92, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + + 143, 143, 143, 143, 143, 143, 116, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 135, 143, 143, + 143, 143, 143, 0, 141, 0, 0, 140, 31, 143, + 143, 143, 143, 35, 37, 143, 143, 143, 57, 143, + 44, 143, 143, 143, 143, 143, 143, 143, 48, 143, + 143, 143, 61, 143, 143, 143, 143, 70, 143, 71, + 143, 143, 74, 143, 143, 143, 81, 82, 143, 143, + 143, 143, 143, 143, 143, 90, 143, 91, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 112, + 143, 143, 143, 143, 126, 117, 143, 143, 143, 143, + + 115, 143, 143, 143, 143, 143, 143, 131, 134, 143, + 143, 143, 143, 10, 15, 9, 8, 143, 12, 14, + 0, 140, 33, 143, 143, 143, 39, 143, 143, 143, + 143, 143, 143, 143, 52, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 68, 143, 143, 72, 73, 143, + 143, 143, 83, 143, 143, 88, 143, 143, 143, 93, + 143, 143, 143, 99, 100, 143, 143, 103, 143, 104, + 143, 143, 143, 143, 143, 111, 143, 143, 143, 120, + 143, 143, 143, 143, 143, 143, 143, 136, 143, 137, + 143, 11, 143, 13, 143, 32, 36, 38, 143, 41, + + 143, 143, 143, 45, 143, 143, 143, 143, 143, 143, + 143, 59, 60, 143, 143, 67, 143, 143, 143, 143, + 143, 143, 143, 143, 94, 89, 143, 143, 143, 96, + 143, 143, 108, 143, 107, 143, 113, 110, 143, 118, + 119, 143, 123, 143, 143, 143, 143, 143, 143, 143, + 138, 7, 143, 40, 42, 143, 143, 143, 143, 143, + 47, 51, 143, 143, 143, 64, 143, 143, 143, 65, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 122, 143, 143, 121, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 54, + + 143, 143, 63, 66, 143, 76, 143, 143, 143, 77, + 143, 143, 95, 97, 98, 143, 101, 143, 143, 114, + 143, 143, 127, 143, 143, 143, 143, 143, 143, 143, + 46, 143, 143, 143, 69, 143, 143, 143, 143, 86, + 143, 143, 109, 124, 143, 128, 143, 133, 143, 143, + 56, 143, 53, 143, 143, 143, 143, 143, 143, 105, + 143, 143, 143, 143, 43, 143, 55, 143, 143, 143, + 143, 143, 106, 125, 132, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 50, 58, 143, 143, 143, 143, 143, 143, 143, 143, + + 143, 34, 143, 143, 143, 143, 143, 143, 143, 143, + 78, 79, 80, 143, 143, 87, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -489,151 +513,151 @@ static yyconst flex_int32_t yy_meta[73] = 2, 1 } ; -static yyconst flex_int16_t yy_base[613] = +static yyconst flex_int16_t yy_base[619] = { 0, - 0, 0, 733, 734, 734, 734, 711, 734, 725, 734, - 709, 64, 65, 63, 75, 77, 734, 734, 708, 707, - 706, 46, 48, 66, 51, 65, 78, 46, 45, 71, - 0, 667, 90, 80, 659, 661, 92, 106, 109, 145, - 659, 662, 670, 648, 734, 734, 734, 734, 734, 734, - 734, 708, 167, 734, 734, 734, 172, 187, 211, 734, - 734, 734, 0, 658, 662, 667, 660, 667, 652, 641, - 645, 62, 655, 662, 645, 152, 656, 649, 648, 657, - 646, 652, 652, 93, 652, 648, 638, 637, 633, 636, - 653, 628, 642, 634, 629, 647, 0, 623, 627, 616, - - 626, 625, 109, 652, 632, 618, 630, 616, 608, 0, - 35, 136, 622, 617, 67, 610, 617, 613, 613, 611, - 102, 607, 606, 605, 84, 0, 0, 632, 607, 615, - 617, 608, 605, 593, 734, 734, 220, 226, 235, 241, - 246, 596, 612, 190, 599, 598, 599, 600, 595, 596, - 594, 594, 587, 600, 597, 587, 129, 583, 591, 597, - 592, 595, 573, 585, 191, 582, 573, 0, 574, 572, - 578, 574, 583, 0, 583, 601, 586, 578, 577, 567, - 599, 574, 559, 572, 569, 570, 606, 558, 572, 551, - 568, 564, 567, 549, 553, 558, 551, 562, 549, 557, - - 546, 539, 557, 552, 534, 547, 540, 548, 543, 542, - 531, 240, 543, 536, 544, 565, 537, 543, 530, 529, - 521, 218, 273, 278, 287, 292, 297, 0, 522, 525, - 529, 536, 0, 567, 526, 529, 529, 0, 512, 0, - 530, 519, 512, 511, 518, 209, 522, 0, 506, 505, - 504, 0, 507, 507, 514, 510, 0, 498, 0, 513, - 499, 0, 496, 514, 512, 0, 0, 493, 517, 493, - 491, 491, 488, 0, 539, 0, 155, 494, 486, 486, - 490, 492, 495, 490, 479, 480, 477, 0, 483, 477, - 474, 488, 0, 0, 472, 473, 148, 476, 0, 487, - - 470, 481, 484, 479, 494, 0, 0, 458, 463, 473, - 467, 0, 0, 467, 0, 472, 465, 0, 302, 307, - 476, 456, 460, 459, 0, 458, 453, 460, 457, 464, - 461, 460, 468, 450, 457, 441, 451, 454, 453, 452, - 182, 439, 0, 451, 450, 0, 0, 444, 233, 441, - 0, 459, 432, 0, 431, 440, 0, 446, 437, 431, - 0, 0, 439, 440, 0, 429, 0, 446, 434, 437, - 425, 432, 0, 428, 430, 429, 0, 414, 413, 426, - 419, 426, 409, 413, 0, 116, 0, 421, 0, 418, - 0, 415, 0, 0, 454, 417, 0, 408, 409, 400, - - 0, 405, 416, 411, 392, 401, 400, 416, 0, 0, - 221, 402, 0, 401, 404, 394, 302, 430, 386, 414, - 399, 0, 0, 390, 377, 0, 382, 399, 0, 384, - 0, 389, 0, 0, 392, 0, 0, 390, 0, 389, - 393, 388, 375, 387, 381, 388, 0, 0, 369, 0, - 0, 380, 392, 380, 381, 381, 0, 0, 378, 380, - 366, 0, 361, 375, 376, 0, 363, 389, 384, 377, - 367, 383, 367, 359, 363, 350, 355, 357, 351, 346, - 0, 353, 342, 0, 336, 354, 345, 338, 348, 377, - 340, 336, 347, 340, 0, 331, 334, 0, 0, 335, - - 0, 356, 355, 366, 0, 367, 324, 0, 0, 333, - 0, 336, 335, 0, 316, 329, 0, 326, 327, 330, - 343, 319, 320, 322, 0, 325, 324, 314, 0, 333, - 332, 341, 328, 0, 320, 305, 0, 0, 300, 0, - 301, 0, 304, 295, 0, 299, 0, 298, 304, 314, - 313, 312, 326, 0, 305, 304, 303, 288, 0, 287, - 0, 291, 306, 305, 304, 310, 0, 0, 0, 291, - 290, 291, 316, 315, 314, 304, 279, 289, 267, 296, - 295, 294, 286, 272, 0, 0, 289, 288, 287, 286, - 262, 268, 267, 253, 258, 0, 237, 236, 227, 187, - - 175, 161, 142, 124, 0, 0, 0, 77, 71, 0, - 734, 82 + 0, 0, 739, 740, 740, 740, 717, 740, 731, 740, + 715, 64, 65, 63, 75, 77, 740, 740, 714, 713, + 712, 46, 48, 66, 51, 65, 78, 46, 45, 71, + 0, 673, 90, 80, 665, 667, 92, 106, 109, 145, + 665, 668, 676, 654, 740, 740, 740, 740, 740, 740, + 740, 714, 167, 740, 740, 740, 172, 187, 211, 740, + 740, 740, 0, 664, 668, 673, 666, 673, 658, 647, + 651, 62, 661, 668, 651, 152, 662, 655, 654, 663, + 652, 658, 658, 93, 658, 654, 644, 643, 639, 642, + 659, 634, 648, 640, 635, 653, 0, 629, 633, 622, + + 84, 632, 109, 659, 639, 625, 637, 623, 615, 0, + 35, 136, 629, 624, 67, 617, 624, 620, 620, 618, + 102, 614, 613, 612, 119, 0, 0, 639, 614, 622, + 624, 615, 612, 600, 740, 740, 220, 226, 235, 241, + 246, 603, 619, 190, 606, 605, 606, 607, 602, 603, + 601, 601, 594, 607, 604, 594, 217, 590, 598, 604, + 599, 602, 580, 592, 191, 589, 580, 0, 581, 579, + 585, 581, 590, 0, 590, 608, 593, 585, 584, 574, + 606, 581, 566, 579, 576, 577, 576, 612, 564, 578, + 557, 574, 570, 573, 555, 559, 564, 557, 568, 555, + + 563, 552, 545, 563, 558, 540, 553, 546, 554, 549, + 548, 537, 241, 549, 542, 550, 571, 543, 549, 536, + 535, 527, 219, 274, 279, 288, 293, 298, 0, 528, + 531, 535, 542, 0, 573, 532, 535, 535, 0, 518, + 0, 536, 525, 518, 517, 524, 207, 528, 0, 512, + 511, 510, 0, 513, 513, 520, 516, 0, 504, 0, + 519, 505, 0, 502, 520, 518, 0, 0, 499, 523, + 499, 497, 497, 494, 501, 0, 544, 0, 155, 499, + 491, 491, 495, 497, 500, 495, 484, 485, 482, 0, + 488, 482, 479, 493, 0, 0, 477, 478, 148, 481, + + 0, 492, 475, 486, 489, 484, 499, 0, 0, 463, + 468, 478, 472, 0, 0, 472, 0, 477, 470, 0, + 303, 308, 481, 461, 465, 464, 0, 463, 458, 465, + 462, 469, 466, 465, 473, 455, 462, 446, 456, 459, + 458, 457, 182, 444, 0, 456, 455, 0, 0, 449, + 234, 446, 0, 464, 437, 0, 436, 445, 434, 0, + 450, 441, 435, 0, 0, 443, 444, 0, 433, 0, + 450, 438, 441, 429, 436, 0, 432, 434, 433, 0, + 418, 417, 430, 423, 430, 413, 417, 0, 116, 0, + 425, 0, 422, 0, 419, 0, 0, 458, 421, 0, + + 412, 413, 404, 0, 409, 420, 415, 396, 405, 404, + 420, 0, 0, 219, 406, 0, 405, 408, 398, 303, + 434, 390, 418, 403, 0, 0, 402, 393, 380, 0, + 385, 402, 0, 387, 0, 392, 0, 0, 395, 0, + 0, 393, 0, 392, 396, 391, 378, 390, 384, 391, + 0, 0, 372, 0, 0, 383, 395, 383, 384, 384, + 0, 0, 381, 383, 369, 0, 364, 378, 379, 0, + 366, 392, 387, 380, 370, 386, 370, 353, 361, 365, + 352, 357, 359, 353, 348, 0, 355, 344, 0, 338, + 356, 347, 340, 350, 379, 342, 338, 349, 342, 0, + + 333, 336, 0, 0, 337, 0, 358, 357, 368, 0, + 369, 326, 0, 0, 0, 335, 0, 338, 337, 0, + 318, 331, 0, 328, 329, 332, 345, 321, 322, 324, + 0, 327, 326, 316, 0, 335, 334, 343, 330, 0, + 322, 307, 0, 0, 302, 0, 303, 0, 306, 297, + 0, 301, 0, 300, 306, 316, 315, 314, 328, 0, + 307, 306, 305, 290, 0, 289, 0, 293, 308, 307, + 306, 312, 0, 0, 0, 293, 292, 293, 318, 317, + 316, 306, 281, 291, 269, 298, 297, 296, 289, 274, + 0, 0, 291, 290, 289, 288, 264, 296, 269, 268, + + 260, 0, 247, 238, 236, 187, 175, 161, 154, 115, + 0, 0, 0, 77, 71, 0, 740, 82 } ; -static yyconst flex_int16_t yy_def[613] = +static yyconst flex_int16_t yy_def[619] = { 0, - 611, 1, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 611, 611, 611, 611, 611, 611, - 611, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 611, 611, 611, 611, 611, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 611, 611, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 0, 611 + 617, 1, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 617, 617, 617, 617, 617, 617, + 617, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 617, 617, 617, 617, 617, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 617, 617, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 0, 617 } ; -static yyconst flex_int16_t yy_nxt[807] = +static yyconst flex_int16_t yy_nxt[813] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 17, 18, 19, @@ -643,90 +667,91 @@ static yyconst flex_int16_t yy_nxt[807] = 31, 31, 31, 31, 31, 31, 31, 31, 43, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 44, 48, 52, 50, 53, 53, 53, 53, 53, - 91, 195, 54, 63, 49, 51, 55, 57, 69, 58, - 58, 58, 58, 58, 64, 56, 92, 610, 70, 93, + 91, 196, 54, 63, 49, 51, 55, 57, 69, 58, + 58, 58, 58, 58, 64, 56, 92, 616, 70, 93, - 196, 78, 65, 59, 94, 79, 96, 71, 66, 67, - 68, 609, 72, 80, 95, 201, 73, 104, 150, 74, + 197, 78, 65, 59, 94, 79, 96, 71, 66, 67, + 68, 615, 72, 80, 95, 202, 73, 104, 150, 74, 75, 81, 97, 82, 85, 76, 151, 59, 77, 98, - 83, 202, 86, 84, 87, 88, 100, 89, 108, 105, - 101, 214, 215, 90, 102, 109, 110, 167, 111, 103, - 608, 112, 114, 168, 113, 208, 115, 169, 209, 126, - 127, 187, 118, 119, 210, 116, 120, 445, 188, 121, - 122, 117, 446, 123, 124, 128, 245, 607, 125, 53, - 53, 53, 53, 53, 138, 138, 138, 138, 138, 246, - 197, 129, 198, 137, 358, 359, 606, 57, 139, 58, - - 58, 58, 58, 58, 130, 155, 376, 131, 156, 157, - 605, 158, 377, 59, 230, 159, 604, 137, 254, 140, - 140, 255, 139, 141, 141, 141, 141, 141, 223, 223, - 231, 232, 224, 224, 224, 224, 224, 59, 138, 138, - 138, 138, 138, 226, 226, 411, 412, 227, 227, 227, - 227, 227, 225, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 603, 300, 335, 312, 417, 336, 313, - 418, 462, 602, 601, 314, 463, 225, 301, 315, 302, - 316, 317, 600, 599, 318, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 319, 319, 598, 597, 320, - - 320, 320, 320, 320, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 468, 596, 595, 594, 593, 592, - 591, 590, 469, 589, 588, 587, 586, 585, 584, 583, - 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, - 572, 571, 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, 497, 496, 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, 467, 466, 465, 464, 461, 460, 459, - 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, - 448, 447, 444, 443, 442, 441, 440, 439, 438, 437, - 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, - 426, 425, 424, 423, 422, 421, 420, 419, 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, 375, 374, 373, 372, 371, - 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, - 360, 357, 356, 355, 354, 353, 352, 351, 350, 349, - 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, - 338, 337, 334, 333, 332, 331, 330, 329, 328, 327, - 326, 325, 324, 323, 322, 321, 311, 310, 309, 308, - 307, 306, 305, 304, 303, 299, 298, 297, 296, 295, - - 294, 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, 253, - 252, 251, 250, 249, 248, 247, 244, 243, 242, 241, - 240, 239, 238, 237, 236, 235, 234, 233, 229, 228, - 222, 221, 220, 219, 218, 217, 216, 213, 212, 211, - 207, 206, 205, 204, 203, 200, 199, 194, 193, 192, - 191, 190, 189, 186, 185, 184, 183, 182, 181, 180, - 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, - - 166, 165, 164, 163, 162, 161, 160, 154, 153, 152, - 149, 148, 147, 146, 145, 144, 143, 142, 136, 135, - 134, 133, 132, 107, 106, 99, 62, 61, 60, 47, - 46, 45, 611, 3, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611 + 83, 203, 86, 84, 87, 88, 100, 89, 108, 105, + 101, 614, 185, 90, 102, 109, 110, 167, 111, 103, + 186, 112, 114, 168, 113, 209, 115, 169, 210, 126, + 127, 188, 118, 119, 211, 116, 120, 449, 189, 121, + 122, 117, 450, 123, 124, 128, 215, 216, 125, 53, + 53, 53, 53, 53, 138, 138, 138, 138, 138, 613, + 198, 129, 199, 137, 361, 362, 612, 57, 139, 58, + + 58, 58, 58, 58, 130, 155, 379, 131, 156, 157, + 611, 158, 380, 59, 231, 159, 610, 137, 255, 140, + 140, 256, 139, 141, 141, 141, 141, 141, 224, 224, + 232, 233, 225, 225, 225, 225, 225, 59, 138, 138, + 138, 138, 138, 227, 227, 414, 415, 228, 228, 228, + 228, 228, 226, 141, 141, 141, 141, 141, 141, 141, + 141, 141, 141, 337, 246, 302, 338, 314, 420, 466, + 315, 421, 609, 467, 608, 316, 226, 247, 303, 317, + 304, 318, 319, 607, 606, 320, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 321, 321, 605, 604, + + 322, 322, 322, 322, 322, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 472, 603, 602, 601, 600, + 599, 598, 597, 473, 596, 595, 594, 593, 592, 591, + 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, + 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, + 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, 497, 496, 495, 494, 493, 492, 491, + 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, + 480, 479, 478, 477, 476, 475, 474, 471, 470, 469, + 468, 465, 464, 463, 462, 461, 460, 459, 458, 457, + 456, 455, 454, 453, 452, 451, 448, 447, 446, 445, + 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, + 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, + + 424, 423, 422, 419, 418, 417, 416, 413, 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, + 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, + 368, 367, 366, 365, 364, 363, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, + 346, 345, 344, 343, 342, 341, 340, 339, 336, 335, + 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, + 324, 323, 313, 312, 311, 310, 309, 308, 307, 306, + + 305, 301, 300, 299, 298, 297, 296, 295, 294, 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, 254, 253, 252, 251, + 250, 249, 248, 245, 244, 243, 242, 241, 240, 239, + 238, 237, 236, 235, 234, 230, 229, 223, 222, 221, + 220, 219, 218, 217, 214, 213, 212, 208, 207, 206, + 205, 204, 201, 200, 195, 194, 193, 192, 191, 190, + 187, 184, 183, 182, 181, 180, 179, 178, 177, 176, + + 175, 174, 173, 172, 171, 170, 166, 165, 164, 163, + 162, 161, 160, 154, 153, 152, 149, 148, 147, 146, + 145, 144, 143, 142, 136, 135, 134, 133, 132, 107, + 106, 99, 62, 61, 60, 47, 46, 45, 617, 3, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617 } ; -static yyconst flex_int16_t yy_chk[807] = +static yyconst flex_int16_t yy_chk[813] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -736,87 +761,88 @@ static yyconst flex_int16_t yy_chk[807] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 14, 13, 14, 14, 14, 14, 14, - 28, 111, 15, 612, 12, 13, 15, 16, 23, 16, - 16, 16, 16, 16, 22, 15, 28, 609, 23, 29, + 28, 111, 15, 618, 12, 13, 15, 16, 23, 16, + 16, 16, 16, 16, 22, 15, 28, 615, 23, 29, 111, 25, 22, 16, 29, 25, 30, 23, 22, 22, - 22, 608, 24, 25, 29, 115, 24, 34, 72, 24, + 22, 614, 24, 25, 29, 115, 24, 34, 72, 24, 24, 26, 30, 26, 27, 24, 72, 16, 24, 30, 26, 115, 27, 26, 27, 27, 33, 27, 37, 34, - 33, 125, 125, 27, 33, 37, 37, 84, 37, 33, - 604, 37, 38, 84, 37, 121, 38, 84, 121, 40, - 40, 103, 39, 39, 121, 38, 39, 386, 103, 39, - 39, 38, 386, 39, 39, 40, 157, 603, 39, 53, - 53, 53, 53, 53, 57, 57, 57, 57, 57, 157, - 112, 40, 112, 53, 277, 277, 602, 58, 57, 58, - - 58, 58, 58, 58, 40, 76, 297, 40, 76, 76, - 601, 76, 297, 58, 144, 76, 600, 53, 165, 59, + 33, 610, 101, 27, 33, 37, 37, 84, 37, 33, + 101, 37, 38, 84, 37, 121, 38, 84, 121, 40, + 40, 103, 39, 39, 121, 38, 39, 389, 103, 39, + 39, 38, 389, 39, 39, 40, 125, 125, 39, 53, + 53, 53, 53, 53, 57, 57, 57, 57, 57, 609, + 112, 40, 112, 53, 279, 279, 608, 58, 57, 58, + + 58, 58, 58, 58, 40, 76, 299, 40, 76, 76, + 607, 76, 299, 58, 144, 76, 606, 53, 165, 59, 59, 165, 57, 59, 59, 59, 59, 59, 137, 137, 144, 144, 137, 137, 137, 137, 137, 58, 138, 138, - 138, 138, 138, 139, 139, 341, 341, 139, 139, 139, + 138, 138, 138, 139, 139, 343, 343, 139, 139, 139, 139, 139, 138, 140, 140, 140, 140, 140, 141, 141, - 141, 141, 141, 599, 212, 246, 222, 349, 246, 222, - 349, 411, 598, 597, 222, 411, 138, 212, 222, 212, - 222, 222, 595, 594, 222, 223, 223, 223, 223, 223, - 224, 224, 224, 224, 224, 225, 225, 593, 592, 225, - - 225, 225, 225, 225, 226, 226, 226, 226, 226, 227, - 227, 227, 227, 227, 319, 319, 319, 319, 319, 320, - 320, 320, 320, 320, 417, 591, 590, 589, 588, 587, - 584, 583, 417, 582, 581, 580, 579, 578, 577, 576, - 575, 574, 573, 572, 571, 570, 566, 565, 564, 563, - 562, 560, 558, 557, 556, 555, 553, 552, 551, 550, - 549, 548, 546, 544, 543, 541, 539, 536, 535, 533, - 532, 531, 530, 528, 527, 526, 524, 523, 522, 521, - 520, 519, 518, 516, 515, 513, 512, 510, 507, 506, - 504, 503, 502, 500, 497, 496, 494, 493, 492, 491, - - 490, 489, 488, 487, 486, 485, 483, 482, 480, 479, - 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, - 468, 467, 465, 464, 463, 461, 460, 459, 456, 455, - 454, 453, 452, 449, 446, 445, 444, 443, 442, 441, - 440, 438, 435, 432, 430, 428, 427, 425, 424, 421, - 420, 419, 418, 416, 415, 414, 412, 408, 407, 406, - 405, 404, 403, 402, 400, 399, 398, 396, 395, 392, - 390, 388, 384, 383, 382, 381, 380, 379, 378, 376, - 375, 374, 372, 371, 370, 369, 368, 366, 364, 363, - 360, 359, 358, 356, 355, 353, 352, 350, 348, 345, - - 344, 342, 340, 339, 338, 337, 336, 335, 334, 333, - 332, 331, 330, 329, 328, 327, 326, 324, 323, 322, - 321, 317, 316, 314, 311, 310, 309, 308, 305, 304, - 303, 302, 301, 300, 298, 296, 295, 292, 291, 290, - 289, 287, 286, 285, 284, 283, 282, 281, 280, 279, - 278, 275, 273, 272, 271, 270, 269, 268, 265, 264, - 263, 261, 260, 258, 256, 255, 254, 253, 251, 250, - 249, 247, 245, 244, 243, 242, 241, 239, 237, 236, - 235, 234, 232, 231, 230, 229, 221, 220, 219, 218, - 217, 216, 215, 214, 213, 211, 210, 209, 208, 207, - - 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, - 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, - 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, - 176, 175, 173, 172, 171, 170, 169, 167, 166, 164, - 163, 162, 161, 160, 159, 158, 156, 155, 154, 153, - 152, 151, 150, 149, 148, 147, 146, 145, 143, 142, - 134, 133, 132, 131, 130, 129, 128, 124, 123, 122, - 120, 119, 118, 117, 116, 114, 113, 109, 108, 107, - 106, 105, 104, 102, 101, 100, 99, 98, 96, 95, - 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, - - 83, 82, 81, 80, 79, 78, 77, 75, 74, 73, - 71, 70, 69, 68, 67, 66, 65, 64, 52, 44, - 43, 42, 41, 36, 35, 32, 21, 20, 19, 11, - 9, 7, 3, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611 + 141, 141, 141, 247, 157, 213, 247, 223, 351, 414, + 223, 351, 605, 414, 604, 223, 138, 157, 213, 223, + 213, 223, 223, 603, 601, 223, 224, 224, 224, 224, + 224, 225, 225, 225, 225, 225, 226, 226, 600, 599, + + 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, + 228, 228, 228, 228, 228, 321, 321, 321, 321, 321, + 322, 322, 322, 322, 322, 420, 598, 597, 596, 595, + 594, 593, 590, 420, 589, 588, 587, 586, 585, 584, + 583, 582, 581, 580, 579, 578, 577, 576, 572, 571, + 570, 569, 568, 566, 564, 563, 562, 561, 559, 558, + 557, 556, 555, 554, 552, 550, 549, 547, 545, 542, + 541, 539, 538, 537, 536, 534, 533, 532, 530, 529, + 528, 527, 526, 525, 524, 522, 521, 519, 518, 516, + 512, 511, 509, 508, 507, 505, 502, 501, 499, 498, + + 497, 496, 495, 494, 493, 492, 491, 490, 488, 487, + 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, + 475, 474, 473, 472, 471, 469, 468, 467, 465, 464, + 463, 460, 459, 458, 457, 456, 453, 450, 449, 448, + 447, 446, 445, 444, 442, 439, 436, 434, 432, 431, + 429, 428, 427, 424, 423, 422, 421, 419, 418, 417, + 415, 411, 410, 409, 408, 407, 406, 405, 403, 402, + 401, 399, 398, 395, 393, 391, 387, 386, 385, 384, + 383, 382, 381, 379, 378, 377, 375, 374, 373, 372, + 371, 369, 367, 366, 363, 362, 361, 359, 358, 357, + + 355, 354, 352, 350, 347, 346, 344, 342, 341, 340, + 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, + 329, 328, 326, 325, 324, 323, 319, 318, 316, 313, + 312, 311, 310, 307, 306, 305, 304, 303, 302, 300, + 298, 297, 294, 293, 292, 291, 289, 288, 287, 286, + 285, 284, 283, 282, 281, 280, 277, 275, 274, 273, + 272, 271, 270, 269, 266, 265, 264, 262, 261, 259, + 257, 256, 255, 254, 252, 251, 250, 248, 246, 245, + 244, 243, 242, 240, 238, 237, 236, 235, 233, 232, + 231, 230, 222, 221, 220, 219, 218, 217, 216, 215, + + 214, 212, 211, 210, 209, 208, 207, 206, 205, 204, + 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, + 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, + 183, 182, 181, 180, 179, 178, 177, 176, 175, 173, + 172, 171, 170, 169, 167, 166, 164, 163, 162, 161, + 160, 159, 158, 156, 155, 154, 153, 152, 151, 150, + 149, 148, 147, 146, 145, 143, 142, 134, 133, 132, + 131, 130, 129, 128, 124, 123, 122, 120, 119, 118, + 117, 116, 114, 113, 109, 108, 107, 106, 105, 104, + 102, 100, 99, 98, 96, 95, 94, 93, 92, 91, + + 90, 89, 88, 87, 86, 85, 83, 82, 81, 80, + 79, 78, 77, 75, 74, 73, 71, 70, 69, 68, + 67, 66, 65, 64, 52, 44, 43, 42, 41, 36, + 35, 32, 21, 20, 19, 11, 9, 7, 3, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 617 } ; static yy_state_type yy_last_accepting_state; @@ -873,7 +899,7 @@ void skipline(void); #define YY_NO_UNISTD_H #endif -#line 877 "Gmsh.yy.cpp" +#line 903 "Gmsh.yy.cpp" #define INITIAL 0 @@ -891,6 +917,35 @@ void skipline(void); static int yy_init_globals (void ); +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int gmsh_yylex_destroy (void ); + +int gmsh_yyget_debug (void ); + +void gmsh_yyset_debug (int debug_flag ); + +YY_EXTRA_TYPE gmsh_yyget_extra (void ); + +void gmsh_yyset_extra (YY_EXTRA_TYPE user_defined ); + +FILE *gmsh_yyget_in (void ); + +void gmsh_yyset_in (FILE * in_str ); + +FILE *gmsh_yyget_out (void ); + +void gmsh_yyset_out (FILE * out_str ); + +int gmsh_yyget_leng (void ); + +char *gmsh_yyget_text (void ); + +int gmsh_yyget_lineno (void ); + +void gmsh_yyset_lineno (int line_number ); + /* Macros after this point can all be overridden by user definitions in * section 1. */ @@ -925,7 +980,12 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -933,7 +993,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO (void) fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout ) +#define ECHO do { if (fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1029,7 +1089,7 @@ YY_DECL #line 49 "Gmsh.l" -#line 1033 "Gmsh.yy.cpp" +#line 1093 "Gmsh.yy.cpp" if ( !(yy_init) ) { @@ -1082,13 +1142,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 >= 612 ) + if ( yy_current_state >= 618 ) 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] != 734 ); + while ( yy_base[yy_current_state] != 740 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1585,246 +1645,251 @@ return tLayers; YY_BREAK case 95: YY_RULE_SETUP -#line 157 "Gmsh.l" -return tModulo; +#line 156 "Gmsh.l" +return tLevelset; YY_BREAK case 96: YY_RULE_SETUP #line 158 "Gmsh.l" -return tMPI_Rank; +return tModulo; YY_BREAK case 97: YY_RULE_SETUP #line 159 "Gmsh.l" -return tMPI_Size; +return tMPI_Rank; YY_BREAK case 98: YY_RULE_SETUP -#line 161 "Gmsh.l" -return tNurbs; +#line 160 "Gmsh.l" +return tMPI_Size; YY_BREAK case 99: YY_RULE_SETUP -#line 163 "Gmsh.l" -return tOrder; +#line 162 "Gmsh.l" +return tNurbs; YY_BREAK case 100: YY_RULE_SETUP -#line 165 "Gmsh.l" -return tPhysical; +#line 164 "Gmsh.l" +return tOrder; YY_BREAK case 101: YY_RULE_SETUP #line 166 "Gmsh.l" -return tPi; +return tPhysical; YY_BREAK case 102: YY_RULE_SETUP #line 167 "Gmsh.l" -return tPlane; +return tPi; YY_BREAK case 103: YY_RULE_SETUP #line 168 "Gmsh.l" -return tPoint; +return tPlane; YY_BREAK case 104: YY_RULE_SETUP #line 169 "Gmsh.l" -return tParametric; +return tPoint; YY_BREAK case 105: YY_RULE_SETUP #line 170 "Gmsh.l" -return tPolarSphere; +return tParametric; YY_BREAK case 106: YY_RULE_SETUP #line 171 "Gmsh.l" -return tPrintf; +return tPolarSphere; YY_BREAK case 107: YY_RULE_SETUP #line 172 "Gmsh.l" -return tPlugin; +return tPrintf; YY_BREAK case 108: YY_RULE_SETUP -#line 174 "Gmsh.l" -return tRecombine; +#line 173 "Gmsh.l" +return tPlugin; YY_BREAK case 109: YY_RULE_SETUP #line 175 "Gmsh.l" -return tRotate; +return tRecombine; YY_BREAK case 110: YY_RULE_SETUP #line 176 "Gmsh.l" -return tRuled; +return tRotate; YY_BREAK case 111: YY_RULE_SETUP #line 177 "Gmsh.l" -return tRand; +return tRuled; YY_BREAK case 112: YY_RULE_SETUP #line 178 "Gmsh.l" -return tReturn; +return tRand; YY_BREAK case 113: YY_RULE_SETUP -#line 180 "Gmsh.l" -return tSmoother; +#line 179 "Gmsh.l" +return tReturn; YY_BREAK case 114: YY_RULE_SETUP #line 181 "Gmsh.l" -return tSqrt; +return tSmoother; YY_BREAK case 115: YY_RULE_SETUP #line 182 "Gmsh.l" -return tSin; +return tSqrt; YY_BREAK case 116: YY_RULE_SETUP #line 183 "Gmsh.l" -return tSinh; +return tSin; YY_BREAK case 117: YY_RULE_SETUP #line 184 "Gmsh.l" -return tSphere; +return tSinh; YY_BREAK case 118: YY_RULE_SETUP #line 185 "Gmsh.l" -return tSpline; +return tSphere; YY_BREAK case 119: YY_RULE_SETUP #line 186 "Gmsh.l" -return tSplit; +return tSpline; YY_BREAK case 120: YY_RULE_SETUP #line 187 "Gmsh.l" -return tSurface; +return tSplit; YY_BREAK case 121: YY_RULE_SETUP #line 188 "Gmsh.l" -return tSprintf; +return tSurface; YY_BREAK case 122: YY_RULE_SETUP #line 189 "Gmsh.l" -return tStrCat; +return tSprintf; YY_BREAK case 123: YY_RULE_SETUP #line 190 "Gmsh.l" -return tStrPrefix; +return tStrCat; YY_BREAK case 124: YY_RULE_SETUP #line 191 "Gmsh.l" -return tStrRelative; +return tStrPrefix; YY_BREAK case 125: YY_RULE_SETUP #line 192 "Gmsh.l" -return tShow; +return tStrRelative; YY_BREAK case 126: YY_RULE_SETUP #line 193 "Gmsh.l" -return tSymmetry; +return tShow; YY_BREAK case 127: YY_RULE_SETUP #line 194 "Gmsh.l" -return tSyncModel; +return tSymmetry; YY_BREAK case 128: YY_RULE_SETUP -#line 196 "Gmsh.l" -return tText2D; +#line 195 "Gmsh.l" +return tSyncModel; YY_BREAK case 129: YY_RULE_SETUP #line 197 "Gmsh.l" -return tText3D; +return tText2D; YY_BREAK case 130: YY_RULE_SETUP #line 198 "Gmsh.l" -return tTime; +return tText3D; YY_BREAK case 131: YY_RULE_SETUP #line 199 "Gmsh.l" -return tTransfinite; +return tTime; YY_BREAK case 132: YY_RULE_SETUP #line 200 "Gmsh.l" -return tTranslate; +return tTransfinite; YY_BREAK case 133: YY_RULE_SETUP #line 201 "Gmsh.l" -return tTanh; +return tTranslate; YY_BREAK case 134: YY_RULE_SETUP #line 202 "Gmsh.l" -return tTan; +return tTanh; YY_BREAK case 135: YY_RULE_SETUP #line 203 "Gmsh.l" -return tToday; +return tTan; YY_BREAK case 136: YY_RULE_SETUP -#line 205 "Gmsh.l" -return tUsing; +#line 204 "Gmsh.l" +return tToday; YY_BREAK case 137: YY_RULE_SETUP -#line 207 "Gmsh.l" -return tVolume; +#line 206 "Gmsh.l" +return tUsing; YY_BREAK case 138: -#line 210 "Gmsh.l" +YY_RULE_SETUP +#line 208 "Gmsh.l" +return tVolume; + YY_BREAK case 139: #line 211 "Gmsh.l" case 140: #line 212 "Gmsh.l" case 141: +#line 213 "Gmsh.l" +case 142: YY_RULE_SETUP -#line 212 "Gmsh.l" +#line 213 "Gmsh.l" { gmsh_yylval.d = atof((char *)gmsh_yytext); return tDOUBLE; } YY_BREAK -case 142: +case 143: YY_RULE_SETUP -#line 214 "Gmsh.l" +#line 215 "Gmsh.l" { gmsh_yylval.c = strsave((char*)gmsh_yytext); return tSTRING; } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 216 "Gmsh.l" +#line 217 "Gmsh.l" return gmsh_yytext[0]; YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 218 "Gmsh.l" +#line 219 "Gmsh.l" ECHO; YY_BREAK -#line 1828 "Gmsh.yy.cpp" +#line 1893 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2055,7 +2120,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); + (yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2079,6 +2144,14 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) gmsh_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; @@ -2108,7 +2181,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 612 ) + if ( yy_current_state >= 618 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2136,11 +2209,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 612 ) + if ( yy_current_state >= 618 ) 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 == 611); + yy_is_jam = (yy_current_state == 617); return yy_is_jam ? 0 : yy_current_state; } @@ -2230,7 +2303,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( gmsh_yywrap( ) ) - return 0; + return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -2494,7 +2567,9 @@ static void gmsh_yyensure_buffer_stack (void) (yy_buffer_stack) = (struct yy_buffer_state**)gmsh_yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); - + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in gmsh_yyensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; @@ -2512,6 +2587,8 @@ static void gmsh_yyensure_buffer_stack (void) ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in gmsh_yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -2556,7 +2633,7 @@ YY_BUFFER_STATE gmsh_yy_scan_buffer (char * base, yy_size_t size ) /** Setup the input buffer state to scan a string. The next call to gmsh_yylex() will * scan from a @e copy of @a str. - * @param str a NUL-terminated string to scan + * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use @@ -2570,8 +2647,8 @@ YY_BUFFER_STATE gmsh_yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to gmsh_yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -2810,7 +2887,7 @@ void gmsh_yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 218 "Gmsh.l" +#line 219 "Gmsh.l" diff --git a/contrib/DiscreteIntegration/DILevelset.h b/contrib/DiscreteIntegration/DILevelset.h index 05262dc27dbae693545ec809c5696d052a1c59a2..ec89c5eb3704c274e14069ff79a21327ae65cd0e 100644 --- a/contrib/DiscreteIntegration/DILevelset.h +++ b/contrib/DiscreteIntegration/DILevelset.h @@ -41,10 +41,7 @@ public: virtual double choose (double d1, double d2) const = 0; virtual int type() const = 0; virtual bool isPrimitive() const = 0; - void setTag(int t) { - assert(isPrimitive()); - tag_ = t; - } + void setTag(int t) { tag_ = t; } virtual int getTag() const { return tag_; } void getPrimitives(std::vector<const gLevelset *> &primitives) const; void getRPN(std::vector<const gLevelset *> &gLsRPN) const; @@ -192,10 +189,24 @@ public: } return d; } - std::vector<const gLevelset *> getChildren() const {return children;} + std::vector<const gLevelset *> getChildren() const { + if(children.size() != 1) return children; + return children[0]->getChildren(); + } virtual double choose (double d1, double d2) const = 0; - virtual int type() const = 0; - bool isPrimitive() const {return false;} + virtual int type2() const = 0; + virtual int type() const { + if(children.size() != 1) return type2(); + return children[0]->type(); + } + bool isPrimitive() const { + if(children.size() != 1) return false; + return children[0]->isPrimitive(); + } + int getTag() const { + if(children.size() != 1) return tag_; + return children[0]->getTag(); + } }; class gLevelsetReverse : public gLevelset @@ -222,7 +233,7 @@ public: double choose (double d1, double d2) const { return (d1 > -d2) ? d1 : -d2; // greater of d1 and -d2 } - int type() const {return CUT;} + int type2() const {return CUT;} }; // This levelset takes the minimum @@ -233,7 +244,7 @@ public: double choose (double d1, double d2) const { return (d1 < d2) ? d1 : d2; // lesser of d1 and d2 } - int type() const {return UNION;} + int type2() const {return UNION;} }; // This levelset takes the maximum @@ -244,7 +255,7 @@ public: double choose (double d1, double d2) const { return (d1 > d2) ? d1 : d2; // greater of d1 and d2 } - int type() const {return INTER;} + int type2() const {return INTER;} }; // Crack defined by a normal and a tangent levelset @@ -252,15 +263,16 @@ class gLevelsetCrack : public gLevelsetTools { public: gLevelsetCrack (std::vector<const gLevelset *> &p) { - assert (p.size() == 2); + if (p.size() != 2) + printf("Error : gLevelsetCrack needs 2 levelsets\n"); children.push_back(p[0]); children.push_back(new gLevelsetReverse(p[0])); - children.push_back(p[1]); + if(p[1]) children.push_back(p[1]); } double choose (double d1, double d2) const { return (d1 > d2) ? d1 : d2; // greater of d1 and d2 } - int type() const {return CRACK;} + int type2() const {return CRACK;} }; // -------------------------------------------------------------------------------------------------------------- diff --git a/contrib/DiscreteIntegration/Integration3D.cpp b/contrib/DiscreteIntegration/Integration3D.cpp index 641c618b5a2942346d2febf4a11c1fd41faceb34..2b18696eb4911cbf9ad03587912e79c159ce1f43 100644 --- a/contrib/DiscreteIntegration/Integration3D.cpp +++ b/contrib/DiscreteIntegration/Integration3D.cpp @@ -510,7 +510,7 @@ void DI_Point::addLs (const DI_Element *e) { Ls.push_back(e->evalLs(x_, y_, z_)); } void DI_Point::chooseLs (const gLevelset *Lsi) { - assert(Ls.size() > 1); + if(Ls.size() < 2) return; double ls1 = Ls[Ls.size() - 2], ls2 = Ls[Ls.size() - 1]; double ls = Lsi->choose(ls1, ls2); Ls.pop_back(); Ls.pop_back(); @@ -682,8 +682,8 @@ void DI_Element::addLs (const DI_Element *e, const gLevelset &Ls) { } } void DI_Element::chooseLs (const gLevelset *Lsi) { - if(sizeLs() < 2) printf("chooseLs : type=%d\n", type()); - assert(sizeLs() > 1); + if(sizeLs() < 2) + printf("chooseLs with element size < 2 : typeEl=%d\n", type()); for(int i = 0; i < nbVert(); i++) pts_[i]->chooseLs(Lsi); for(int i = 0; i < nbMid(); i++) diff --git a/utils/api_demos/Makefile b/utils/api_demos/Makefile index 024bbe3631c0d1671f8ca77fce0672585b5d9cd8..d30163172a702a89506f6ff2f18531dcffcbe182 100644 --- a/utils/api_demos/Makefile +++ b/utils/api_demos/Makefile @@ -22,7 +22,8 @@ mainPost: mainPost.cpp mainLevelset: mainLevelset.cpp - g++ ${FLAGS} -o mainLevelset mainLevelset.cpp ${LIB} -llapack -lblas + g++ ${FLAGS} $(INC) -DHAVE_GSL -DHAVE_GLEVELSETS -DHAVE_GMM -DHAVE_SPARSKIT \ + -o mainLevelset mainLevelset.cpp ${LIB} -lgsl -lgslcblas -llapack -lblas clean: rm -rf mainSimple mainAntTweakBar mainGlut mainPost mainLevelset\ diff --git a/utils/api_demos/mainLevelset.cpp b/utils/api_demos/mainLevelset.cpp index 8af0dc4c17f53fd5548cb9b021d456b9d72bb987..d37f3a0dd84d0534d122b2eaddf8309e0c760695 100644 --- a/utils/api_demos/mainLevelset.cpp +++ b/utils/api_demos/mainLevelset.cpp @@ -618,18 +618,19 @@ int main(int argc, char **argv) const double pt [3]={0.,0.,0.}; const double dir[3]={0,0,1}; + tag=1; std::vector<const gLevelset*> li; - li.push_back(new gLevelsetPlane(0,0,-1,0.5, tag)); // -/+ - li.push_back(new gLevelsetPlane(0,0,1,-0.5, tag)); - //li.push_back(new gLevelsetGenCylinder(pt,dir,.3, tag)); // -|+ - //const gLevelset *ls = new gLevelsetIntersection(li); + li.push_back(new gLevelsetPlane(0,-1,0,0.52, tag)); // -/+ + li.push_back(new gLevelsetPlane(-1,0,0,0.52, tag)); + //li.push_back(new gLevelsetGenCylinder(pt,dir,.75, tag)); // -|+ + gLevelset *ls = new gLevelsetIntersection(li); //const gLevelset *ls = new gLevelsetReverse (ls1); - gLevelset *ls = new gLevelsetGenCylinder(pt, dir, 0.5, tag); + //gLevelset *ls = new gLevelsetGenCylinder(pt, dir, 0.75, tag); GmshInitialize(argc, argv); GmshSetOption("General", "Terminal", 1.); GModel *m = new GModel; - m->readMSH(argv[1]); + m->readMSH(argv[1]); printf("mesh read\n"); /*printf(" carreTri\n"); for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it) @@ -639,7 +640,7 @@ int main(int argc, char **argv) for(unsigned int i = 0; i < (*it)->mesh_vertices.size(); i++) printf("pte %d (%g,%g)\n",(*it)->mesh_vertices[i]->getNum(),(*it)->mesh_vertices[i]->x(),(*it)->mesh_vertices[i]->y()); printf("\n");*/ - GModel *cm = m->buildCutGModel(ls); printf("\n"); + GModel *cm = m->buildCutGModel(ls); printf("mesh cut\n"); /*printf(" ccutmesh\n"); for(GModel::fiter it = cm->firstFace(); it != cm->lastFace(); ++it){ @@ -657,7 +658,7 @@ int main(int argc, char **argv) printf("pte %d (%g,%g)\n",(*it)->mesh_vertices[i]->getNum(),(*it)->mesh_vertices[i]->x(),(*it)->mesh_vertices[i]->y()); }*/ - cm->writeMSH("cutMesh.msh",2); + cm->writeMSH("cutMesh.msh",2); printf("mesh written\n"); /*GFace *gf = m->getFaceByTag(6); std::cout<<"face "<<gf<< " "<<gf->mesh_vertices.size()<<std::endl; GEdge *ge1 = m->getEdgeByTag(1); std::cout<<"edge1 "<<ge1<< " "<<ge1->mesh_vertices.size()<<std::endl;