50 #define YYBISON_VERSION "2.3"
53 #define YYSKELETON_NAME "yacc.c"
59 #define YYLSP_NEEDED 0
62 #define yyparse gmsh_yyparse
63 #define yylex gmsh_yylex
64 #define yyerror gmsh_yyerror
65 #define yylval gmsh_yylval
66 #define yychar gmsh_yychar
67 #define yydebug gmsh_yydebug
68 #define yynerrs gmsh_yynerrs
333 #define tMPI_Rank 266
334 #define tMPI_Size 267
335 #define tEuclidian 268
336 #define tCoordinates 269
337 #define tTestLevel 270
364 #define tLinSpace 297
365 #define tLogSpace 298
366 #define tListFromFile 299
367 #define tCatenary 300
374 #define tStrPrefix 307
375 #define tStrRelative 308
376 #define tStrReplace 309
377 #define tAbsolutePath 310
384 #define tStrChoice 317
385 #define tUpperCase 318
386 #define tLowerCase 319
387 #define tLowerCaseIn 320
388 #define tTextAttributes 321
389 #define tBoundingBox 322
391 #define tSetChanged 324
393 #define tFixRelativePath 326
394 #define tCurrentDirectory 327
395 #define tCurrentFileName 328
396 #define tSyncModel 329
397 #define tNewModel 330
399 #define tCenterOfMass 332
400 #define tMatrixOfInertia 333
401 #define tOnelabAction 334
402 #define tOnelabRun 335
403 #define tCodeName 336
406 #define tTotalMemory 339
407 #define tCreateTopology 340
408 #define tCreateGeometry 341
409 #define tClassifySurfaces 342
410 #define tRenumberMeshNodes 343
411 #define tRenumberMeshElements 344
412 #define tDistanceFunction 345
413 #define tDefineConstant 346
414 #define tUndefineConstant 347
415 #define tDefineNumber 348
416 #define tDefineStruct 349
417 #define tNameStruct 350
418 #define tDimNameSpace 351
420 #define tDefineString 353
421 #define tSetNumber 354
423 #define tSetString 356
429 #define tPolarSphere 362
434 #define tCylinder 367
437 #define tEllipsoid 370
439 #define tShapeFromFile 372
440 #define tRectangle 373
443 #define tGeoEntity 376
444 #define tCharacteristic 377
446 #define tParametric 379
447 #define tElliptic 380
448 #define tRefineMesh 381
449 #define tRecombineMesh 382
450 #define tAdaptMesh 383
451 #define tTransformMesh 384
452 #define tRelocateMesh 385
453 #define tReorientMesh 386
454 #define tSetFactory 387
455 #define tThruSections 388
461 #define tTransfinite 394
462 #define tPhysical 395
463 #define tCompound 396
464 #define tPeriodic 397
468 #define tDegenerated 401
469 #define tRecursive 402
472 #define tTranslate 405
473 #define tSymmetry 406
476 #define tLevelset 409
478 #define tBooleanUnion 411
479 #define tBooleanIntersection 412
480 #define tBooleanDifference 413
481 #define tBooleanSection 414
482 #define tBooleanFragments 415
483 #define tThickSolid 416
484 #define tRecombine 417
485 #define tSmoother 418
488 #define tCoherence 421
489 #define tHealShapes 422
490 #define tIntersect 423
491 #define tMeshAlgorithm 424
492 #define tReverseMesh 425
493 #define tMeshSize 426
494 #define tMeshSizeFromBoundary 427
496 #define tScaleLast 429
499 #define tAliasWithOptions 432
500 #define tCopyOptions 433
501 #define tQuadTriAddVerts 434
502 #define tQuadTriNoNewVerts 435
503 #define tRecombLaterals 436
504 #define tTransfQuadTri 437
507 #define tInterpolationScheme 440
513 #define tNurbsOrder 446
514 #define tNurbsKnots 447
516 #define tColorTable 449
533 #define tGetValue 466
534 #define tGetStringValue 467
536 #define tGetString 469
537 #define tGetNumber 470
539 #define tSetMaxTag 472
540 #define tHomology 473
541 #define tCohomology 474
544 #define tFileExists 477
545 #define tGetForced 478
546 #define tGetForcedStr 479
547 #define tGMSH_MAJOR_VERSION 480
548 #define tGMSH_MINOR_VERSION 481
549 #define tGMSH_PATCH_VERSION 482
550 #define tGmshExecutableName 483
551 #define tSetPartition 484
552 #define tNameToString 485
553 #define tStringToName 486
554 #define tUnsplitWindow 487
555 #define tAFFECTDIVIDE 488
556 #define tAFFECTTIMES 489
557 #define tAFFECTMINUS 490
558 #define tAFFECTPLUS 491
561 #define tNOTEQUAL 494
563 #define tGREATERGREATER 496
564 #define tLESSLESS 497
565 #define tGREATEROREQUAL 498
566 #define tLESSOREQUAL 499
567 #define UNARYPREC 500
568 #define tMINUSMINUS 501
569 #define tPLUSPLUS 502
589 #include "GmshConfig.h"
609 #if defined(HAVE_MESH)
615 #if defined(HAVE_POST)
620 #if defined(HAVE_PLUGINS)
624 #if defined(HAVE_OPENGL)
628 #if defined(HAVE_FLTK)
632 #if defined(HAVE_POPPLER)
636 #define MAX_RECUR_TESTS 100
637 #define MAX_RECUR_LOOPS 100
649 #if defined(HAVE_POST)
667 static std::map<std::string, std::vector<std::string>>
charOptions;
680 void yymsg(
int level,
const char *fmt, ...);
683 void skipTest(
const char *
skip,
const char *until,
const char *until2,
int l_until2_sub,
int *type_until2);
684 void assignVariable(
const std::string &name,
int index,
int assignType,
double value);
698 void removeEmbedded(
const std::vector<std::pair<int, int>> &dimTags,
int dim);
707 void setVisibility(
const std::vector<std::pair<int, int>> &dimTags,
int visible,
bool recursive);
708 void setColor(
const std::vector<std::pair<int, int>> &dimTags,
unsigned int val,
bool recursive);
734 #ifdef YYERROR_VERBOSE
735 #undef YYERROR_VERBOSE
736 #define YYERROR_VERBOSE 1
738 #define YYERROR_VERBOSE 0
742 #ifndef YYTOKEN_TABLE
743 #define YYTOKEN_TABLE 0
746 #if !defined YYSTYPE && !defined YYSTYPE_IS_DECLARED
760 #line 777 "Gmsh.tab.cpp"
762 #define yystype YYSTYPE
763 #define YYSTYPE_IS_DECLARED 1
764 #define YYSTYPE_IS_TRIVIAL 1
770 #line 790 "Gmsh.tab.cpp"
784 #elif (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
804 #define YYSIZE_T __SIZE_TYPE__
806 #define YYSIZE_T size_t
807 #elif !defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
809 #define YYSIZE_T size_t
811 #define YYSIZE_T unsigned int
815 #define YYSIZE_MAXIMUM ((YYSIZE_T)-1)
818 #if defined YYENABLE_NLS && YYENABLE_NLS
821 #define YY_(msgid) dgettext("bison-runtime", msgid)
825 #define YY_(msgid) msgid
830 #if !defined lint || defined __GNUC__
831 #define YYUSE(e) ((void)(e))
840 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
841 static int YYID(
int i)
843 static int YYID(i)
int i;
850 #if !defined yyoverflow || YYERROR_VERBOSE
854 #ifdef YYSTACK_USE_ALLOCA
855 #if YYSTACK_USE_ALLOCA
857 #define YYSTACK_ALLOC __builtin_alloca
858 #elif defined __BUILTIN_VA_ARG_INCR
861 #define YYSTACK_ALLOC __alloca
862 #elif defined _MSC_VER
864 #define alloca _alloca
866 #define YYSTACK_ALLOC alloca
867 #if !defined _ALLOCA_H && !defined _STDLIB_H && \
868 (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
880 #define YYSTACK_FREE(Ptr) \
885 #ifndef YYSTACK_ALLOC_MAXIMUM
890 #define YYSTACK_ALLOC_MAXIMUM 4032
893 #define YYSTACK_ALLOC YYMALLOC
894 #define YYSTACK_FREE YYFREE
895 #ifndef YYSTACK_ALLOC_MAXIMUM
896 #define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
898 #if (defined __cplusplus && !defined _STDLIB_H && \
899 !((defined YYMALLOC || defined malloc) && (defined YYFREE || defined free)))
906 #define YYMALLOC malloc
907 #if !defined malloc && !defined _STDLIB_H && \
908 (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
914 #if !defined free && !defined _STDLIB_H && \
915 (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
922 #if (!defined yyoverflow && (!defined __cplusplus || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
932 #define YYSTACK_GAP_MAXIMUM (sizeof(union yyalloc) - 1)
936 #define YYSTACK_BYTES(N) ((N) * (sizeof(yytype_int16) + sizeof(YYSTYPE)) + YYSTACK_GAP_MAXIMUM)
941 #if defined __GNUC__ && 1 < __GNUC__
942 #define YYCOPY(To, From, Count) __builtin_memcpy(To, From, (Count) * sizeof(*(From)))
944 #define YYCOPY(To, From, Count) \
948 for (yyi = 0; yyi < (Count); yyi++) \
949 (To)[yyi] = (From)[yyi]; \
959 #define YYSTACK_RELOCATE(Stack) \
962 YYSIZE_T yynewbytes; \
963 YYCOPY(&yyptr->Stack, Stack, yysize); \
964 Stack = &yyptr->Stack; \
965 yynewbytes = yystacksize * sizeof(*Stack) + YYSTACK_GAP_MAXIMUM; \
966 yyptr += yynewbytes / sizeof(*yyptr); \
977 #define YYNTOKENS 270
983 #define YYNSTATES 2296
987 #define YYMAXUTOK 502
989 #define YYTRANSLATE(YYX) ((unsigned int)(YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
993 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
994 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 255, 2, 267, 2, 252, 254, 2, 260, 261, 250, 248, 269, 249,
995 266, 251, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 242, 2, 243, 237, 2, 2, 2, 2, 2,
996 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 262,
997 2, 263, 259, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
998 2, 2, 2, 2, 2, 2, 2, 2, 264, 253, 265, 268, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
999 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1000 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1001 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1002 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1003 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1004 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1005 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1006 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1007 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1008 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1009 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1010 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1011 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1012 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1013 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1014 228, 229, 230, 231, 232, 233, 234, 235, 236, 238, 239, 240, 241, 244, 245, 246, 247, 256, 257, 258};
1020 0, 0, 3, 5, 8, 9, 12, 14, 16, 18, 24, 26, 28, 30, 32, 34, 36, 38, 40,
1021 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 66, 72, 78, 86, 94, 102, 110, 120, 127,
1022 134, 141, 150, 151, 154, 157, 160, 163, 166, 169, 171, 175, 177, 181, 182, 183, 194, 196, 200,
1023 201, 215, 217, 221, 222, 238, 247, 262, 263, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288,
1024 290, 292, 294, 296, 298, 300, 302, 308, 314, 317, 325, 333, 338, 342, 349, 359, 367, 374, 382,
1025 389, 394, 403, 413, 423, 430, 440, 447, 457, 463, 472, 481, 493, 500, 510, 516, 524, 534, 544,
1026 556, 564, 574, 584, 585, 587, 588, 592, 598, 599, 609, 610, 622, 628, 629, 639, 640, 644, 648,
1027 654, 660, 661, 664, 665, 667, 669, 673, 676, 679, 682, 684, 689, 692, 695, 696, 699, 701, 705,
1028 708, 711, 714, 717, 720, 722, 724, 728, 729, 735, 741, 747, 748, 751, 752, 755, 763, 771, 779,
1029 790, 801, 810, 819, 827, 835, 847, 855, 864, 873, 882, 892, 901, 910, 914, 919, 930, 938, 946,
1030 954, 962, 970, 978, 986, 994, 1002, 1010, 1020, 1028, 1036, 1045, 1054, 1067, 1068, 1078, 1080, 1082, 1084,
1031 1086, 1091, 1093, 1095, 1097, 1102, 1104, 1106, 1111, 1113, 1115, 1117, 1122, 1128, 1140, 1146, 1156, 1166, 1174,
1032 1179, 1189, 1200, 1210, 1212, 1214, 1215, 1218, 1225, 1233, 1241, 1248, 1256, 1265, 1276, 1291, 1308, 1321, 1336,
1033 1351, 1366, 1381, 1390, 1399, 1406, 1411, 1417, 1423, 1430, 1437, 1441, 1446, 1450, 1456, 1463, 1469, 1474, 1478,
1034 1483, 1487, 1492, 1498, 1503, 1509, 1513, 1519, 1527, 1535, 1539, 1542, 1550, 1554, 1557, 1560, 1563, 1566, 1569,
1035 1585, 1588, 1591, 1599, 1602, 1612, 1624, 1627, 1632, 1635, 1638, 1641, 1644, 1661, 1667, 1676, 1688, 1695, 1704,
1036 1713, 1724, 1726, 1729, 1732, 1734, 1738, 1742, 1747, 1752, 1754, 1756, 1762, 1774, 1788, 1789, 1797, 1798, 1812,
1037 1813, 1829, 1830, 1837, 1847, 1850, 1854, 1865, 1879, 1881, 1884, 1890, 1898, 1901, 1904, 1908, 1911, 1915, 1918,
1038 1922, 1932, 1939, 1941, 1943, 1945, 1947, 1949, 1950, 1953, 1957, 1961, 1966, 1976, 1981, 1996, 1997, 2001, 2002,
1039 2004, 2005, 2008, 2009, 2012, 2013, 2016, 2022, 2029, 2037, 2044, 2050, 2054, 2063, 2070, 2079, 2088, 2094, 2099,
1040 2106, 2118, 2130, 2149, 2168, 2181, 2194, 2207, 2218, 2223, 2228, 2233, 2238, 2243, 2250, 2253, 2257, 2264, 2267,
1041 2269, 2271, 2273, 2276, 2282, 2290, 2301, 2303, 2307, 2310, 2313, 2316, 2320, 2324, 2328, 2332, 2336, 2340, 2344,
1042 2348, 2352, 2356, 2360, 2364, 2368, 2372, 2376, 2380, 2384, 2388, 2394, 2399, 2404, 2409, 2414, 2419, 2424, 2429,
1043 2434, 2439, 2444, 2451, 2456, 2461, 2466, 2471, 2476, 2481, 2486, 2491, 2498, 2505, 2512, 2517, 2524, 2531, 2533,
1044 2535, 2537, 2539, 2541, 2543, 2545, 2547, 2549, 2551, 2553, 2554, 2561, 2563, 2568, 2575, 2577, 2582, 2587, 2592,
1045 2599, 2605, 2613, 2622, 2633, 2638, 2643, 2650, 2655, 2659, 2662, 2668, 2674, 2678, 2684, 2691, 2700, 2707, 2716,
1046 2723, 2728, 2736, 2743, 2750, 2757, 2762, 2769, 2774, 2775, 2778, 2779, 2782, 2783, 2791, 2793, 2797, 2799, 2802,
1047 2803, 2807, 2809, 2812, 2815, 2819, 2823, 2835, 2845, 2853, 2861, 2863, 2867, 2869, 2871, 2874, 2878, 2883, 2889,
1048 2891, 2895, 2897, 2900, 2904, 2908, 2914, 2919, 2924, 2927, 2932, 2935, 2939, 2943, 2948, 2954, 2960, 2966, 2972,
1049 2978, 2980, 2982, 2984, 2988, 2994, 3002, 3007, 3012, 3017, 3024, 3031, 3040, 3049, 3054, 3069, 3074, 3079, 3081,
1050 3083, 3087, 3091, 3101, 3109, 3111, 3117, 3121, 3128, 3130, 3134, 3136, 3138, 3143, 3148, 3152, 3158, 3165, 3174,
1051 3181, 3186, 3192, 3194, 3199, 3201, 3203, 3205, 3207, 3212, 3219, 3224, 3231, 3237, 3245, 3250, 3255, 3260, 3269,
1052 3274, 3279, 3284, 3289, 3298, 3307, 3314, 3319, 3326, 3331, 3333, 3335, 3340, 3345, 3346, 3353, 3358, 3361, 3366,
1053 3371, 3373, 3375, 3379, 3381, 3383, 3387, 3391, 3395, 3401, 3409, 3415, 3421, 3430, 3432, 3434};
1057 271, 0, -1, 272, -1, 1, 6, -1, -1, 272, 273, -1, 275, -1, 276, -1, 297, -1, 132, 260, 373, 261, 6,
1058 -1, 316, -1, 322, -1, 326, -1, 327, -1, 328, -1, 329, -1, 333, -1, 342, -1, 343, -1, 349, -1, 350, -1,
1059 332, -1, 331, -1, 330, -1, 325, -1, 352, -1, 243, -1, 244, -1, 46, 260, 373, 261, 6, -1, 48, 260, 373,
1060 261, 6, -1, 47, 260, 373, 261, 6, -1, 46, 260, 373, 261, 274, 373, 6, -1, 46, 260, 373, 269, 369, 261,
1061 6, -1, 48, 260, 373, 269, 369, 261, 6, -1, 47, 260, 373, 269, 369, 261, 6, -1, 46, 260, 373, 269, 369,
1062 261, 274, 373, 6, -1, 383, 373, 264, 277, 265, 6, -1, 176, 4, 262, 353, 263, 6, -1, 177, 4, 262, 353,
1063 263, 6, -1, 178, 4, 262, 353, 269, 353, 263, 6, -1, -1, 277, 280, -1, 277, 284, -1, 277, 287, -1, 277,
1064 289, -1, 277, 290, -1, 277, 332, -1, 353, -1, 278, 269, 353, -1, 353, -1, 279, 269, 353, -1, -1, -1, 4,
1065 281, 260, 278, 261, 282, 264, 279, 265, 6, -1, 373, -1, 283, 269, 373, -1, -1, 183, 260, 353, 269, 353, 269,
1066 353, 261, 285, 264, 283, 265, 6, -1, 373, -1, 286, 269, 373, -1, -1, 184, 260, 353, 269, 353, 269, 353, 269,
1067 353, 261, 288, 264, 286, 265, 6, -1, 185, 264, 365, 265, 264, 365, 265, 6, -1, 185, 264, 365, 265, 264, 365,
1068 265, 264, 365, 265, 264, 365, 265, 6, -1, -1, 186, 291, 264, 279, 265, 6, -1, 7, -1, 236, -1, 235, -1,
1069 234, -1, 233, -1, 258, -1, 257, -1, 260, -1, 262, -1, 261, -1, 263, -1, 4, -1, 36, -1, 37, -1, 111,
1070 -1, 112, -1, 91, 262, 299, 263, 6, -1, 92, 262, 303, 263, 6, -1, 358, 6, -1, 99, 294, 374, 269, 353,
1071 295, 6, -1, 101, 294, 374, 269, 374, 295, 6, -1, 383, 292, 366, 6, -1, 383, 293, 6, -1, 383, 294, 295,
1072 292, 366, 6, -1, 383, 294, 264, 369, 265, 295, 292, 366, 6, -1, 383, 262, 353, 263, 292, 353, 6, -1, 383,
1073 262, 353, 263, 293, 6, -1, 383, 260, 353, 261, 292, 353, 6, -1, 383, 260, 353, 261, 293, 6, -1, 383, 7,
1074 374, 6, -1, 383, 294, 295, 7, 49, 294, 295, 6, -1, 383, 294, 295, 7, 49, 294, 378, 295, 6, -1, 383,
1075 294, 295, 236, 49, 294, 378, 295, 6, -1, 383, 266, 296, 7, 374, 6, -1, 383, 262, 353, 263, 266, 296, 7,
1076 374, 6, -1, 383, 266, 296, 292, 353, 6, -1, 383, 262, 353, 263, 266, 296, 292, 353, 6, -1, 383, 266, 296,
1077 293, 6, -1, 383, 262, 353, 263, 266, 296, 293, 6, -1, 383, 266, 193, 266, 296, 7, 370, 6, -1, 383, 262,
1078 353, 263, 266, 193, 266, 296, 7, 370, 6, -1, 383, 266, 194, 7, 371, 6, -1, 383, 262, 353, 263, 266, 194,
1079 7, 371, 6, -1, 383, 204, 7, 366, 6, -1, 204, 262, 353, 263, 7, 296, 6, -1, 204, 262, 353, 263, 266,
1080 296, 7, 353, 6, -1, 204, 262, 353, 263, 266, 296, 7, 374, 6, -1, 204, 262, 353, 263, 266, 296, 7, 264,
1081 369, 265, 6, -1, 204, 262, 353, 263, 266, 296, 6, -1, 145, 260, 4, 261, 266, 296, 7, 353, 6, -1, 145,
1082 260, 4, 261, 266, 296, 7, 374, 6, -1, -1, 269, -1, -1, 299, 298, 383, -1, 299, 298, 383, 7, 353, -1,
1083 -1, 299, 298, 383, 7, 264, 366, 300, 305, 265, -1, -1, 299, 298, 383, 294, 295, 7, 264, 366, 301, 305, 265,
1084 -1, 299, 298, 383, 7, 374, -1, -1, 299, 298, 383, 7, 264, 374, 302, 309, 265, -1, -1, 303, 298, 373, -1,
1085 353, 7, 374, -1, 304, 269, 353, 7, 374, -1, 368, 7, 383, 260, 261, -1, -1, 269, 307, -1, -1, 307, -1,
1086 308, -1, 307, 269, 308, -1, 4, 366, -1, 36, 353, -1, 37, 353, -1, 4, -1, 4, 264, 304, 265, -1, 4,
1087 374, -1, 4, 377, -1, -1, 269, 310, -1, 311, -1, 310, 269, 311, -1, 4, 353, -1, 4, 374, -1, 208, 374,
1088 -1, 4, 379, -1, 4, 377, -1, 353, -1, 374, -1, 374, 269, 353, -1, -1, 196, 106, 264, 353, 265, -1, 144,
1089 102, 264, 369, 265, -1, 144, 121, 264, 369, 265, -1, -1, 137, 363, -1, -1, 144, 148, -1, 102, 260, 353, 261,
1090 7, 363, 6, -1, 105, 260, 353, 261, 7, 366, 6, -1, 109, 260, 353, 261, 7, 366, 6, -1, 141, 109, 260,
1091 353, 261, 7, 366, 144, 353, 6, -1, 141, 188, 260, 353, 261, 7, 366, 144, 353, 6, -1, 103, 260, 353, 261,
1092 7, 366, 314, 6, -1, 104, 260, 353, 261, 7, 366, 314, 6, -1, 188, 260, 353, 261, 7, 366, 6, -1, 189,
1093 260, 353, 261, 7, 366, 6, -1, 190, 260, 353, 261, 7, 366, 192, 366, 191, 353, 6, -1, 120, 260, 353, 261,
1094 7, 366, 6, -1, 105, 4, 260, 353, 261, 7, 366, 6, -1, 137, 108, 260, 353, 261, 7, 366, 6, -1, 108,
1095 260, 353, 261, 7, 366, 313, 6, -1, 138, 108, 260, 353, 261, 7, 366, 313, 6, -1, 188, 108, 260, 353, 261,
1096 7, 366, 6, -1, 189, 108, 260, 353, 261, 7, 366, 6, -1, 13, 14, 6, -1, 14, 108, 353, 6, -1, 124,
1097 108, 260, 353, 261, 7, 5, 5, 5, 6, -1, 106, 260, 353, 261, 7, 366, 6, -1, 107, 260, 353, 261, 7,
1098 366, 6, -1, 111, 260, 353, 261, 7, 366, 6, -1, 114, 260, 353, 261, 7, 366, 6, -1, 118, 260, 353, 261,
1099 7, 366, 6, -1, 119, 260, 353, 261, 7, 366, 6, -1, 112, 260, 353, 261, 7, 366, 6, -1, 113, 260, 353,
1100 261, 7, 366, 6, -1, 134, 260, 353, 261, 7, 366, 6, -1, 161, 260, 353, 261, 7, 366, 6, -1, 108, 4,
1101 260, 353, 261, 7, 366, 315, 6, -1, 110, 260, 353, 261, 7, 366, 6, -1, 133, 260, 353, 261, 7, 366, 6,
1102 -1, 138, 133, 260, 353, 261, 7, 366, 6, -1, 141, 319, 260, 353, 261, 7, 366, 6, -1, 141, 319, 260, 353,
1103 261, 7, 366, 4, 264, 365, 265, 6, -1, -1, 140, 318, 317, 260, 312, 261, 292, 366, 6, -1, 102, -1, 105,
1104 -1, 108, -1, 110, -1, 121, 264, 353, 265, -1, 105, -1, 108, -1, 110, -1, 121, 264, 353, 265, -1, 105, -1,
1105 108, -1, 121, 264, 353, 265, -1, 102, -1, 105, -1, 108, -1, 121, 264, 353, 265, -1, 150, 363, 264, 323, 265,
1106 -1, 149, 264, 363, 269, 363, 269, 353, 265, 264, 323, 265, -1, 151, 363, 264, 323, 265, -1, 152, 264, 363, 269,
1107 353, 265, 264, 323, 265, -1, 152, 264, 363, 269, 363, 265, 264, 323, 265, -1, 155, 264, 369, 265, 264, 323, 265,
1108 -1, 4, 264, 323, 265, -1, 168, 105, 264, 369, 265, 108, 264, 353, 265, -1, 164, 105, 264, 353, 265, 102, 264,
1109 369, 265, 6, -1, 164, 105, 260, 353, 261, 264, 369, 265, 6, -1, 324, -1, 322, -1, -1, 324, 316, -1, 324,
1110 318, 264, 369, 265, 6, -1, 324, 140, 318, 264, 369, 265, 6, -1, 324, 143, 318, 264, 369, 265, 6, -1, 324,
1111 318, 264, 8, 265, 6, -1, 324, 140, 318, 264, 8, 265, 6, -1, 154, 137, 260, 353, 261, 7, 366, 6, -1,
1112 154, 102, 260, 353, 261, 7, 264, 365, 265, 6, -1, 154, 137, 260, 353, 261, 7, 264, 363, 269, 363, 269, 369,
1113 265, 6, -1, 154, 137, 260, 353, 261, 7, 264, 363, 269, 363, 269, 363, 269, 369, 265, 6, -1, 154, 106, 260,
1114 353, 261, 7, 264, 363, 269, 369, 265, 6, -1, 154, 112, 260, 353, 261, 7, 264, 363, 269, 363, 269, 369, 265,
1115 6, -1, 154, 113, 260, 353, 261, 7, 264, 363, 269, 363, 269, 369, 265, 6, -1, 154, 115, 260, 353, 261, 7,
1116 264, 363, 269, 363, 269, 369, 265, 6, -1, 154, 116, 260, 353, 261, 7, 264, 363, 269, 363, 269, 369, 265, 6,
1117 -1, 154, 4, 260, 353, 261, 7, 366, 6, -1, 154, 4, 260, 353, 261, 7, 5, 6, -1, 154, 4, 264, 353,
1118 265, 6, -1, 165, 264, 324, 265, -1, 147, 165, 264, 324, 265, -1, 165, 4, 264, 324, 265, -1, 165, 204, 262,
1119 353, 263, 6, -1, 165, 4, 262, 353, 263, 6, -1, 165, 383, 6, -1, 165, 4, 4, 6, -1, 165, 94, 6,
1120 -1, 193, 370, 264, 324, 265, -1, 147, 193, 370, 264, 324, 265, -1, 229, 353, 264, 324, 265, -1, 209, 264, 8,
1121 265, -1, 209, 5, 6, -1, 210, 264, 8, 265, -1, 210, 5, 6, -1, 209, 264, 324, 265, -1, 147, 209, 264,
1122 324, 265, -1, 210, 264, 324, 265, -1, 147, 210, 264, 324, 265, -1, 383, 374, 6, -1, 80, 260, 380, 261, 6,
1123 -1, 383, 383, 262, 353, 263, 373, 6, -1, 383, 383, 383, 262, 353, 263, 6, -1, 383, 353, 6, -1, 232, 6,
1124 -1, 145, 260, 4, 261, 266, 4, 6, -1, 187, 4, 6, -1, 202, 6, -1, 203, 6, -1, 74, 6, -1, 75,
1125 6, -1, 67, 6, -1, 67, 264, 353, 269, 353, 269, 353, 269, 353, 269, 353, 269, 353, 265, 6, -1, 68, 6,
1126 -1, 69, 6, -1, 85, 264, 353, 269, 353, 265, 6, -1, 85, 6, -1, 87, 264, 353, 269, 353, 269, 353, 265,
1127 6, -1, 87, 264, 353, 269, 353, 269, 353, 269, 353, 265, 6, -1, 86, 6, -1, 86, 264, 324, 265, -1, 88,
1128 6, -1, 89, 6, -1, 126, 6, -1, 127, 6, -1, 128, 264, 369, 265, 264, 369, 265, 264, 365, 265, 264, 353,
1129 269, 353, 265, 6, -1, 129, 264, 369, 265, 6, -1, 129, 264, 369, 265, 264, 323, 265, 6, -1, 207, 260, 264,
1130 369, 265, 269, 374, 269, 374, 261, 6, -1, 195, 260, 353, 8, 353, 261, -1, 195, 260, 353, 8, 353, 8, 353,
1131 261, -1, 195, 4, 196, 264, 353, 8, 353, 265, -1, 195, 4, 196, 264, 353, 8, 353, 8, 353, 265, -1, 197,
1132 -1, 208, 4, -1, 208, 374, -1, 205, -1, 206, 383, 6, -1, 206, 374, 6, -1, 198, 260, 353, 261, -1, 199,
1133 260, 353, 261, -1, 200, -1, 201, -1, 153, 363, 264, 324, 265, -1, 153, 264, 363, 269, 363, 269, 353, 265, 264,
1134 324, 265, -1, 153, 264, 363, 269, 363, 269, 363, 269, 353, 265, 264, 324, 265, -1, -1, 153, 363, 264, 324, 334,
1135 338, 265, -1, -1, 153, 264, 363, 269, 363, 269, 353, 265, 264, 324, 335, 338, 265, -1, -1, 153, 264, 363, 269,
1136 363, 269, 363, 269, 353, 265, 264, 324, 336, 338, 265, -1, -1, 153, 264, 324, 337, 338, 265, -1, 153, 264, 324,
1137 265, 144, 120, 264, 353, 265, -1, 133, 366, -1, 138, 133, 366, -1, 135, 264, 369, 265, 264, 369, 265, 264, 369,
1138 265, -1, 136, 264, 369, 265, 264, 369, 265, 264, 369, 265, 264, 369, 265, -1, 339, -1, 338, 339, -1, 173, 264,
1139 353, 265, 6, -1, 173, 264, 366, 269, 366, 265, 6, -1, 174, 6, -1, 162, 6, -1, 162, 353, 6, -1, 179,
1140 6, -1, 179, 181, 6, -1, 180, 6, -1, 180, 181, 6, -1, 175, 260, 353, 261, 7, 366, 144, 353, 6, -1,
1141 144, 4, 262, 353, 263, 6, -1, 156, -1, 157, -1, 158, -1, 159, -1, 160, -1, -1, 165, 6, -1, 147, 165,
1142 6, -1, 165, 353, 6, -1, 147, 165, 353, 6, -1, 340, 264, 324, 341, 265, 264, 324, 341, 265, -1, 117, 260,
1143 373, 261, -1, 340, 260, 353, 261, 7, 264, 324, 341, 265, 264, 324, 341, 265, 6, -1, -1, 144, 4, 353, -1,
1144 -1, 4, -1, -1, 7, 366, -1, -1, 7, 353, -1, -1, 155, 366, -1, 171, 367, 7, 353, 6, -1, 122, 123,
1145 367, 7, 353, 6, -1, 139, 105, 367, 7, 353, 344, 6, -1, 139, 108, 367, 346, 345, 6, -1, 139, 110, 367,
1146 346, 6, -1, 182, 367, 6, -1, 100, 318, 260, 353, 269, 353, 261, 6, -1, 217, 318, 260, 353, 261, 6, -1,
1147 169, 108, 264, 369, 265, 7, 353, 6, -1, 172, 108, 264, 369, 265, 7, 353, 6, -1, 162, 108, 367, 347, 6,
1148 -1, 162, 110, 367, 6, -1, 163, 108, 367, 7, 353, 6, -1, 142, 105, 264, 369, 265, 7, 264, 369, 265, 348,
1149 6, -1, 142, 108, 264, 369, 265, 7, 264, 369, 265, 348, 6, -1, 142, 105, 264, 369, 265, 7, 264, 369, 265,
1150 149, 264, 363, 269, 363, 269, 353, 265, 6, -1, 142, 108, 264, 369, 265, 7, 264, 369, 265, 149, 264, 363, 269,
1151 363, 269, 353, 265, 6, -1, 142, 105, 264, 369, 265, 7, 264, 369, 265, 150, 363, 6, -1, 142, 108, 264, 369,
1152 265, 7, 264, 369, 265, 150, 363, 6, -1, 142, 108, 353, 264, 369, 265, 7, 353, 264, 369, 265, 6, -1, 318,
1153 264, 369, 265, 196, 318, 264, 353, 265, 6, -1, 170, 320, 367, 6, -1, 130, 321, 367, 6, -1, 131, 110, 366,
1154 6, -1, 146, 105, 366, 6, -1, 141, 319, 366, 6, -1, 141, 319, 366, 169, 353, 6, -1, 166, 6, -1, 166,
1155 4, 6, -1, 166, 102, 264, 369, 265, 6, -1, 167, 6, -1, 218, -1, 219, -1, 220, -1, 351, 6, -1, 351,
1156 264, 366, 265, 6, -1, 351, 264, 366, 269, 366, 265, 6, -1, 351, 260, 366, 261, 264, 366, 269, 366, 265, 6,
1157 -1, 354, -1, 260, 353, 261, -1, 249, 353, -1, 248, 353, -1, 255, 353, -1, 353, 249, 353, -1, 353, 248, 353,
1158 -1, 353, 250, 353, -1, 353, 251, 353, -1, 353, 253, 353, -1, 353, 254, 353, -1, 353, 252, 353, -1, 353, 259,
1159 353, -1, 353, 242, 353, -1, 353, 243, 353, -1, 353, 247, 353, -1, 353, 246, 353, -1, 353, 241, 353, -1, 353,
1160 240, 353, -1, 353, 239, 353, -1, 353, 238, 353, -1, 353, 244, 353, -1, 353, 245, 353, -1, 353, 237, 353, 8,
1161 353, -1, 16, 294, 353, 295, -1, 17, 294, 353, 295, -1, 18, 294, 353, 295, -1, 19, 294, 353, 295, -1, 20,
1162 294, 353, 295, -1, 21, 294, 353, 295, -1, 22, 294, 353, 295, -1, 23, 294, 353, 295, -1, 24, 294, 353, 295,
1163 -1, 26, 294, 353, 295, -1, 27, 294, 353, 269, 353, 295, -1, 28, 294, 353, 295, -1, 29, 294, 353, 295, -1,
1164 30, 294, 353, 295, -1, 31, 294, 353, 295, -1, 32, 294, 353, 295, -1, 33, 294, 353, 295, -1, 34, 294, 353,
1165 295, -1, 35, 294, 353, 295, -1, 38, 294, 353, 269, 353, 295, -1, 39, 294, 353, 269, 353, 295, -1, 40, 294,
1166 353, 269, 353, 295, -1, 25, 294, 353, 295, -1, 37, 294, 353, 269, 353, 295, -1, 36, 294, 353, 269, 353, 295,
1167 -1, 3, -1, 10, -1, 15, -1, 11, -1, 12, -1, 225, -1, 226, -1, 227, -1, 82, -1, 83, -1, 84, -1,
1168 -1, 93, 294, 353, 355, 305, 295, -1, 358, -1, 215, 294, 373, 295, -1, 215, 294, 373, 269, 353, 295, -1, 360,
1169 -1, 383, 262, 353, 263, -1, 383, 260, 353, 261, -1, 221, 260, 360, 261, -1, 221, 260, 360, 266, 296, 261, -1,
1170 223, 260, 360, 356, 261, -1, 223, 260, 360, 266, 296, 356, 261, -1, 223, 260, 360, 294, 353, 295, 356, 261, -1,
1171 223, 260, 360, 266, 296, 294, 353, 295, 356, 261, -1, 222, 260, 374, 261, -1, 267, 383, 294, 295, -1, 267, 360,
1172 266, 296, 294, 295, -1, 96, 294, 383, 295, -1, 96, 294, 295, -1, 383, 293, -1, 383, 262, 353, 263, 293, -1,
1173 383, 260, 353, 261, 293, -1, 383, 266, 296, -1, 383, 9, 383, 266, 296, -1, 383, 266, 296, 260, 353, 261, -1,
1174 383, 9, 383, 266, 296, 260, 353, 261, -1, 383, 266, 296, 262, 353, 263, -1, 383, 9, 383, 266, 296, 262, 353,
1175 263, -1, 383, 262, 353, 263, 266, 296, -1, 383, 266, 296, 293, -1, 383, 262, 353, 263, 266, 296, 293, -1, 211,
1176 260, 373, 269, 353, 261, -1, 59, 260, 366, 269, 366, 261, -1, 60, 294, 373, 269, 373, 295, -1, 58, 294, 373,
1177 295, -1, 61, 294, 373, 269, 373, 295, -1, 66, 260, 380, 261, -1, -1, 269, 353, -1, -1, 269, 373, -1, -1,
1178 94, 360, 362, 359, 262, 306, 263, -1, 383, -1, 383, 9, 383, -1, 97, -1, 97, 353, -1, -1, 260, 361, 261,
1179 -1, 364, -1, 249, 363, -1, 248, 363, -1, 363, 249, 363, -1, 363, 248, 363, -1, 264, 353, 269, 353, 269, 353,
1180 269, 353, 269, 353, 265, -1, 264, 353, 269, 353, 269, 353, 269, 353, 265, -1, 264, 353, 269, 353, 269, 353, 265,
1181 -1, 260, 353, 269, 353, 269, 353, 261, -1, 366, -1, 365, 269, 366, -1, 353, -1, 368, -1, 264, 265, -1, 264,
1182 369, 265, -1, 249, 264, 369, 265, -1, 353, 250, 264, 369, 265, -1, 366, -1, 264, 8, 265, -1, 5, -1, 249,
1183 368, -1, 353, 250, 368, -1, 353, 8, 353, -1, 353, 8, 353, 8, 353, -1, 102, 264, 353, 265, -1, 102, 264,
1184 8, 265, -1, 102, 5, -1, 319, 264, 8, 265, -1, 319, 5, -1, 140, 318, 367, -1, 143, 318, 366, -1, 318,
1185 196, 67, 366, -1, 67, 318, 264, 369, 265, -1, 76, 319, 264, 353, 265, -1, 77, 319, 264, 353, 265, -1, 78,
1186 319, 264, 353, 265, -1, 193, 319, 264, 353, 265, -1, 322, -1, 333, -1, 342, -1, 383, 294, 295, -1, 383, 266,
1187 296, 294, 295, -1, 383, 9, 383, 266, 296, 294, 295, -1, 41, 262, 383, 263, -1, 41, 262, 368, 263, -1, 41,
1188 260, 368, 261, -1, 41, 294, 264, 369, 265, 295, -1, 383, 294, 264, 369, 265, 295, -1, 42, 294, 353, 269, 353,
1189 269, 353, 295, -1, 43, 294, 353, 269, 353, 269, 353, 295, -1, 44, 294, 373, 295, -1, 45, 294, 353, 269, 353,
1190 269, 353, 269, 353, 269, 353, 269, 353, 295, -1, 216, 294, 368, 295, -1, 32, 294, 368, 295, -1, 353, -1, 368,
1191 -1, 369, 269, 353, -1, 369, 269, 368, -1, 264, 353, 269, 353, 269, 353, 269, 353, 265, -1, 264, 353, 269, 353,
1192 269, 353, 265, -1, 383, -1, 4, 266, 193, 266, 4, -1, 264, 372, 265, -1, 383, 262, 353, 263, 266, 194, -1,
1193 370, -1, 372, 269, 370, -1, 374, -1, 383, -1, 383, 262, 353, 263, -1, 383, 260, 353, 261, -1, 383, 266, 296,
1194 -1, 383, 9, 383, 266, 296, -1, 383, 266, 296, 260, 353, 261, -1, 383, 9, 383, 266, 296, 260, 353, 261, -1,
1195 383, 262, 353, 263, 266, 4, -1, 318, 264, 353, 265, -1, 140, 318, 264, 353, 265, -1, 5, -1, 230, 262, 383,
1196 263, -1, 70, -1, 228, -1, 79, -1, 81, -1, 213, 260, 373, 261, -1, 212, 260, 373, 269, 373, 261, -1, 214,
1197 294, 373, 295, -1, 214, 294, 373, 269, 373, 295, -1, 224, 260, 360, 357, 261, -1, 224, 260, 360, 266, 296, 357,
1198 261, -1, 51, 294, 380, 295, -1, 52, 260, 373, 261, -1, 53, 260, 373, 261, -1, 54, 260, 373, 269, 373, 269,
1199 373, 261, -1, 49, 294, 380, 295, -1, 63, 294, 373, 295, -1, 64, 294, 373, 295, -1, 65, 294, 373, 295, -1,
1200 62, 294, 353, 269, 373, 269, 373, 295, -1, 57, 294, 373, 269, 353, 269, 353, 295, -1, 57, 294, 373, 269, 353,
1201 295, -1, 50, 294, 373, 295, -1, 50, 294, 373, 269, 369, 295, -1, 71, 294, 373, 295, -1, 72, -1, 73, -1,
1202 56, 294, 373, 295, -1, 55, 294, 373, 295, -1, -1, 98, 294, 374, 375, 309, 295, -1, 95, 294, 376, 295, -1,
1203 267, 353, -1, 383, 9, 267, 353, -1, 49, 294, 379, 295, -1, 380, -1, 379, -1, 264, 380, 265, -1, 373, -1,
1204 381, -1, 380, 269, 373, -1, 380, 269, 381, -1, 383, 260, 261, -1, 383, 266, 296, 260, 261, -1, 383, 9, 383,
1205 266, 296, 260, 261, -1, 4, 268, 264, 353, 265, -1, 382, 268, 264, 353, 265, -1, 231, 262, 373, 263, 268, 264,
1206 353, 265, -1, 4, -1, 382, -1, 231, 262, 373, 263, -1};
1210 0, 275, 275, 276, 281, 283, 287, 288, 289, 290, 319, 320, 321, 322, 323, 324, 325, 326, 327,
1211 328, 329, 330, 331, 332, 333, 334, 338, 342, 349, 354, 359, 364, 378, 391, 404, 417, 445, 459,
1212 472, 485, 504, 509, 510, 511, 512, 513, 514, 518, 520, 525, 527, 533, 637, 532, 655, 662, 673,
1213 672, 690, 697, 708, 707, 724, 741, 764, 763, 777, 778, 779, 780, 781, 785, 786, 792, 792, 794,
1214 794, 799, 800, 801, 802, 803, 809, 810, 811, 812, 817, 823, 884, 899, 927, 937, 942, 950, 955,
1215 963, 972, 977, 989, 1006, 1012, 1021, 1039, 1057, 1066, 1078, 1083, 1091, 1111, 1134, 1154, 1162, 1179, 1197,
1216 1235, 1256, 1268, 1282, 1282, 1284, 1286, 1295, 1305, 1304, 1325, 1324, 1342, 1352, 1351, 1365, 1367, 1375, 1381,
1217 1386, 1413, 1415, 1418, 1420, 1424, 1425, 1429, 1441, 1445, 1449, 1462, 1476, 1484, 1497, 1499, 1503, 1504, 1509,
1218 1517, 1526, 1534, 1548, 1566, 1570, 1577, 1586, 1589, 1595, 1599, 1611, 1614, 1621, 1624, 1630, 1653, 1669, 1685,
1219 1702, 1719, 1756, 1800, 1816, 1832, 1864, 1880, 1897, 1913, 1963, 1981, 2002, 2023, 2029, 2035, 2042, 2073, 2088,
1220 2110, 2133, 2156, 2179, 2203, 2227, 2251, 2277, 2294, 2310, 2328, 2346, 2358, 2372, 2371, 2401, 2403, 2405, 2407,
1221 2409, 2417, 2419, 2421, 2423, 2431, 2433, 2435, 2443, 2445, 2447, 2449, 2459, 2475, 2491, 2507, 2523, 2539, 2556,
1222 2593, 2614, 2635, 2661, 2662, 2667, 2670, 2674, 2691, 2711, 2731, 2750, 2777, 2796, 2817, 2832, 2848, 2866, 2917,
1223 2938, 2960, 2983, 3088, 3104, 3139, 3164, 3189, 3201, 3207, 3222, 3253, 3265, 3274, 3281, 3293, 3313, 3317, 3322,
1224 3326, 3331, 3338, 3345, 3352, 3364, 3437, 3455, 3480, 3495, 3544, 3550, 3562, 3594, 3598, 3603, 3610, 3615, 3625,
1225 3630, 3636, 3644, 3655, 3663, 3667, 3671, 3675, 3682, 3686, 3690, 3702, 3711, 3770, 3790, 3816, 3832, 3849, 3866,
1226 3888, 3910, 3945, 3953, 3961, 3967, 3974, 3981, 4001, 4027, 4039, 4050, 4068, 4086, 4105, 4104, 4129, 4128, 4155,
1227 4154, 4179, 4178, 4201, 4217, 4234, 4251, 4274, 4302, 4305, 4311, 4323, 4343, 4347, 4351, 4355, 4359, 4363, 4367,
1228 4371, 4380, 4393, 4394, 4395, 4396, 4397, 4401, 4402, 4403, 4404, 4405, 4408, 4432, 4451, 4474, 4477, 4495, 4498,
1229 4515, 4518, 4524, 4527, 4534, 4537, 4544, 4567, 4586, 4627, 4671, 4710, 4735, 4742, 4753, 4770, 4787, 4817, 4843,
1230 4869, 4901, 4929, 4955, 4981, 5007, 5033, 5055, 5067, 5115, 5169, 5184, 5196, 5202, 5214, 5221, 5236, 5245, 5266,
1231 5267, 5268, 5272, 5278, 5290, 5308, 5336, 5337, 5338, 5339, 5340, 5341, 5342, 5343, 5344, 5351, 5352, 5353, 5354,
1232 5355, 5356, 5357, 5358, 5359, 5360, 5361, 5362, 5363, 5364, 5365, 5366, 5367, 5368, 5369, 5370, 5371, 5372, 5373,
1233 5374, 5375, 5376, 5377, 5378, 5379, 5380, 5381, 5382, 5383, 5384, 5385, 5386, 5387, 5388, 5389, 5390, 5399, 5400,
1234 5401, 5402, 5403, 5404, 5405, 5406, 5407, 5408, 5409, 5414, 5413, 5421, 5425, 5430, 5435, 5439, 5444, 5449, 5453,
1235 5457, 5461, 5465, 5469, 5473, 5479, 5494, 5498, 5504, 5509, 5528, 5548, 5569, 5573, 5577, 5581, 5585, 5589, 5593,
1236 5598, 5608, 5618, 5623, 5634, 5643, 5648, 5653, 5681, 5682, 5688, 5689, 5695, 5694, 5717, 5719, 5724, 5726, 5732,
1237 5733, 5738, 5742, 5746, 5750, 5754, 5761, 5765, 5769, 5773, 5780, 5785, 5792, 5797, 5801, 5806, 5810, 5818, 5829,
1238 5833, 5837, 5851, 5859, 5867, 5874, 5884, 5907, 5912, 5918, 5923, 5929, 5940, 5946, 5960, 5966, 5978, 5992, 6005,
1239 6022, 6032, 6042, 6052, 6064, 6068, 6073, 6085, 6089, 6093, 6097, 6115, 6123, 6131, 6160, 6170, 6186, 6197, 6202,
1240 6206, 6210, 6222, 6226, 6238, 6255, 6265, 6269, 6284, 6289, 6296, 6300, 6305, 6319, 6333, 6337, 6341, 6345, 6349,
1241 6357, 6363, 6372, 6376, 6380, 6388, 6394, 6400, 6404, 6411, 6419, 6426, 6435, 6439, 6443, 6458, 6472, 6486, 6498,
1242 6514, 6523, 6532, 6542, 6553, 6561, 6569, 6573, 6592, 6599, 6605, 6611, 6618, 6626, 6625, 6635, 6659, 6661, 6667,
1243 6672, 6674, 6679, 6684, 6689, 6691, 6695, 6707, 6721, 6725, 6732, 6740, 6748, 6759, 6761, 6764};
1246 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1249 static const char *
const yytname[] = {
"$end",
1321 "tCurrentDirectory",
1336 "tClassifySurfaces",
1337 "tRenumberMeshNodes",
1338 "tRenumberMeshElements",
1339 "tDistanceFunction",
1341 "tUndefineConstant",
1406 "tBooleanIntersection",
1407 "tBooleanDifference",
1409 "tBooleanFragments",
1421 "tMeshSizeFromBoundary",
1426 "tAliasWithOptions",
1429 "tQuadTriNoNewVerts",
1434 "tInterpolationScheme",
1474 "tGMSH_MAJOR_VERSION",
1475 "tGMSH_MINOR_VERSION",
1476 "tGMSH_PATCH_VERSION",
1477 "tGmshExecutableName",
1538 "InterpolationMatrix",
1541 "NumericAffectation",
1552 "UndefineConstants",
1554 "FloatParameterOptionsOrNone",
1555 "FloatParameterOptionsOrNone_NoComma",
1556 "FloatParameterOptions",
1557 "FloatParameterOption",
1558 "CharParameterOptionsOrNone",
1559 "CharParameterOptions",
1560 "CharParameterOption",
1561 "PhysicalId_per_dim_entity",
1562 "SurfaceConstraints",
1587 "ExtrudeParameters",
1594 "TransfiniteArrangement",
1595 "TransfiniteCorners",
1597 "PeriodicTransform",
1605 "GetForced_Default",
1606 "GetForcedStr_Default",
1614 "RecursiveListOfListOfDouble",
1616 "ListOfDoubleOrAll",
1618 "RecursiveListOfDouble",
1621 "RecursiveListOfColor",
1626 "Str_BracedRecursiveListOfStringExprVar",
1627 "BracedOrNotRecursiveListOfStringExprVar",
1628 "BracedRecursiveListOfStringExprVar",
1629 "RecursiveListOfStringExprVar",
1630 "MultiStringExprVar",
1640 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1641 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
1642 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
1643 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1644 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
1645 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
1646 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1647 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
1648 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1649 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1650 485, 486, 487, 488, 489, 490, 491, 63, 492, 493, 494, 495, 60, 62, 496, 497, 498, 499, 43, 45, 42, 47, 37,
1651 124, 38, 33, 500, 501, 502, 94, 40, 41, 91, 93, 123, 125, 46, 35, 126, 44};
1656 0, 270, 271, 271, 272, 272, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
1657 273, 273, 273, 274, 274, 275, 275, 275, 275, 275, 275, 275, 275, 276, 276, 276, 276, 277, 277, 277, 277, 277, 277,
1658 277, 278, 278, 279, 279, 281, 282, 280, 283, 283, 285, 284, 286, 286, 288, 287, 289, 289, 291, 290, 292, 292, 292,
1659 292, 292, 293, 293, 294, 294, 295, 295, 296, 296, 296, 296, 296, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
1660 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
1661 297, 297, 298, 298, 299, 299, 299, 300, 299, 301, 299, 299, 302, 299, 303, 303, 304, 304, 304, 305, 305, 306, 306,
1662 307, 307, 308, 308, 308, 308, 308, 308, 308, 309, 309, 310, 310, 311, 311, 311, 311, 311, 312, 312, 312, 313, 313,
1663 313, 313, 314, 314, 315, 315, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
1664 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 317, 316, 318, 318,
1665 318, 318, 318, 319, 319, 319, 319, 320, 320, 320, 321, 321, 321, 321, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1666 322, 323, 323, 324, 324, 324, 324, 324, 324, 324, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 326,
1667 326, 326, 326, 326, 326, 326, 326, 327, 327, 328, 329, 329, 329, 329, 329, 329, 329, 329, 330, 330, 330, 330, 330,
1668 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
1669 330, 331, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 333, 333, 333, 334, 333, 335, 333,
1670 336, 333, 337, 333, 333, 333, 333, 333, 333, 338, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 340,
1671 340, 340, 340, 340, 341, 341, 341, 341, 341, 342, 342, 343, 344, 344, 345, 345, 346, 346, 347, 347, 348, 348, 349,
1672 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
1673 349, 349, 349, 350, 350, 350, 350, 351, 351, 351, 352, 352, 352, 352, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1674 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1675 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 354, 354, 354, 354, 354, 354,
1676 354, 354, 354, 354, 354, 355, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
1677 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 356, 356, 357, 357,
1678 359, 358, 360, 360, 361, 361, 362, 362, 363, 363, 363, 363, 363, 364, 364, 364, 364, 365, 365, 366, 366, 366, 366,
1679 366, 366, 367, 367, 367, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
1680 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 369, 369, 369, 369, 370, 370, 370,
1681 370, 371, 371, 372, 372, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 374, 374, 374, 374, 374, 374, 374,
1682 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
1683 375, 374, 374, 376, 376, 377, 378, 378, 379, 380, 380, 380, 380, 381, 381, 381, 382, 382, 382, 383, 383, 383};
1687 0, 2, 1, 2, 0, 2, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5,
1688 5, 7, 7, 7, 7, 9, 6, 6, 6, 8, 0, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 0, 0, 10, 1, 3, 0, 13, 1, 3,
1689 0, 15, 8, 14, 0, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 2, 7, 7, 4, 3, 6,
1690 9, 7, 6, 7, 6, 4, 8, 9, 9, 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, 5, 7, 9, 9, 11, 7, 9, 9, 0, 1, 0,
1691 3, 5, 0, 9, 0, 11, 5, 0, 9, 0, 3, 3, 5, 5, 0, 2, 0, 1, 1, 3, 2, 2, 2, 1, 4, 2, 2, 0, 2, 1,
1692 3, 2, 2, 2, 2, 2, 1, 1, 3, 0, 5, 5, 5, 0, 2, 0, 2, 7, 7, 7, 10, 10, 8, 8, 7, 7, 11, 7, 8, 8,
1693 8, 9, 8, 8, 3, 4, 10, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 8, 8, 12, 0, 9, 1, 1, 1, 1, 4,
1694 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 4, 5, 11, 5, 9, 9, 7, 4, 9, 10, 9, 1, 1, 0, 2, 6, 7, 7, 6, 7,
1695 8, 10, 14, 16, 12, 14, 14, 14, 14, 8, 8, 6, 4, 5, 5, 6, 6, 3, 4, 3, 5, 6, 5, 4, 3, 4, 3, 4, 5, 4,
1696 5, 3, 5, 7, 7, 3, 2, 7, 3, 2, 2, 2, 2, 2, 15, 2, 2, 7, 2, 9, 11, 2, 4, 2, 2, 2, 2, 16, 5, 8,
1697 11, 6, 8, 8, 10, 1, 2, 2, 1, 3, 3, 4, 4, 1, 1, 5, 11, 13, 0, 7, 0, 13, 0, 15, 0, 6, 9, 2, 3, 10,
1698 13, 1, 2, 5, 7, 2, 2, 3, 2, 3, 2, 3, 9, 6, 1, 1, 1, 1, 1, 0, 2, 3, 3, 4, 9, 4, 14, 0, 3, 0,
1699 1, 0, 2, 0, 2, 0, 2, 5, 6, 7, 6, 5, 3, 8, 6, 8, 8, 5, 4, 6, 11, 11, 18, 18, 12, 12, 12, 10, 4, 4,
1700 4, 4, 4, 6, 2, 3, 6, 2, 1, 1, 1, 2, 5, 7, 10, 1, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1701 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, 4, 4, 6, 6,
1702 6, 4, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 1, 4, 6, 1, 4, 4, 4, 6, 5, 7, 8, 10, 4,
1703 4, 6, 4, 3, 2, 5, 5, 3, 5, 6, 8, 6, 8, 6, 4, 7, 6, 6, 6, 4, 6, 4, 0, 2, 0, 2, 0, 7, 1, 3,
1704 1, 2, 0, 3, 1, 2, 2, 3, 3, 11, 9, 7, 7, 1, 3, 1, 1, 2, 3, 4, 5, 1, 3, 1, 2, 3, 3, 5, 4, 4,
1705 2, 4, 2, 3, 3, 4, 5, 5, 5, 5, 5, 1, 1, 1, 3, 5, 7, 4, 4, 4, 6, 6, 8, 8, 4, 14, 4, 4, 1, 1,
1706 3, 3, 9, 7, 1, 5, 3, 6, 1, 3, 1, 1, 4, 4, 3, 5, 6, 8, 6, 4, 5, 1, 4, 1, 1, 1, 1, 4, 6, 4,
1707 6, 5, 7, 4, 4, 4, 8, 4, 4, 4, 4, 8, 8, 6, 4, 6, 4, 1, 1, 4, 4, 0, 6, 4, 2, 4, 4, 1, 1, 3,
1708 1, 1, 3, 3, 3, 5, 7, 5, 5, 8, 1, 1, 4};
1714 0, 0, 0, 2, 3, 1, 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 205, 0, 0, 206, 0, 0, 207, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 313, 314, 0, 0, 0, 308, 0, 0, 0,
1719 0, 0, 0, 398, 399, 400, 0, 0, 0, 5, 6, 7, 8, 10, 0, 11, 24, 12, 13, 14, 15, 23, 22,
1720 21, 16, 0, 17, 18, 19, 20, 0, 25, 0, 641, 0, 233, 0, 0, 0, 0, 0, 0, 283, 0, 285, 286,
1721 281, 282, 0, 288, 0, 291, 233, 0, 293, 294, 119, 129, 640, 512, 508, 73, 74, 0, 205, 206, 207, 208, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 295, 296, 0, 0, 217, 218, 219, 0, 0, 0, 0, 454, 455, 457, 458, 456, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 463, 464, 0, 0, 205, 210, 211, 212, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 459, 460, 461, 0, 0, 0, 0, 0, 0, 0, 0, 551, 552, 0, 553, 525,
1727 405, 467, 470, 327, 526, 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 210, 211, 0, 212, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 233, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 233, 0, 0, 394, 0, 397, 0, 0, 214, 215,
1730 0, 0, 533, 0, 0, 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 574, 0,
1731 0, 0, 0, 279, 280, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 617,
1732 618, 595, 596, 0, 0, 0, 0, 0, 0, 594, 0, 0, 0, 0, 306, 307, 0, 233, 0, 233, 0, 0, 0,
1733 0, 508, 0, 276, 0, 0, 233, 401, 0, 0, 84, 0, 66, 0, 0, 70, 69, 68, 67, 72, 71, 73, 74,
1734 0, 0, 0, 0, 0, 0, 0, 580, 508, 0, 232, 0, 231, 0, 184, 0, 0, 580, 581, 0, 0, 0, 630,
1735 0, 631, 581, 0, 0, 0, 117, 117, 0, 506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 0, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 407, 534, 409, 0, 527, 0, 0, 508, 0, 542, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, 0,
1741 484, 0, 0, 0, 0, 0, 0, 0, 328, 0, 361, 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 233, 0, 233, 233, 0, 516, 515, 0, 0, 0, 0, 233, 233, 0, 0, 0, 0, 324, 0, 233, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 233, 259, 0, 0, 257, 395, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 278, 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 310, 309, 0, 264, 0, 0, 266, 0, 0, 0, 0, 407, 0, 233, 0, 0, 0, 0, 0, 0, 0, 349, 0,
1747 0, 0, 0, 0, 0, 0, 0, 77, 78, 79, 80, 81, 0, 0, 0, 0, 88, 75, 76, 0, 0, 0, 275,
1748 40, 271, 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 234, 0, 0, 185, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, 0, 118, 0, 0, 0, 510, 0, 0, 509, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 209, 0,
1751 0, 0, 0, 0, 0, 0, 389, 390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 465, 483, 0, 0, 0, 0, 543, 544, 0, 0, 0, 0, 0, 0, 502, 0,
1754 406, 528, 0, 0, 0, 0, 536, 0, 425, 424, 423, 422, 418, 419, 426, 427, 421, 420, 411, 410, 0, 412, 535,
1755 413, 416, 414, 415, 417, 509, 0, 0, 487, 0, 554, 0, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0,
1756 0, 0, 0, 392, 0, 0, 0, 0, 0, 391, 0, 233, 0, 0, 0, 0, 0, 518, 517, 0, 0, 0, 0,
1757 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 258, 0,
1758 0, 0, 252, 0, 0, 0, 0, 388, 406, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 311, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621,
1760 0, 0, 0, 504, 0, 0, 263, 267, 265, 269, 0, 0, 412, 0, 509, 487, 642, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 95, 0, 0, 406, 0, 0, 0, 66, 0, 0, 87, 0, 66, 67, 0, 0, 0, 509, 0, 0,
1762 487, 0, 0, 0, 203, 0, 0, 0, 637, 28, 26, 27, 0, 0, 0, 0, 0, 584, 30, 0, 29, 0, 0,
1763 272, 632, 633, 0, 634, 584, 0, 0, 82, 120, 83, 130, 511, 513, 136, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 571, 298, 233, 220, 9, 429,
1765 430, 431, 432, 433, 434, 435, 436, 437, 451, 438, 0, 440, 441, 442, 443, 444, 567, 445, 446, 447, 0, 0, 0,
1766 0, 0, 559, 558, 557, 0, 0, 0, 564, 0, 499, 0, 0, 0, 501, 0, 0, 0, 0, 134, 482, 539, 538,
1767 213, 0, 0, 0, 468, 566, 473, 0, 479, 0, 0, 0, 0, 529, 0, 0, 480, 545, 541, 0, 0, 0, 0,
1768 472, 471, 73, 74, 494, 0, 0, 0, 0, 0, 0, 0, 406, 357, 362, 360, 0, 371, 0, 156, 157, 0, 213,
1769 0, 406, 0, 0, 0, 0, 0, 253, 0, 268, 270, 0, 0, 0, 221, 223, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 331, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 0, 364, 377, 0, 0,
1771 0, 0, 254, 0, 0, 0, 0, 216, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0,
1772 0, 0, 607, 0, 614, 603, 604, 605, 0, 620, 619, 0, 0, 608, 609, 610, 616, 624, 623, 0, 147, 0, 597,
1773 0, 599, 0, 0, 0, 592, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 402, 0, 638,
1774 0, 109, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 589, 51, 0, 0,
1775 0, 64, 0, 41, 42, 43, 44, 45, 46, 0, 472, 471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 583, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 137, 138, 0, 0, 0, 0,
1777 163, 163, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, 0, 0, 550, 0, 0, 0, 502, 503,
1779 0, 475, 0, 0, 537, 428, 530, 488, 486, 0, 485, 0, 0, 555, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 370, 0, 0, 0, 0, 0, 393, 0, 0, 0, 77, 0, 261, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0,
1781 335, 0, 338, 0, 340, 0, 325, 332, 0, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 0,
1782 0, 256, 255, 396, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 575, 0, 0, 0, 301, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 504, 505, 601, 0, 374, 488, 0, 0, 233, 351, 0, 352, 233, 0, 0,
1784 590, 0, 94, 0, 0, 0, 0, 92, 0, 578, 0, 107, 0, 99, 101, 0, 0, 0, 89, 0, 0, 0, 0,
1785 0, 36, 488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, 0, 585, 0, 0, 34, 33,
1786 0, 585, 635, 287, 0, 0, 121, 126, 0, 0, 0, 140, 145, 146, 141, 142, 507, 0, 85, 0, 86, 167, 0,
1787 0, 0, 0, 168, 187, 188, 165, 0, 0, 0, 169, 198, 189, 193, 194, 190, 191, 192, 177, 0, 0, 0, 439,
1788 453, 452, 448, 449, 450, 560, 0, 0, 0, 497, 498, 500, 135, 466, 496, 469, 474, 0, 0, 502, 199, 481, 73,
1789 74, 0, 493, 489, 491, 561, 195, 0, 0, 0, 159, 0, 0, 369, 0, 158, 0, 0, 0, 0, 0, 0, 277,
1790 0, 0, 0, 0, 233, 233, 0, 0, 337, 525, 0, 0, 339, 341, 0, 0, 319, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 226, 196, 0, 0, 0, 0, 0, 0, 0, 174, 0, 175, 0, 0, 0, 0, 110, 114, 0,
1792 615, 0, 0, 613, 0, 625, 0, 0, 148, 149, 622, 598, 600, 0, 0, 0, 0, 0, 0, 349, 353, 349, 0,
1793 403, 93, 0, 0, 66, 0, 0, 91, 0, 576, 0, 0, 0, 0, 0, 0, 628, 627, 0, 0, 0, 0, 0,
1794 523, 0, 0, 77, 273, 489, 274, 0, 0, 0, 0, 0, 238, 235, 0, 0, 588, 586, 0, 0, 0, 0, 122,
1795 127, 0, 0, 0, 568, 569, 139, 373, 164, 172, 173, 178, 0, 0, 0, 0, 0, 180, 0, 0, 299, 0, 0,
1796 0, 0, 476, 0, 0, 0, 556, 495, 0, 0, 179, 0, 200, 358, 0, 0, 0, 0, 201, 0, 0, 0, 0,
1797 0, 0, 522, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 249, 0, 0, 0, 0, 0, 0, 0,
1798 0, 240, 0, 0, 0, 375, 376, 39, 182, 183, 0, 573, 0, 0, 303, 302, 0, 0, 0, 0, 0, 0, 151,
1799 152, 155, 154, 153, 0, 602, 0, 639, 0, 0, 0, 0, 0, 0, 0, 0, 104, 105, 579, 0, 0, 0, 96,
1800 0, 0, 0, 47, 0, 0, 0, 0, 0, 49, 0, 239, 236, 237, 35, 0, 0, 636, 289, 0, 134, 147, 0,
1801 0, 144, 0, 0, 0, 166, 197, 0, 0, 0, 0, 0, 562, 563, 0, 502, 477, 490, 492, 0, 0, 181, 204,
1802 0, 0, 0, 365, 365, 0, 115, 116, 233, 0, 224, 225, 326, 0, 333, 0, 0, 233, 0, 0, 0, 0, 0,
1803 0, 0, 0, 230, 0, 228, 0, 0, 0, 0, 111, 112, 606, 612, 611, 150, 0, 0, 0, 354, 0, 0, 108,
1804 100, 102, 0, 90, 629, 97, 98, 52, 0, 0, 0, 0, 524, 0, 0, 490, 587, 0, 0, 0, 0, 124, 626,
1805 0, 131, 0, 0, 0, 0, 186, 0, 0, 0, 329, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 520, 0, 343, 0, 0, 320, 0, 241, 0, 0, 0, 0, 0, 0, 229, 0, 572, 304, 0, 0, 387, 233,
1807 404, 0, 577, 0, 48, 0, 0, 0, 65, 50, 0, 290, 123, 128, 134, 0, 0, 161, 162, 160, 0, 0, 478,
1808 0, 0, 0, 0, 366, 380, 0, 0, 381, 0, 222, 0, 334, 0, 316, 0, 233, 0, 0, 0, 0, 0, 0,
1809 176, 113, 300, 349, 106, 0, 0, 0, 0, 0, 0, 132, 133, 0, 0, 0, 202, 0, 384, 0, 385, 386, 519,
1810 0, 0, 322, 244, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 62, 0, 0, 125, 0, 0, 330, 0, 0,
1811 342, 321, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 246,
1812 247, 248, 0, 242, 356, 53, 0, 60, 0, 284, 0, 565, 0, 0, 323, 0, 0, 54, 0, 0, 297, 0, 0,
1813 243, 0, 0, 0, 0, 0, 0, 57, 55, 0, 58, 0, 382, 383, 0, 0, 63, 61, 59};
1817 -1, 2, 3, 124, 1116, 125, 126, 1100, 1980, 1986, 1406, 1629, 2142, 2270, 1407, 2243, 2286, 1408, 2272,
1818 1409, 1410, 1633, 461, 621, 622, 1188, 1727, 127, 820, 489, 1998, 2153, 1999, 490, 1866, 1488, 1442, 1443,
1819 1444, 1592, 1802, 1803, 1260, 1688, 1679, 1876, 795, 633, 292, 293, 369, 215, 294, 471, 472, 131, 132,
1820 133, 134, 135, 136, 137, 138, 295, 1295, 2177, 2234, 990, 1291, 1292, 296, 1079, 297, 142, 1517, 1258,
1821 962, 1005, 2111, 143, 144, 145, 146, 298, 299, 1215, 1231, 1361, 300, 825, 301, 824, 492, 650, 336,
1822 1839, 373, 374, 303, 591, 388, 1390, 1620, 482, 477, 1354, 1055, 1669, 1832, 1833, 1040, 484, 148, 438};
1826 #define YYPACT_NINF -1971
1828 13695, 75, 125, 13903, -1971, -1971, -156, 34, 66, -79, -59, -44, 52, 381, 393, 429,
1829 456, 10, 53, 57, 80, 508, 521, 268, 278, 22, 517, 13, 517, 97, 289, 294,
1830 12, 319, 325, 23, 328, 335, 380, 421, 436, 448, 461, 467, 490, 530, 389, 500,
1831 691, 778, 812, 565, 566, 359, 711, 586, 7161, 593, 592, 606, 752, -31, 601, 13,
1832 -48, 237, 624, 785, -99, 643, -116, -116, 669, 221, 371, 689, -1971, -1971, -1971, -1971,
1833 -1971, 631, 684, 804, 855, 35, 45, 962, 864, 874, 9, 6129, 882, 991, 1007, 1017,
1834 6129, 1018, -78, -75, 784, 25, 71, -1971, 789, 790, -1971, -1971, 1042, 1045, 792, -1971,
1835 14152, 795, 14189, 33, 37, 13, -1971, -1971, -1971, 12404, 794, 1046, -1971, -1971, -1971, -1971,
1836 -1971, 793, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -138, -1971, -1971, -1971,
1837 -1971, 4, -1971, 1052, 791, 5869, 351, 796, 1056, 12404, 14090, 14090, 14090, -1971, 12404, -1971,
1838 -1971, -1971, -1971, 14090, -1971, 12404, -1971, -1971, 12404, -1971, -1971, -1971, -1971, 798, 803, 1055,
1839 -1971, -1971, 1436, -1971, -1971, -1971, -1971, 807, 1436, 12404, 12404, 12404, 808, 12404, 12404, 12404,
1840 809, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 14090, 12404, 12404, 12404, 12404, 6129, 810, -1971,
1841 -1971, 9989, 9989, -1971, -1971, -1971, 813, 6129, 7419, 14090, -1971, -1971, -1971, -1971, -1971, 517,
1842 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
1843 517, 517, 517, 517, 517, 517, 517, 517, 638, 517, 517, 517, 517, 517, 811, 517,
1844 517, 814, 13, 584, 584, 584, -1971, -1971, -1971, 517, 517, 41, 876, 877, 880, 816,
1845 7419, 948, 13, 13, 584, 823, 517, 517, 824, 825, 828, -1971, -1971, -1971, 12404, 7677,
1846 12404, 12404, 7935, 22, 893, 42, -1971, -1971, 826, -1971, 3848, -1971, -1971, -1971, -1971, -1971,
1847 110, 12404, 9989, 9989, 831, 832, 8193, 6129, 6129, 6129, -1971, -1971, -1971, 833, -1971, 830,
1848 836, 8451, 834, 10945, 1093, 7419, 835, 25, 837, 838, -116, -116, -116, 12404, 12404, 338,
1849 -1971, 349, -116, 11032, 368, 1, 840, 845, 846, 847, 849, 850, 856, 9989, 12404, 6129,
1850 6129, 6129, 155, 17, 1109, 858, -1971, 1111, 1112, -1971, 857, -1971, 859, 860, -1971, -1971,
1851 862, 6129, -1971, 12404, 6387, -1971, 1115, 866, 863, 869, 870, 1122, 1127, 878, 12404, 879,
1852 12404, 12404, 652, 12404, 873, -1971, 938, 12404, 12404, 12404, -1971, -1971, 12404, -1971, 517, 517,
1853 517, 881, 885, 889, 517, 517, 517, 517, 517, 517, 517, -1971, 517, -1971, -1971, -1971,
1854 -1971, 517, 517, 900, 901, 517, 905, -1971, 904, 1134, 1136, 903, -1971, -1971, 1163, 1180,
1855 1183, 1182, 931, 517, 12404, 15599, 122, 14090, -1971, 9989, 12404, -1971, -1971, 7419, 7419, -1971,
1856 929, 1436, 13, 1188, -1971, -1971, -1971, -1971, -1971, -1971, 12404, 12404, 410, 7419, 1191, 507,
1857 934, 1012, 935, 1194, 36, 937, -1971, 942, 2576, 12404, -1971, 1659, -169, -1971, 74, -111,
1858 -46, 7609, -1971, -21, -1971, 111, 7867, 12536, 8125, -124, -14, 1105, -1971, 22, 939, 12404,
1859 958, 16115, 16140, 16165, 12404, 16190, 16215, 16240, 12404, 16265, 16290, 16315, 16340, 16365, 16390, 16415,
1860 967, 16440, 16465, 16490, 14613, 1196, 12404, 9989, 5754, -1971, 8, 172, 12404, 1223, 1226, 973,
1861 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404,
1862 9989, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 9989, 9989, 971, 12404, 12404, 14090, 12404,
1863 14090, 7419, 14090, 14090, 14090, 974, 975, 977, 978, 12404, 51, -1971, 11290, 12404, 7419, 6129,
1864 7419, 979, 14090, 14090, 9989, 22, 1436, 22, 985, 9989, 985, -1971, 985, 16515, -1971, 206,
1865 1001, 81, 1169, -1971, 1229, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404,
1866 12404, 12404, 12404, 8709, 12404, 12404, 12404, 12404, 12404, 22, 12404, 12404, 50, -1971, 782, 16540,
1867 374, 383, 12404, 12404, 12404, -1971, 1238, 1261, 1261, 1009, 12404, 12404, 12404, 12404, 26, 9989,
1868 9989, 15627, 1011, 1264, -1971, 1010, -1971, -1971, -73, -1971, -1971, 8383, 8641, -116, -116, 351,
1869 351, -49, 11032, 11032, 12404, 12580, -45, -1971, 12404, 12404, 12404, 12404, 12404, 12404, 12404, 12404,
1870 12404, 433, 16565, 1266, 1269, 1270, 12404, 12404, 1272, 12404, -1971, -1971, 12404, 12653, -1971, -1971,
1871 9989, 9989, 9989, 12404, 1273, 16590, 1015, 12404, 9989, 12404, 12404, 12404, -1971, -1971, 12404, 16615,
1872 12404, 16640, 16665, 1083, 8899, -1971, 1020, 5777, 16690, 16715, 15710, 14090, 14090, 14090, 14090, 14090,
1873 14090, 14090, 14090, 14090, 12404, 14090, 14090, 14090, 14090, 19, 1436, 14090, 14090, 14090, 22, 22,
1874 -1971, -1971, 9989, -1971, 1016, 12714, -1971, 1021, 12817, 12404, 12404, 985, 12404, -1971, 22, 12404,
1875 12404, 50, 1022, 468, 16740, 14318, 1026, 487, 12404, 1282, 1025, 7419, 16765, 15737, -1971, -1971,
1876 -1971, -1971, -1971, 1024, 1284, 160, 1286, -1971, -1971, -1971, 9989, 24, 12404, -1971, -1971, -1971,
1877 22, 12404, 12404, 50, 1031, -1971, 1035, -17, 13, -48, 13, -1971, 1032, 14642, -1971, 148,
1878 9989, 22, 12404, 12404, 50, 1291, 9989, 1292, 9989, 12404, 1295, 14090, 22, 11377, 50, 12404,
1879 -1971, 12404, 1296, -1971, 22, 1299, 14090, 12404, 1047, 1044, -1971, 12404, 9152, 1436, 1300, 1302,
1880 1303, 16790, 1305, 1306, 1307, 16815, 1308, 1310, 1311, 1312, 1313, 1314, 1316, -1971, 1319, 1320,
1881 1321, -1971, 12404, 16840, 9989, 1065, 9989, 59, 14671, -1971, -1971, 1324, 15683, 15683, 15683, 15683,
1882 15683, 15683, 15683, 15683, 15683, 15683, 15683, 9405, 15683, 15683, 15683, 15683, 933, 552, 15683, 15683,
1883 15683, 9663, 9921, 10273, 10627, 10892, 5754, 1070, 1069, 96, 9989, 10976, 11237, 552, 11321, 552,
1884 1066, 1067, 1068, 120, 9989, 12404, 12404, 12404, 17790, -1971, 552, 1073, 14700, 14729, -1971, -1971,
1885 12404, 1071, 265, 552, -28, 1080, 197, 524, 1335, -1971, 50, 552, 7419, 1079, 5800, 6061,
1886 1216, 1946, 591, 591, -61, -61, -61, -61, -61, -61, 513, 513, 9989, -185, -1971, -185,
1887 -185, 985, 985, 985, 1081, 16865, 15764, 497, 9989, -1971, 1338, 1082, 1085, 16890, 16915, 16940,
1888 12404, 7419, 1346, 1345, 10692, 16965, 14758, 16990, 17015, -1971, 12404, 526, 535, 9989, 1087, -1971,
1889 12878, -1971, 12951, 12995, -116, 12404, 12404, -1971, -1971, 1090, 1091, 11032, 4973, 1214, 471, -116,
1890 13131, 17040, 14787, 17065, 17090, 17115, 17140, 17165, 17190, 17215, 1095, 1353, 12404, 1355, -1971, 12404,
1891 17240, 14816, -1971, 15791, 13175, 15818, -1971, 537, 542, 545, 14845, -1971, -1971, -1971, 1710, 547,
1892 15845, 15872, 11585, 17265, 1356, 17290, 1357, 1358, 1096, 12404, 13248, 12404, 12404, -1971, -1971, 49,
1893 305, 434, 305, 1106, 1108, 1101, 552, 552, 1102, 11661, 552, 552, 552, 552, 12404, 552,
1894 1363, -1971, 1107, 1113, 438, 226, 1114, 557, -1971, -1971, -1971, -1971, 17315, 15683, -185, 13309,
1895 1116, 525, 1110, 1179, 1373, 1219, 11630, 1120, 1117, 1381, 7419, 14874, -1971, 12404, 1382, 170,
1896 94, 50, 31, 1436, 12404, 1383, -1971, 558, 1341, 1364, 7419, 14903, 46, 1146, 17340, 15899,
1897 516, 12404, 12404, 1154, 1153, 1160, 1158, 8967, -1971, -1971, -1971, -1971, 14090, 163, 1161, 17365,
1898 15926, 1166, -1971, 235, -1971, 236, 11924, -1971, -1971, -1971, 1162, -1971, 1170, 14932, 12008, -1971,
1899 73, -1971, -1971, 17790, -1971, 48, 15683, 12404, 552, -116, 7419, 7419, 1422, 7419, 7419, 7419,
1900 1424, 7419, 7419, 7419, 7419, 7419, 7419, 7419, 7419, 7419, 7419, 1805, 1425, 9989, 5754, -1971,
1901 -1971, 351, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, 12404,
1902 -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, -1971, 12404, 12404, 12404, 12404, 12404, -1971, -1971,
1903 -1971, 563, 12404, 12404, -1971, 12404, -1971, 7419, 14090, 14090, -1971, 583, 14961, 14990, 15019, 1164,
1904 -1971, -1971, -1971, 1239, 15048, 12404, 12404, -1971, -1971, -1971, 50, -1971, 50, 12404, 12404, 1173,
1905 -1971, 7419, 517, -1971, -1971, -1971, 12404, 12404, 589, 50, 372, -40, 12404, 12404, -1971, 552,
1906 590, 7419, 9989, 9989, 1430, 1431, 1435, 2398, -1971, -1971, 1437, -1971, 1184, 17790, 1175, 1439,
1907 -1971, 1440, 1442, 2001, 1444, 1446, 596, 60, -1971, 13412, -1971, -1971, -27, 12264, 12359, -1971,
1908 -1971, 15077, -92, 1354, 1469, 11724, 1212, 1472, 1220, 30, 38, -38, -1971, 181, -1971, 471,
1909 1474, 1473, 1475, 1476, 1487, 1488, 1489, 1490, 1495, 351, 7419, 17790, -1971, 2056, 1240, 1403,
1910 1507, -1971, 1510, 1515, 1415, 1517, -1971, -1971, 1519, 1522, 1524, 12404, 1525, 7419, 1526, 7419,
1911 7419, 1531, 12921, -1971, 6319, 972, 50, 50, -1971, 9989, -1971, -1971, -1971, -1971, 14090, -1971,
1912 -1971, 12404, 14090, -1971, -1971, -1971, -1971, 17790, -1971, 1274, 1267, 14090, -1971, 14090, -1971, 50,
1913 14090, 1278, -1971, 1275, 1536, -1971, 50, 12404, 12404, 1281, 13, 1283, 11977, -1971, 2164, 1285,
1914 7419, -1971, 1287, -1971, 15106, -1971, -1971, 12404, 1544, 412, 12404, 1545, 1546, 25, 1548, 1293,
1915 1551, 2207, -1971, 552, 517, 517, 1552, -1971, -1971, 1301, 1304, 1298, -1971, 1553, -1971, -1971,
1916 -1971, -1971, -1971, -1971, 50, 377, 2279, 12404, 15953, 17390, 12404, 9220, 12404, 9989, 1309, 597,
1917 1557, 164, 50, -1971, 1325, 12404, 1559, 1560, 12404, 50, 12064, 1561, 12404, 10242, 552, 5254,
1918 12404, 12404, 1322, 1326, -1971, 1562, 17415, 1563, 137, 1433, 1433, 7419, 1566, 1569, 1592, 7419,
1919 -107, 1593, 1594, 1595, 1597, 1598, 1600, 1601, 1602, 1603, -1971, 1605, 602, 1347, 15683, 15683,
1920 15683, 15683, 15683, 15683, 552, 12954, 13478, 13693, 1350, 552, 552, -1971, -1971, -1971, -1971, 48,
1921 552, -1971, 17440, 15683, 1352, -190, 17790, 15683, -1971, 1608, 552, 17790, 17790, -1971, 676, -1971,
1922 50, -1971, 17465, 15980, -1971, 552, 1610, 603, 604, 7419, 7419, 7419, 1613, 1614, -1971, 177,
1923 12404, 7419, 7419, 7419, -1971, 1361, 1362, 1612, 1615, 1620, -1971, 12404, 12404, 12404, 1366, 1367,
1924 1368, 1360, -1971, 2275, 7419, -1971, 12404, -1971, 1622, -1971, 1627, -1971, -1971, 11032, 363, 6645,
1925 -1971, 1370, 1372, 1374, 1375, 1376, 1377, 9473, 1378, 1631, -1971, 9989, 1388, -1971, -1971, -1971,
1926 1390, 12404, 12404, -1971, -1971, 16007, 7419, 1636, 7419, 1639, 1454, -1971, 12404, 12404, 12404, -1971,
1927 1650, 733, 475, 1392, 3012, 1393, 12404, 20, 552, 1396, 552, 1398, -1971, -1971, 1436, -1971,
1928 692, 12404, 1395, -1971, -1971, 2590, -1971, -1971, 1399, 1663, -1971, 2655, -1971, 1404, 1664, 187,
1929 3467, -1971, 25, -1971, 610, -1971, 12404, -1971, -1971, 177, 3815, 4749, -1971, 1413, 12404, 12404,
1930 7419, 1410, -1971, 101, 67, 1670, 17490, 1672, 1335, 17515, 1414, 611, 17540, 612, 1674, 1675,
1931 -1971, -1971, 14090, 1426, 1678, 17565, -1971, -1971, 14098, 1427, -1971, -1971, 6577, 5601, 17790, -1971,
1932 1677, 517, 7935, -1971, -1971, -1971, 17790, 17790, -1971, 48, -1971, 1679, -1971, -1971, -116, 1682,
1933 1683, 1684, -1971, -1971, -1971, 1547, -26, 1586, 1687, -1971, -1971, -1971, -1971, -1971, -1971, -1971,
1934 -1971, -1971, 1689, 1432, 1691, -1971, -1971, -1971, -1971, -1971, -1971, -1971, 12404, 12404, 12404, -1971,
1935 -1971, -1971, 1326, -1971, -1971, -1971, -1971, 12404, 1434, 1429, -1971, -1971, 12404, 12404, 552, 372,
1936 -1971, -1971, -1971, -1971, 1441, 1453, 1695, -107, 1712, 12404, -1971, 7419, 17790, 1575, 1576, 970,
1937 9989, 9989, 12404, -1971, 10692, 15135, 17590, 6835, 351, 351, 12404, 12404, -1971, 423, 1452, 17615,
1938 -1971, -1971, 15164, 191, -1971, 1717, 1718, 7419, -116, -116, -116, -116, -116, 6903, 1719, -1971,
1939 -1971, 617, 9989, 12404, 3816, 4044, 1720, 1721, -1971, 1722, -1971, 7419, 7093, 788, 17640, -1971,
1940 -1971, 10338, -1971, 14090, 12404, -1971, 14090, 17790, 10596, 1436, 1462, -1971, -1971, -1971, -1971, 1471,
1941 1464, 12404, 12404, 15193, 12404, 14318, -1971, 14318, 7419, -1971, -1971, 50, 31, 1436, 12404, 1728,
1942 -1971, 1729, -1971, 25, 16034, 7419, 14090, 1731, 552, -1971, 1470, 552, 12404, 14250, 14283, 620,
1943 -1971, 12404, 12404, 1479, -1971, 1481, -1971, 1435, 1732, 1734, 1442, 1740, -1971, -1971, 1741, 12404,
1944 -1971, -1971, 12404, 12317, 1742, 12404, -1971, -1971, 1485, 4749, 627, 1156, 1746, -1971, -1971, 442,
1945 -1971, -1971, -1971, 1606, 1749, 1492, 1493, 1494, -1971, 1754, 7419, -1971, 15683, 15683, 14316, 15683,
1946 -1971, 1500, 17665, 16061, -1971, -1971, 9989, 9989, -1971, 1756, -1971, 17790, 1757, 12404, 12404, 1501,
1947 -1971, 648, 658, 15655, 4130, 1760, 1503, -1971, -1971, 12404, 1504, 1506, 15222, 16088, 1762, 7419,
1948 1765, 1512, 12404, -1971, -1971, 660, 203, 205, 207, 230, 240, 9731, 264, -1971, 1768, 663,
1949 15251, -1971, -1971, -1971, -1971, -1971, 1587, -1971, 12404, 12404, -1971, -1971, 9989, 4534, 1771, 1518,
1950 15683, 552, 17790, -1971, -1971, -1971, -1971, 20, -1971, 1436, -1971, 15280, 1516, 1520, 1523, 1773,
1951 1776, 1777, 4744, -1971, -1971, -1971, 1521, 1783, 665, -1971, 1784, 1785, 270, 17790, 12404, 12404,
1952 1529, 7419, 666, 17790, 17690, -1971, -1971, -1971, -1971, 17715, 14349, -1971, -1971, 15309, 1164, 1267,
1953 7419, 552, -1971, 12404, 1436, 22, -1971, -1971, 9989, 9989, 12404, 1788, 674, -1971, -1971, 12404,
1954 1429, -1971, -1971, -1971, 679, 681, -1971, -1971, 4887, 4940, 7419, 14, 444, 9989, -1971, -1971,
1955 351, 7351, -1971, -1971, -1971, 1790, -1971, 1532, 7419, -1971, 15338, 1792, 9989, -116, -116, -116,
1956 -116, -116, -1971, 1793, -1971, 12404, 15367, 15396, 682, -1971, -1971, -1971, -1971, -1971, -1971, 1539,
1957 1795, 1540, -1971, 1797, 25, -1971, -1971, -1971, 1611, -1971, -1971, -1971, -1971, -1971, 12404, 14382,
1958 14415, 7419, -1971, 1800, 12404, 1543, -1971, 12404, 1802, 1549, 1550, -1971, -1971, 5332, -1971, 1556,
1959 690, 696, 15425, -1971, 1554, 14448, 1558, -1971, 1564, -1971, -1971, 697, 1565, -116, 7419, 1803,
1960 1567, -116, 1804, 698, 1555, -1971, 12404, -1971, 1806, 1681, 13473, 1568, -1971, 706, 296, 315,
1961 321, 343, 352, -1971, 5189, -1971, -1971, 1815, 1816, -1971, -1971, -1971, 1817, -1971, 1570, 17790,
1962 12404, 12404, 712, -1971, 17790, 14481, -1971, -1971, -1971, 1164, 1436, 1574, -1971, -1971, -1971, 12404,
1963 12404, -1971, 9989, 1824, -116, 149, -1971, -1971, -116, 153, -1971, 1830, -1971, 15454, -1971, 12404,
1964 -1971, 471, -1971, 1832, 9989, 9989, 9989, 9989, 9731, -1971, -1971, -1971, 14318, -1971, 12404, 17740,
1965 14514, 61, 12404, 1577, -1971, -1971, 14547, 14580, 714, -1971, 362, -1971, 378, -1971, -1971, -1971,
1966 5294, 373, 13546, -1971, 719, 720, 722, 727, 409, 732, 1578, 735, -1971, 12404, -1971, 7419,
1967 15483, -1971, 12404, 12404, -1971, -116, -116, -1971, -1971, -1971, 471, 1835, 1838, 1839, 1840, 9989,
1968 1841, 1842, 1843, 1588, 17765, 737, 1844, 15512, 15683, 431, 435, 445, -1971, -1971, -1971, -1971,
1969 738, -1971, -1971, -1971, 14090, -1971, 1590, -1971, 1845, -1971, 12404, 12404, -1971, 1849, 743, -1971,
1970 1596, 7419, -1971, 15541, 15570, -1971, 1850, 14090, 14090, 744, 1851, 1852, -1971, -1971, 754, -1971,
1971 1855, -1971, -1971, 1863, 14090, -1971, -1971, -1971};
1975 -1971, -1971, -1971, -1971, 446, -1971, -1971, -1971, -1971, -320, -1971, -1971, -1971, -1971, -1971,
1976 -1971, -1971, -1971, -1971, -1971, -1971, -1971, -768, -131, 4473, 3614, -440, -1971, 1384, -1971,
1977 -1971, -1971, -1971, -1971, -1971, -1970, -1971, 385, 202, -123, -1971, -82, -1971, 147, 437,
1978 -1971, 1880, -1971, 861, -51, -1971, -1971, -1, -649, -153, -1971, -1971, -1971, -1971, -1971,
1979 -1971, -1971, 786, 1881, -1971, -1971, -1971, -1971, -1294, -1287, 1882, -1798, 1886, -1971, -1971,
1980 -1971, 1262, -1971, -135, -1971, -1971, -1971, -1971, 2418, -1971, -1971, -1484, 320, 1911, -1971,
1981 0, -1971, -1971, 95, -1971, -1755, 553, -77, 2992, 2787, -324, 99, -1971, 183, -71,
1982 -1971, -1971, 117, 293, -1766, -155, 1119, -1971, -3};
1988 #define YYTABLE_NINF -589
1990 149, 1550, 130, 645, 1548, 1092, 985, 986, 483, 1720, 444, 1098, 1925, 321, 487, 1964, 188, 1965, 462,
1991 379, 773, 680, 175, 173, 1800, 174, 173, 192, 2089, 386, 381, 1096, 969, 383, 1957, 173, 1543, 1686,
1992 430, 355, 173, 425, 432, 429, 1545, 784, 571, 595, 152, 360, 1400, 361, 1439, 304, 766, 173, 1334,
1993 315, 157, 164, 316, 317, 318, 166, 1528, 1168, 326, 2222, 614, 615, 176, 1843, 177, 319, 616, 390,
1994 1877, 309, 467, 1229, 1437, 4, 359, 801, 1440, 1441, 767, 768, 304, 1687, 493, 309, 799, 304, 327,
1995 1878, 767, 768, 389, 2001, 800, 1382, 310, 767, 768, 617, 1284, 494, 150, 426, 328, 329, 151, 496,
1996 366, 179, 1107, 367, 180, 617, 812, 181, 442, 182, 1285, 5, 443, 2012, 517, 356, 368, 750, 331,
1997 332, 46, 1286, 1287, 1288, 525, 818, 320, 1289, 1290, 1677, 333, 819, 468, 362, 334, 470, 805, 478,
1998 478, 478, 1113, 2203, 653, 654, 806, 2205, 485, 769, 770, 2108, 2109, 335, 337, 1091, 340, 2110, 1649,
1999 769, 770, 1535, 153, 653, 654, 1382, 769, 770, 951, 154, 382, 2195, 1382, 384, 661, 609, 610, 748,
2000 612, 613, 614, 615, 1821, 970, 980, 478, 616, 653, 654, 155, 304, 653, 654, 685, 304, 304, 566,
2001 567, 568, 1544, 304, 304, 478, 807, 156, 456, 457, 1546, 987, 653, 654, 808, 991, 577, 1504, 1547,
2002 1801, 1401, 1402, 1403, 1404, 1225, 630, 631, 632, 1889, 1226, 357, 810, 102, 1531, 103, 104, 105, 106,
2003 107, 811, 821, 122, 111, 112, 122, 114, 819, 122, 452, 453, 454, 1097, 664, 122, 1548, 445, 665,
2004 122, 122, 446, 304, 163, 2107, 189, 853, 675, 676, 677, 854, 741, 681, 744, 682, 122, 193, 304,
2005 151, 1054, 304, 593, 387, 757, 592, 692, 456, 457, 1389, 785, 431, 786, 358, -581, 433, 787, 304,
2006 304, 572, 596, 304, 304, 304, 304, 1405, 776, 1073, 777, 1335, 158, 165, 304, 1383, 1386, 167, 304,
2007 1169, 389, 2223, 2146, 452, 453, 454, 455, 391, 466, 176, 802, 177, 803, 476, 479, 480, 804, 176,
2008 322, 177, 168, 323, 304, 1104, 304, 304, 304, 456, 457, 456, 457, 469, 618, 185, 619, 1200, 1385,
2009 1842, 620, 1810, 1121, -585, 304, 456, 457, 304, 618, 813, 619, 803, 1132, 341, 620, 814, 761, 456,
2010 457, 1210, 751, 512, 752, 653, 654, 159, 753, 811, 2218, 1114, 1115, 452, 453, 454, 455, 653, 654,
2011 160, 527, 653, 654, 452, 453, 454, 455, 1114, 1115, 899, 452, 453, 454, 455, 766, 678, 766, 456,
2012 457, 679, 452, 453, 454, 455, 1425, 648, 649, 456, 457, 653, 654, 597, 854, 657, 662, 161, 478,
2013 855, 304, 653, 654, 854, 304, 304, 456, 457, 767, 768, 767, 768, 1549, 653, 654, 653, 654, 653,
2014 654, 176, 304, 177, 1922, 211, 162, 1228, 212, 788, 1229, 213, 2245, 331, 332, 921, 2044, 342, 2045,
2015 854, 2046, 343, 653, 654, 214, 333, 1234, 344, 345, 339, 346, 347, 653, 654, 826, 976, 1359, 978,
2016 979, 1360, 1430, 1431, 910, 2047, 69, 70, 71, 72, 854, 854, 75, 1284, 348, 2048, 992, 917, 653,
2017 654, 169, 84, 304, 1284, 2281, 88, 1469, 769, 770, 769, 770, 1285, 776, 170, 777, 1012, 171, 2077,
2018 2102, 2049, 1222, 1285, 1286, 1287, 1288, 2078, 172, 304, 1289, 1290, 653, 654, 1286, 1287, 1288, 186, 304,
2019 889, 1289, 1290, 187, 478, 1034, 478, 304, 478, 478, 485, 1042, 653, 654, 2180, 776, 906, 777, 653,
2020 654, 304, 304, 304, 811, 478, 478, 304, 175, 190, 175, 916, 304, 918, 2181, 191, 653, 654, 194,
2021 1284, 2182, 653, 654, 2112, 2113, 195, 1071, 653, 654, 2110, 653, 654, 655, 771, 772, 1613, 1614, 1285,
2022 304, 302, 653, 654, 2183, 656, 948, 1284, 653, 654, 1286, 1287, 1288, 2184, 754, 205, 1289, 1290, 653,
2023 654, 1764, 456, 457, 2229, 663, 1285, 456, 457, 304, 304, 2232, 955, 196, -583, 1093, 854, 1286, 1287,
2024 1288, 2230, 956, 1388, 1289, 1290, 854, 204, 470, 470, 1560, 653, 654, 1057, 598, 599, 600, 601, 602,
2025 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 2239, 653, 654, 197, 616, 653,
2026 654, 304, 304, 304, 1918, 315, 653, 654, 316, 304, 318, 776, 198, 777, 1002, 776, 2266, 777, 854,
2027 1337, 2267, 319, 311, 1357, 199, 312, 2268, 313, 485, 478, 485, 478, 478, 478, 478, 478, 478, 200,
2028 478, 478, 478, 478, 1056, 201, 478, 478, 478, 175, 1062, 1075, 1061, 304, 776, 854, 777, 1792, 1793,
2029 893, 1109, 895, 854, 897, 898, 1072, 983, 984, 202, 1739, 1081, 649, 456, 457, 1082, 1244, 1144, 1245,
2030 304, 913, 914, 748, 612, 613, 614, 615, 776, 526, 777, 778, 616, 456, 457, 304, 1415, 176, 1368,
2031 177, -584, 1101, 456, 457, 207, 1367, 1492, 1368, 1493, 1232, 203, 1268, 351, 854, 352, 854, 1945, 304,
2032 1118, 206, 1269, 1502, 1315, 304, 854, 304, 854, 1316, 485, 1130, 1317, 854, 1320, 776, 854, 777, 854,
2033 1136, 208, 478, 1246, 216, 1363, 1395, 1273, 302, 854, 854, 1476, 209, 210, 1529, 854, 603, 604, 605,
2034 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 217, 1822, 1483, 304, 616, 304, 854, 305, 1501,
2035 1509, 306, 1829, 854, 854, 308, 1527, 1647, 629, 129, 854, 854, 1699, 1732, 1733, 307, 854, 854, 854,
2036 638, 1826, 1849, 1851, 643, 1827, 854, 854, 1934, 2209, 324, 1984, 854, 304, 183, 1985, 325, 350, 2002,
2037 1262, 1584, 1585, 2003, 304, 553, 1041, 554, 1043, 1044, 1045, 1046, 1047, 1048, 330, 1050, 1051, 1052, 1053,
2038 353, 2027, 1058, 1059, 1060, 854, 707, 1595, 151, 304, 1548, 2028, 314, 2043, 1600, 854, 2051, 1985, 2074,
2039 2083, 854, 338, 811, 2084, 1724, 304, 1725, 2100, 2251, 597, 1246, 1985, 2103, 1615, 2104, 2135, 854, 304,
2040 854, 854, 1809, 349, 1810, 2156, 1384, 1387, 304, 854, 354, 2157, 2163, 2171, 1548, 854, 1985, 854, 363,
2041 364, 304, 2179, 1635, 1246, 1903, 854, 1904, 2193, 434, 2228, 1582, 1985, 365, 854, 2235, 2236, 1651, 2237,
2042 854, 854, 375, 854, 2238, 1657, 1128, 376, 854, 2240, 758, 759, 2242, 854, 2262, 2269, 2084, 1138, 1985,
2043 854, 2278, 2288, 464, 377, 2279, 1985, 774, 464, 464, 464, 781, 2291, 1392, 378, 380, 2292, 464, 598,
2044 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 776, 385,
2045 777, 952, 616, 394, 392, 393, 395, 440, 1946, 396, 427, 439, 441, 447, 448, 473, 464, 474, 491,
2046 493, 1619, 151, 495, 500, 504, 518, 561, -206, -207, 564, 1276, -208, 524, 464, 304, 573, 574, 1282,
2047 578, 581, 582, 1293, 1391, 583, 594, 443, 626, 627, 634, 635, 304, 636, 642, 639, 644, 666, 646,
2048 647, 1914, 1915, 667, 668, 669, 304, 670, 671, 1503, 1505, 478, 896, 683, 672, 686, 687, 565, 684,
2049 688, 695, 689, 690, 697, 691, 629, 700, 911, 696, 698, 699, 701, 710, 575, 576, 709, 702, 704,
2050 736, 718, 737, 304, 304, 719, 304, 304, 304, 720, 304, 304, 304, 304, 304, 304, 304, 304, 304,
2051 304, 731, 732, 304, 2004, 597, 734, 735, 738, 470, 739, 598, 599, 600, 601, 602, 603, 604, 605,
2052 606, 607, 608, 609, 610, 852, 612, 613, 614, 615, 740, 742, 743, 745, 616, 760, 776, 763, 777,
2053 775, 780, 782, 783, 150, 823, 850, 304, 478, 478, 789, 827, 598, 599, 600, 601, 602, 603, 604,
2054 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 829, 845, 857, 304, 616, 858, 1583, 859,
2055 890, 924, 925, 900, 901, 1448, 902, 903, 912, 616, 960, 304, 304, 304, 598, 599, 600, 601, 602,
2056 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 922, 961, 964, 975, 616, 974,
2057 1004, 977, 1006, 1032, 1007, 1010, 1019, 1021, 1064, 1503, 1505, 1035, 1074, 1066, 1080, 1084, 1085, 1089, 1090,
2058 1094, 1105, 1825, 1106, 1111, 1122, 1124, 1424, 464, 1127, 1135, 304, 470, 1137, 1141, 1145, 1140, 1146, 1147,
2059 762, 1149, 1150, 1151, 1153, 1086, 1154, 1155, 1156, 1157, 1158, 304, 1159, 304, 304, 1160, 1161, 1162, 1165,
2060 1171, 1198, 1199, 796, 304, 1207, 1208, 1209, 1217, 478, 1221, 1227, 1233, 478, 1237, 1249, 1250, 1241, 796,
2061 1251, 1257, 1259, 478, 1271, 478, 1279, 1280, 478, 1283, 1305, 1306, 1308, 1329, 1325, 1327, 1328, 1663, 1340,
2062 1668, 1341, 1342, 1345, 1353, 304, 1356, 1370, 1355, 1362, 1369, 1967, 1371, 1376, 1366, 2116, 1372, 1375, 389,
2063 1377, 1381, 1394, 1396, 1481, 1482, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2064 852, 612, 613, 614, 615, 478, 1412, 1397, 1418, 616, 304, 1419, 304, 464, 1420, 464, 1421, 464, 464,
2065 464, 1429, 1426, 1433, 1451, 1434, 1455, 1467, 1487, 1496, -209, 304, 1513, 1514, 464, 464, 397, 1515, 1518,
2066 1520, 1519, 1521, 1522, 304, 1523, 1813, 1525, 304, 1526, 1815, 600, 601, 602, 603, 604, 605, 606, 607,
2067 608, 609, 610, 748, 612, 613, 614, 615, 1834, 1834, 1537, 1536, 616, 1540, 1236, 1541, 1552, 1542, 1551,
2068 1553, 1554, 1823, 398, 399, 400, 401, 402, 403, 404, 405, 406, 1555, 1556, 1557, 1558, 407, 408, 409,
2069 410, 1559, 1973, 1563, 1564, 411, 412, 413, 414, 304, 304, 304, 1565, 1256, 415, 1566, 416, 304, 304,
2070 304, 1567, 796, 1568, 1569, 1587, 1570, 1808, 1571, 1589, 1572, 417, 1574, 1576, 418, 1579, 1591, 304, 1593,
2071 1597, 1594, 1590, 1599, 1596, 1598, 1601, 796, 1603, 304, 1607, 1612, 1617, 1609, 1618, 1621, 1622, 304, 1623,
2072 1628, 1634, 304, 1630, 1632, 1648, 1631, 1654, 1655, 1659, 1674, 1676, 1678, 304, 1682, 304, 1646, 1683, 464,
2073 464, 464, 464, 464, 464, 464, 464, 464, 1672, 464, 464, 464, 464, 1863, 1652, 464, 464, 464, 1673,
2074 1893, 1637, 1684, 1689, 1690, 1691, 796, 1692, 1693, 796, 1694, 1695, 1696, 1697, 1698, 1711, 1700, 1718, 1722,
2075 389, 1731, 1737, 796, 1746, 1738, 1747, 1755, 485, 485, 1744, 1745, 1748, 1760, 304, 1752, 1753, 1754, 1761,
2076 1767, 1378, 1768, 1776, 1769, 1770, 1771, 1772, 1784, 1775, 1763, 1786, 1787, 478, 419, 420, 421, 1398, 1778,
2077 1108, 1779, 1110, 1791, 1805, 304, 1812, 422, 1795, 1798, 304, 423, 798, 424, 1360, 1816, 1817, 1819, 1820,
2078 464, 1836, 1841, 1976, 1844, 1909, 1846, 1848, 1852, 1853, 1856, 464, 1864, 1870, 1855, 1859, 1872, 1873, 1874,
2079 1875, 1879, 1880, 1881, 1888, 1882, 1883, 1229, 1449, 1450, 1896, 1452, 1453, 1454, 1894, 1456, 1457, 1458, 1459,
2080 1460, 1461, 1462, 1463, 1464, 1465, 1319, 1895, 1898, 1901, 1902, 1919, 1950, 1923, 1924, 1933, 1939, 1940, 1941,
2081 1955, 1958, 1959, 1960, 1961, 1971, 1972, 304, 1977, 1989, 811, 1990, 304, 304, -588, 2140, -586, 1991, 1992,
2082 1996, 2000, 1969, 470, 470, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 1480, 2017, 2022, 2023, 304, 2026, 2031,
2083 2032, 2038, 2034, 304, 2035, 2040, 1871, 2050, 304, 2041, 2058, 2053, 2059, 2068, 2065, 2069, 2070, 304, 2066,
2084 1497, 2072, 2067, 2073, 2075, 2076, 478, 2081, 2099, 478, 2119, 2120, 2124, 2131, 2136, 2137, 1510, 2139, 2138,
2085 2141, 2147, -587, 2150, 2167, 2170, 1466, 2174, 304, 2151, 2152, 2155, 1391, 2159, 2161, 2172, 2186, 2187, 2189,
2086 389, 2175, 304, 485, 2162, 2164, 2201, 2168, 2178, 1854, 2190, 2197, 2206, 796, 2211, 796, 796, 2252, 2225,
2087 2241, 2253, 2254, 2255, 2257, 2258, 2259, 2263, 2274, 2260, 796, 2273, 2277, 2284, 2289, 2290, 1561, 2280, 2293,
2088 485, 1926, 1927, 1928, 1929, 1930, 1932, 2294, 2219, 1650, 1714, 796, 822, 1869, 2090, 2062, 1575, 304, 1577,
2089 1578, 1897, 128, 139, 140, 1411, 1680, 2122, 141, 2063, 304, 304, 2114, 963, 796, 598, 599, 600, 601,
2090 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 147, 1807, 304, 1956, 616,
2091 1968, 1835, 0, 0, 0, 0, 0, 0, 0, 304, 1608, 1129, 0, 796, 2094, 0, 0, 0, 0,
2092 0, 0, 0, 0, 0, 0, 0, 304, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2093 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0,
2094 0, 464, 1951, 0, 0, 1953, 304, 0, 0, 2188, 0, 0, 0, 0, 0, 0, 1667, 0, 0,
2095 0, 0, 304, 0, 0, 0, 0, 2095, 0, 1681, 304, 304, 1524, 1685, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 2210, 304, 0, 0, 0, 0, 470, 0,
2097 0, 0, 0, 0, 304, 0, 0, 0, 304, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2098 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 1562, 0, 616, 389, 1734, 1735, 1736, 464, 464,
2099 0, 0, 0, 1741, 1742, 1743, 0, 304, 0, 0, 0, 0, 2196, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 1758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1766, 0, 0, 304, 0,
2101 0, 0, 0, 1774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783,
2102 0, 1785, 0, 0, 0, 0, 796, 0, 0, 0, 0, 0, 2126, 2127, 2128, 2129, 2130, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 1606, 0, 0, 0, 0, 0, 0, 304, 304, 304, 304, 304, 0, 0, 0,
2105 1840, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 464,
2106 2165, 616, 0, 464, 2169, 0, 0, 0, 0, 1624, 1862, 0, 464, 0, 464, 0, 304, 464, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0, 0, 0, 304, 0, 598, 599, 600, 601,
2108 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 478, 0, 2202, 616,
2109 0, 0, 2204, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 464, 478, 478, 0, 2216,
2110 0, 1756, 0, 173, 397, 0, 0, 0, 0, 478, 0, 0, 1900, 598, 599, 600, 601, 602, 603,
2111 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0,
2112 0, 0, 1840, 0, 0, 0, 2249, 2250, 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406,
2113 0, 0, 0, 1942, 407, 408, 409, 410, 0, 0, 0, 0, 411, 412, 413, 414, 0, 0, 0,
2114 0, 0, 415, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 1966, 0, 0, 0, 0, 417,
2115 0, 0, 418, 0, 0, 0, 179, 1975, 0, 180, 0, 0, 181, 0, 182, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 46, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2117 610, 748, 612, 613, 614, 615, 450, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 1840, 0, 0, 0, 0, 0, 0, 0, 2271, 598, 599, 600, 601, 602, 603, 604,
2119 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 2285, 2287, 0, 0, 616, 0, 0, 0,
2120 0, 0, 2039, 0, 0, 2295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 464,
2121 0, 0, 419, 420, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 0, 0, 0, 423,
2122 0, 424, 122, 464, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2123 613, 614, 615, 0, 0, 0, 0, 616, 0, 456, 457, 2082, 437, 0, 0, 1516, -582, 0, 1636,
2124 0, 0, 0, 0, 0, 0, 0, 2091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 465, 0, 0, 0, 475, 0, 0, 0, 0, 481, 0, 0, 1840, 0, 0, 0, 486,
2126 0, 0, 488, 0, 0, 7, 8, 0, 0, 2121, 0, 0, 1814, 0, 0, 0, 0, 0, 0,
2127 497, 498, 499, 0, 501, 502, 503, 0, 505, 506, 507, 508, 509, 510, 511, 0, 513, 514, 515,
2128 516, 0, 0, 0, 0, 520, 520, 0, 0, 0, 0, 0, 1840, 598, 599, 600, 601, 602, 603,
2129 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 464, 616, 0, 464,
2130 0, 1818, 0, 2166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, 796, 0, 29,
2131 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 464, 0, 0, 43, 44, 45, 46,
2132 0, 0, 48, 0, 0, 0, 584, 586, 588, 589, 520, 790, 57, 0, 0, 60, 791, 0, 792,
2133 793, 0, 794, 0, 0, 0, 623, 520, 520, 464, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2134 0, 81, 0, 0, 0, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 652, 0, 0,
2135 0, 0, 652, 0, 0, 0, 0, 0, 0, 98, 99, 100, 520, 674, 0, 0, 0, 0, 0,
2136 0, 0, 1840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 693, 520, 0, 0,
2137 0, 0, 0, 0, 0, 0, 0, 703, 0, 705, 706, 0, 708, 0, 0, 0, 711, 712, 713,
2138 0, 0, 714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1840, 598, 599, 600, 601,
2139 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2140 0, 0, 0, 0, 747, 0, 0, 0, 0, 520, 756, 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 797, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2143 613, 614, 615, 0, 0, 0, 828, 616, 0, 0, 0, 833, 0, 0, 0, 837, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 851, 586, 0, 0, 0, 0, 856, 0, 0,
2145 0, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 878,
2146 879, 880, 881, 882, 883, 884, 885, 886, 886, 0, 891, 892, 0, 894, 0, 0, 0, 0, 0,
2147 796, 0, 0, 0, 904, 0, 0, 908, 909, 0, 0, 0, 0, 522, 523, 886, 0, 0, 0,
2148 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 926, 927, 928, 929, 930, 931,
2149 932, 933, 934, 935, 936, 937, 938, 939, 941, 943, 944, 945, 946, 947, 0, 949, 950, 0, 0,
2150 0, 0, 0, 0, 957, 958, 959, 0, 0, 796, 0, 0, 965, 966, 967, 968, 0, 520, 520,
2151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 584, 747,
2152 988, 0, 0, 0, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 0, 0, 624, 625, 0, 1008,
2153 1009, 0, 1011, 0, 0, 1013, 0, 0, 0, 520, 520, 520, 1018, 0, 0, 0, 1022, 520, 1024,
2154 1025, 1026, 0, 0, 1027, 464, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 673, 0, 0, 0, 464, 464, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464,
2156 0, 0, 520, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 1070, 0, 0, 949, 950, 0, 0,
2157 0, 0, 0, 0, 0, 1083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 0, 0, 0, 520, 0, 1099, 0, 0, 521, 521, 1102, 1103, 0, 0, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 520, 0, 1119, 1120, 0, 0, 520, 0, 520, 1126, 755, 0,
2160 0, 1119, 0, 1133, 0, 1134, 0, 0, 0, 0, 0, 1139, 0, 0, 0, 1142, 0, 0, 0,
2161 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0,
2162 1163, 0, 941, 616, 1166, 776, 0, 777, 0, 0, 0, 587, 0, 1796, 521, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 0, 0, 0, 0, 0, 0,
2164 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 1212, 1213, 1214, 0, 0, 0,
2165 0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 0, 0, 0, 0,
2167 0, 521, 0, 0, 0, 0, 0, 520, 0, 919, 0, 0, 0, 0, 0, 1255, 0, 0, 0,
2168 1261, 0, 0, 0, 0, 0, 1267, 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 1277, 1278,
2169 0, 0, 0, 0, 1281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 1307, 0, 0, 1309, 971, 972, 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1330, 0, 1332, 1333, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 1824, 0, 1015, 1016,
2173 1017, 0, 0, 0, 0, 0, 1023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 1374, 0, 0, 0, 0, 0, 0, 1380, 0, 0, 0, 0, 0, 0, 1393, 587, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 1416, 1417, 1063, 0, 0, 0, 520, 0, 0, 0, 0,
2176 0, 0, 877, 0, 0, 0, 0, 0, 0, 0, 0, 887, 888, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 1446, 0, 0, 0, 1095, 0, 0, 0, 0, 0, 0,
2178 915, 0, 0, 0, 0, 521, 0, 0, 0, 0, 0, 520, 0, 0, 0, 1117, 0, 0, 0,
2179 0, 0, 1123, 0, 1125, 0, 0, 0, 0, 0, 1470, 0, 942, 0, 0, 0, 0, 0, 0,
2180 0, 1471, 1472, 1473, 1474, 1475, 0, 0, 0, 0, 1477, 1478, 0, 1479, 0, 0, 0, 0, 0,
2181 0, 0, 521, 521, 0, 0, 0, 0, 0, 0, 1490, 1491, 0, 0, 0, 0, 0, 0, 1494,
2182 1495, 0, 0, 0, 0, 0, 0, 0, 1499, 1500, 0, 0, 0, 0, 1506, 1507, 0, 0, 0,
2183 0, 520, 520, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 521, 521, 521, 0, 0, 0,
2184 0, 1211, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 598,
2185 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2186 0, 0, 616, 1240, 0, 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 1573, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 0, 0, 0, 0, 1270, 0,
2188 0, 1588, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 1506, 1507, 0, 0, 0, 1605, 0, 521, 0, 0, 0, 0, 0, 521, 0,
2190 521, 1611, 0, 0, 1616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 173, 397, 0, 1937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1638, 0, 0, 1641, 520,
2192 1644, 520, 0, 0, 0, 0, 942, 0, 1167, 1653, 0, 0, 1656, 0, 1653, 0, 1660, 1662, 597,
2193 0, 1670, 1671, 0, 0, 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406, 0, 0, 0,
2194 0, 407, 408, 409, 410, 0, 521, 0, 0, 411, 412, 413, 414, 0, 0, 0, 521, 0, 415,
2195 0, 416, 0, 1423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 418,
2196 0, 0, 0, 179, 0, 0, 180, 0, 0, 181, 0, 182, 0, 0, 0, 0, 0, 0, 521,
2197 0, 0, 0, 46, 0, 1740, 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 1749, 1750, 1751,
2198 1468, 0, 0, 450, 0, 0, 1757, 0, 1759, 0, 0, 0, 0, 521, 0, 1762, 0, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 0, 0, 0, 0, 0, 1780, 1781, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 1788, 1789, 1790, 0, 0, 0, 0, 0, 0, 0, 1799,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 419,
2202 420, 421, 0, 0, 0, 0, 0, 0, 0, 1511, 1512, 422, 1828, 0, 0, 423, 0, 424, 122,
2203 0, 1837, 1838, 1938, 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2204 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 776, 779, 777, 1830, 0, 0, 0, 0, 1867,
2205 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 521,
2206 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 1586, 0, 1884, 1885, 1886, 0, 0, 0, 0, 0, 0, 0, 2030, 1887, 0, 0, 0, 0,
2208 1890, 1891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0, 521, 0, 0, 0,
2209 0, 520, 520, 1907, 0, 1908, 0, 0, 0, 0, 0, 1916, 1917, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 905, 0, 0, 0, 0, 0, 0, 520, 0, 0, 0, 0, 520, 1936, 0,
2211 0, 0, 0, 0, 0, 0, 0, 1643, 0, 1645, 0, 0, 1949, 0, 0, 1952, 0, 0, 0,
2212 1954, 0, 0, 0, 0, 0, 0, 0, 0, 1890, 1891, 0, 1963, 0, 0, 0, 0, 0, 953,
2213 0, 0, 0, 1970, 0, 521, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1981, 0,
2214 0, 0, 0, 1987, 1988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1993, 0,
2215 0, 1994, 1993, 0, 1997, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2216 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 520,
2217 520, 0, 0, 0, 0, 0, 2024, 2025, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 2033,
2218 0, 0, 0, 0, 0, 0, 0, 0, 2042, 0, 0, 0, 0, 0, 0, 0, 0, 586, 1777,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2054, 2055, 0, 0, 520, 598, 599, 600,
2220 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2221 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2079, 2080, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 521, 0, 521, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 0, 0, 0, 520,
2223 520, 2098, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 0, 0,
2225 0, 0, 0, 0, 0, 0, 2132, 0, 0, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181,
2226 1182, 0, 1184, 1185, 1186, 1187, 0, 1189, 1190, 1191, 1192, 0, 2143, 0, 0, 178, 0, 184, 2148,
2227 0, 0, 2149, 0, 1204, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0,
2228 0, 0, 0, 0, 0, 0, 1223, 1224, 0, 1905, 1906, 0, 0, 0, 2173, 1235, 0, 0, 2057,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0, 0,
2230 0, 0, 2191, 2192, 0, 1935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2198, 2199,
2231 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2208, 0, 0, 0, 0,
2232 520, 520, 520, 520, 520, 0, 0, 0, 0, 0, 1987, 0, 0, 0, 2224, 0, 0, 0, 0,
2233 0, 0, 0, 0, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 2244, 0, 0, 0, 0, 2247, 2248, 0, 0, 0, 0, 0, 0, 0, 0, 1336,
2235 1338, 1339, 520, 1868, 0, 1343, 1344, 0, 0, 1347, 1348, 1349, 1350, 0, 1352, 0, 0, 0, 0,
2236 1358, 0, 0, 0, 0, 0, 0, 2020, 2021, 0, 2275, 2276, 0, 0, 0, 0, 0, 0, 0,
2237 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2238 544, 545, 546, 547, 548, 549, 550, 551, 552, 555, 556, 557, 558, 559, 560, 0, 562, 563, 0,
2239 0, 0, 0, 0, 2056, 521, 521, 569, 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2240 2071, 579, 580, 173, 397, 0, 1445, 0, 1447, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0,
2241 0, 521, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2242 615, 0, 0, 0, 0, 616, 0, 2096, 2097, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406,
2243 0, 0, 0, 0, 407, 408, 409, 410, 0, 2115, 0, 0, 411, 412, 413, 414, 0, 0, 0,
2244 0, 0, 415, 0, 416, 2125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417,
2245 0, 0, 418, 0, 0, 0, 179, 0, 0, 180, 0, 0, 181, 0, 182, 0, 1508, 0, 0,
2246 0, 0, 0, 0, 0, 0, 46, 715, 716, 717, 0, 0, 0, 721, 722, 723, 724, 725, 726,
2247 727, 0, 728, 521, 521, 0, 450, 729, 730, 0, 2105, 733, 0, 0, 0, 0, 0, 0, 0,
2248 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250 521, 0, 0, 0, 0, 0, 2106, 0, 0, 2200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 419, 420, 421, 0, 0, 0, 2212, 2213, 2214, 2215, 2217, 0, 422, 0, 0, 0, 423,
2252 0, 424, 122, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2253 614, 615, 0, 521, 521, 0, 616, 0, 0, 0, 0, 0, 1625, 0, 0, 0, 1830, 0, 0,
2254 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 2256, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1664, 0,
2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 923, 0, 0, 0, 0, 0, 0,
2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 0,
2258 0, 0, 0, 1712, 1713, 0, 0, 0, 0, 0, 1715, 0, 0, 1717, 0, 0, 0, 1721, 0,
2259 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1730, 598, 599, 600, 601, 602, 603,
2260 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0,
2261 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 0, 521, 521, 521, 521, 521, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2263 608, 609, 610, 748, 612, 613, 614, 615, 2185, 0, 0, 0, 616, 1794, 0, 1797, 0, 0, 0,
2264 1804, 0, 1806, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2265 613, 614, 615, 0, 0, 0, 521, 616, 0, 1020, 0, 0, 0, 0, 0, 1831, 0, 981, 0,
2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 6, 397, 0, 0, 0,
2267 0, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2268 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 2231,
2269 0, 0, 1665, 399, 400, 401, 402, 403, 404, 405, 406, 253, 254, 255, 256, 407, 408, 409, 410,
2270 257, 258, 0, 0, 411, 412, 413, 414, 0, 0, 259, 260, 261, 415, 0, 416, 262, 263, 264,
2271 2154, 1892, 0, 0, 0, 0, 0, 0, 265, 25, 417, 266, 0, 418, 0, 0, 0, 267, 0,
2272 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0,
2273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 1230, 273, 0, 274, 0,
2274 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80,
2275 0, 0, 0, 84, 0, 0, 0, 88, 0, 1247, 0, 598, 599, 600, 601, 602, 603, 604, 605,
2276 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 1978, 276, 616, 1979, 0, 0, 0,
2277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 419, 420, 421, 278, 279, 0,
2278 0, 0, 0, 280, 281, 282, 422, 283, 284, 285, 423, 0, 424, 122, 0, 0, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 2013, 2014, 0, 2016, 286, 287, 0, 0, 0, 0, 0, 288,
2280 0, 0, 0, 0, 371, 0, 0, 0, 1666, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0,
2281 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2282 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2060,
2283 2061, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2284 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218,
2285 6, 397, 0, 0, 1438, 0, 219, 220, 221, 0, 2092, 222, 223, 224, 225, 226, 227, 228, 229,
2286 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2287 249, 250, 251, 252, 0, 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406, 253, 254, 255,
2288 256, 407, 408, 409, 410, 257, 258, 0, 0, 411, 412, 413, 414, 0, 0, 259, 260, 261, 415,
2289 0, 416, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 417, 266, 0, 418,
2290 0, 0, 0, 267, 0, 0, 268, 1498, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42,
2291 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59,
2292 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75,
2293 76, 77, 78, 79, 80, 597, 0, 0, 84, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0, 0, 0, 0, 0, 0, 276,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 277, 419,
2296 420, 421, 278, 279, 0, 0, 0, 0, 280, 281, 282, 422, 283, 284, 285, 423, 0, 424, 122,
2297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 287, 0,
2298 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 2265, 0, 0, 290, 0, 0, 291, 1626, 1627,
2299 0, 218, 173, 397, 0, 449, 0, 0, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227,
2300 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243, 244, 245, 246,
2301 247, 0, 0, 0, 0, 0, 0, 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406, 253,
2302 254, 255, 256, 407, 408, 409, 410, 257, 0, 0, 0, 411, 412, 413, 414, 0, 0, 0, 0,
2303 0, 415, 0, 416, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 417, 266,
2304 1719, 418, 0, 0, 0, 179, 0, 0, 180, 1726, 0, 181, 0, 182, 0, 0, 0, 0, 0,
2305 0, 0, 0, 0, 0, 46, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2306 852, 612, 613, 614, 615, 450, 0, 0, 0, 616, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2307 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 598, 599, 600, 601, 602,
2308 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2309 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 451, 0, 0, 0, 0, 0, 0,
2310 277, 419, 420, 421, 278, 0, 0, 0, 0, 0, 280, 281, 282, 422, 283, 284, 285, 423, 0,
2311 424, 122, 0, 452, 453, 454, 455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
2312 436, 0, 0, 0, 0, 0, 288, 0, 456, 457, 0, 458, 0, 459, 218, 6, 370, 460, 291,
2313 0, 1865, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
2314 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0,
2316 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263,
2317 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267,
2318 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271,
2319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274,
2320 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79,
2321 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2322 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 0,
2323 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279,
2324 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 287, 0, 0, 0, 0, 0,
2326 288, 0, 0, 0, 0, 371, 218, 6, 0, 372, 0, 694, 291, 219, 220, 221, 0, 0, 222,
2327 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2328 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0,
2330 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0,
2331 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270,
2332 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0,
2333 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0,
2334 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0,
2335 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615,
2336 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2337 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0,
2338 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 0, 286, 519, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 218, 6,
2340 1765, 0, 590, 0, 291, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2341 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2342 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256,
2343 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0,
2344 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0,
2345 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0,
2346 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0,
2347 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76,
2348 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604,
2349 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0,
2350 0, 0, 1860, 0, 0, 0, 1861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0,
2351 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0,
2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 287, 0, 0,
2353 0, 0, 0, 288, 0, 0, 0, 0, 371, 218, 6, 0, 290, 0, 0, 291, 219, 220, 221,
2354 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2355 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0,
2357 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0,
2358 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0,
2359 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0,
2360 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0,
2361 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84,
2362 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2363 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 1912, 0, 0, 0, 1913, 0,
2364 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280,
2365 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 658, 1931, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0,
2367 660, 218, 6, 0, 334, 590, 0, 291, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227,
2368 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2369 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253,
2370 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260,
2371 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266,
2372 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0,
2373 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0,
2374 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73,
2375 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601,
2376 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2377 0, 276, 0, 0, 0, 1943, 0, 0, 0, 1944, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2378 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0,
2379 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
2380 287, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 289, 218, 6, 0, 290, 0, 0, 291,
2381 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2382 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0,
2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257,
2384 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0,
2385 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0,
2386 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0,
2388 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0,
2389 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2390 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 2117, 0, 0,
2391 0, 2118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0,
2392 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0,
2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 287, 0, 0, 0, 0, 0, 288, 0,
2394 0, 0, 0, 371, 218, 6, 0, 290, 0, 0, 291, 219, 220, 221, 0, 0, 222, 223, 224,
2395 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
2396 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2397 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0,
2398 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265,
2399 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270, 0, 0,
2400 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2401 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70,
2402 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0, 88, 598,
2403 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2404 0, 0, 616, 0, 276, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0, 0, 0, 0,
2405 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284,
2406 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2407 0, 0, 286, 519, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 218, 6, 0, 585,
2408 0, 0, 291, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2409 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2410 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0,
2411 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262,
2412 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0,
2413 267, 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0,
2414 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0,
2415 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78,
2416 79, 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2417 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0,
2418 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278,
2419 279, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0,
2420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 519, 0, 0, 0, 0,
2421 0, 288, 0, 0, 0, 0, 371, 218, 6, 0, 0, 590, 0, 291, 219, 220, 221, 0, 0,
2422 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2423 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0, 0, 0,
2425 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0,
2426 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0, 269, 0,
2427 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0,
2428 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0,
2429 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84, 0, 0,
2430 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2431 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 0, 0, 0, 0, 817, 0, 0, 0,
2432 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280, 281, 282,
2433 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 0, 0, 286, 287, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 628, 218,
2435 6, 0, 290, 0, 0, 291, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229,
2436 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2437 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255,
2438 256, 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0,
2439 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0,
2440 0, 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42,
2441 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59,
2442 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75,
2443 76, 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603,
2444 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276,
2445 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0,
2446 0, 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122,
2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 287, 0,
2448 0, 0, 0, 0, 288, 0, 0, 0, 0, 637, 218, 6, 0, 290, 0, 0, 291, 219, 220,
2449 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2450 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0,
2451 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0,
2452 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0,
2453 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0,
2454 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0,
2455 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0,
2456 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0,
2457 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2458 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 0, 0, 0, 0, 982,
2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0,
2460 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0,
2461 0, 0, 0, 0, 0, 0, 0, 0, 286, 519, 0, 0, 0, 0, 0, 288, 0, 0, 0,
2462 0, 371, 218, 6, 0, 940, 0, 1422, 291, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226,
2463 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2464 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2465 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259,
2466 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0,
2467 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0,
2468 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272,
2469 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72,
2470 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600,
2471 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2472 616, 0, 276, 0, 0, 0, 0, 0, 0, 0, 1033, 0, 0, 0, 0, 0, 0, 0, 0,
2473 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0,
2474 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2475 286, 519, 0, 0, 0, 0, 0, 288, 218, 6, 0, 0, 371, 1642, 0, 219, 220, 221, 0,
2476 291, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2477 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0, 0,
2479 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0,
2480 0, 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0, 269,
2481 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0,
2482 0, 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0, 0,
2483 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84, 0,
2484 0, 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2485 614, 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 0, 0, 0, 0, 1143, 0, 0,
2486 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280, 281,
2487 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2488 0, 0, 0, 0, 0, 0, 286, 519, 0, 0, 0, 0, 0, 288, 218, 6, 0, 0, 371,
2489 0, 0, 219, 220, 221, 0, 291, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
2490 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0,
2492 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263,
2493 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267,
2494 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271,
2495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274,
2496 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79,
2497 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2498 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 0,
2499 0, 0, 0, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279,
2500 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0,
2501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 287, 0, 0, 0, 0, 0,
2502 288, 0, 0, 0, 0, 371, 218, 6, 0, 1773, 0, 0, 291, 219, 220, 221, 0, 0, 222,
2503 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2504 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0,
2505 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0,
2506 0, 0, 0, 259, 260, 261, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0,
2507 0, 265, 25, 0, 266, 0, 0, 0, 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270,
2508 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0,
2509 0, 0, 0, 272, 0, 58, 59, 0, 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0,
2510 69, 70, 71, 72, 73, 0, 75, 76, 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0,
2511 88, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615,
2512 0, 0, 0, 0, 616, 0, 276, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0,
2513 0, 0, 0, 0, 0, 277, 0, 0, 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0,
2514 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2515 0, 0, 0, 0, 658, 1931, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 660, 218, 6,
2516 0, 334, 0, 0, 291, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2517 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2518 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256,
2519 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 261, 0, 0,
2520 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 0, 0, 0,
2521 0, 0, 267, 0, 0, 268, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 42, 0,
2522 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 58, 59, 0,
2523 273, 0, 274, 0, 0, 275, 0, 0, 0, 0, 0, 69, 70, 71, 72, 73, 0, 75, 76,
2524 77, 78, 79, 80, 0, 0, 0, 84, 0, 0, 0, 88, 598, 599, 600, 601, 602, 603, 604,
2525 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 276, 0,
2526 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0,
2527 0, 278, 279, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0,
2528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 519, 0, 0,
2529 0, 0, 0, 288, 218, 173, 397, 0, 371, 0, 0, 219, 220, 221, 0, 291, 222, 223, 224,
2530 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243,
2531 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 398, 399, 400, 401, 402, 403, 404,
2532 405, 406, 253, 254, 255, 256, 407, 408, 409, 410, 257, 0, 0, 0, 411, 412, 413, 414, 0,
2533 0, 0, 0, 0, 415, 0, 416, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265,
2534 25, 417, 266, 0, 418, 218, 173, 397, 0, 0, 0, 0, 219, 220, 221, 0, 0, 222, 223,
2535 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242,
2536 243, 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 398, 399, 400, 401, 402, 403,
2537 404, 405, 406, 253, 254, 255, 256, 407, 408, 409, 410, 257, 0, 0, 0, 411, 412, 413, 414,
2538 0, 0, 0, 0, 0, 415, 0, 416, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0,
2539 265, 25, 417, 266, 0, 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2540 0, 0, 0, 277, 419, 420, 421, 278, 0, 0, 0, 0, 0, 280, 281, 282, 422, 283, 284,
2541 285, 423, 0, 424, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2542 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 0, 0, 0, 1661,
2543 0, 0, 291, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2544 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1195, 0, 0,
2545 0, 0, 0, 0, 277, 419, 420, 421, 278, 0, 0, 0, 0, 0, 280, 281, 282, 422, 283,
2546 284, 285, 423, 0, 424, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2547 0, 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 218, 173, 397,
2548 1948, 0, 0, 291, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2549 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243, 244, 245, 246, 247, 0, 0, 0,
2550 0, 0, 0, 0, 0, 1665, 399, 400, 401, 402, 403, 404, 405, 406, 253, 254, 255, 256, 407,
2551 408, 409, 410, 257, 0, 0, 0, 411, 412, 413, 414, 0, 0, 0, 0, 0, 415, 0, 416,
2552 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 417, 266, 0, 418, 218, 173,
2553 397, 0, 0, 0, 0, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2554 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243, 244, 245, 246, 247, 0, 0,
2555 0, 0, 0, 0, 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406, 253, 254, 255, 256,
2556 407, 408, 409, 410, 257, 0, 0, 0, 411, 412, 413, 414, 0, 0, 0, 0, 0, 415, 0,
2557 416, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 417, 266, 0, 418, 0,
2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 419, 420, 421,
2559 278, 0, 0, 0, 0, 0, 280, 281, 282, 422, 283, 284, 285, 423, 0, 424, 122, 0, 0,
2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 436, 0, 0, 0,
2561 0, 0, 288, 0, 0, 0, 0, 371, 0, 0, 0, 1830, 0, 0, 291, 598, 599, 600, 601,
2562 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 1196, 0, 0, 0, 0, 0, 0, 277, 419, 420,
2564 421, 278, 0, 0, 0, 0, 0, 280, 281, 282, 422, 283, 284, 285, 423, 0, 424, 122, 0,
2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 436, 0, 0,
2566 0, 0, 0, 288, 218, 173, 0, 0, 371, 0, 0, 219, 220, 221, 0, 291, 222, 223, 224,
2567 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243,
2568 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2569 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0,
2570 0, 0, 0, 0, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 218, 173, 0, 265,
2571 25, 0, 266, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2572 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243, 244, 245, 246, 247, 0, 0, 0, 0,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0,
2574 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262,
2575 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 598, 599, 600, 601, 602,
2576 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2577 0, 0, 0, 277, 0, 0, 0, 278, 1197, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284,
2578 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 0, 0, 0, 640,
2580 0, 0, 291, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2581 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 277, 0, 1202, 0, 278,
2582 0, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0,
2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 659, 0, 0, 0, 0,
2584 0, 288, 0, 0, 0, 0, 660, 218, 173, 0, 334, 0, 907, 291, 219, 220, 221, 0, 0,
2585 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240,
2586 241, 242, 243, 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 218,
2589 173, 0, 265, 25, 0, 266, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228, 229,
2590 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243, 244, 245, 246, 247, 0,
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255,
2592 256, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2593 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 598, 599,
2594 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2595 0, 616, 0, 0, 0, 0, 277, 0, 0, 0, 278, 1203, 0, 0, 0, 0, 280, 281, 282,
2596 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2597 0, 0, 0, 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 0,
2598 0, 0, 0, 0, 0, 291, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2599 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 277, 0,
2600 1205, 0, 278, 0, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 436, 0,
2602 0, 0, 0, 0, 288, 218, 173, 0, 1373, 371, 1131, 0, 219, 220, 221, 0, 291, 222, 223,
2603 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242,
2604 243, 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0,
2606 0, 0, 0, 0, 0, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0,
2607 265, 25, 0, 266, 218, 173, 0, 1538, 0, 0, 0, 219, 220, 221, 0, 0, 222, 223, 224,
2608 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243,
2609 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2610 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0,
2611 0, 0, 0, 0, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265,
2612 25, 0, 266, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2613 613, 614, 615, 0, 277, 0, 0, 616, 278, 0, 0, 0, 0, 0, 280, 281, 282, 1323, 283,
2614 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371, 0, 0, 0,
2616 0, 0, 0, 291, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2617 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0,
2618 0, 0, 0, 277, 0, 0, 0, 278, 0, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284,
2619 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2620 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 218, 173, 0, 1604, 371, 0, 0, 219, 220,
2621 221, 0, 291, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2622 238, 435, 240, 241, 242, 243, 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2623 0, 0, 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, 0,
2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 263, 264, 0, 0, 0,
2625 0, 0, 218, 173, 0, 265, 25, 0, 266, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226,
2626 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243, 244, 245,
2627 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0,
2630 266, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615,
2631 0, 0, 0, 0, 616, 0, 0, 0, 0, 277, 0, 0, 0, 278, 1432, 0, 0, 0, 0,
2632 280, 281, 282, 0, 283, 284, 285, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0,
2633 0, 0, 0, 0, 0, 0, 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 0, 0, 0,
2634 0, 371, 0, 0, 0, 0, 0, 0, 291, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2635 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0,
2636 0, 277, 0, 1436, 0, 278, 0, 0, 0, 0, 0, 280, 281, 282, 0, 283, 284, 285, 0,
2637 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638 286, 436, 0, 0, 0, 0, 0, 288, 218, 173, 0, 0, 371, 1658, 0, 219, 220, 221, 0,
2639 291, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435,
2640 240, 241, 242, 243, 244, 245, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 0, 0, 0, 0, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, 0, 0, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0,
2643 218, 173, 0, 265, 25, 0, 266, 219, 220, 221, 0, 0, 222, 223, 224, 225, 226, 227, 228,
2644 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 435, 240, 241, 242, 243, 244, 245, 246, 247,
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 254,
2646 255, 256, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 0, 0, 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 265, 25, 0, 266, 598,
2648 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2649 0, 0, 616, 0, 0, 0, 0, 277, 0, 0, 0, 278, 1532, 0, 0, 0, 0, 280, 281,
2650 282, 0, 283, 284, 285, 0, 0, 0, 122, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 286, 436, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 371,
2652 1995, 0, 0, 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 598,
2653 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 277,
2654 0, 0, 616, 278, 0, 0, 0, 0, 0, 280, 281, 282, 1533, 283, 284, 285, 0, 0, 0,
2655 122, 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 286, 436,
2656 43, 44, 45, 46, 0, 288, 48, 0, 0, 0, 371, 0, 7, 8, 0, 790, 57, 291, 0,
2657 60, 791, 0, 792, 793, 0, 794, 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2658 39, 40, 41, 0, 0, 81, 43, 44, 45, 46, 0, 0, 48, 0, 0, 0, 0, 0, 0,
2659 0, 0, 790, 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 98, 99, 100, 7, 8, 0,
2660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2662 98, 99, 100, 43, 44, 45, 46, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 790,
2663 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 0, 0, 0, 0, 816, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2665 38, 39, 40, 41, 0, 7, 8, 43, 44, 45, 46, 0, 0, 48, 0, 0, 98, 99, 100,
2666 0, 989, 0, 790, 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1014, 29,
2670 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 0, 0, 43, 44, 45, 46,
2671 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 790, 57, 0, 0, 60, 791, 0, 792,
2672 793, 0, 794, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 81, 1065, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 0, 0,
2674 43, 44, 45, 46, 0, 0, 48, 0, 0, 98, 99, 100, 7, 8, 0, 790, 57, 0, 0,
2675 60, 791, 0, 792, 793, 0, 794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 98, 99, 100, 43, 44, 45,
2678 46, 0, 0, 48, 0, 0, 0, 0, 0, 0, 1067, 0, 790, 57, 0, 0, 60, 791, 0,
2679 792, 793, 0, 794, 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2680 0, 0, 81, 43, 44, 45, 46, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 790,
2681 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 98, 99, 100, 0, 1272, 7, 8, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2683 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 98, 99, 100,
2684 0, 0, 7, 8, 1580, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2685 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 1274, 0, 0, 0, 0, 0, 0, 1708,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2687 39, 40, 41, 0, 0, 0, 43, 44, 45, 46, 0, 0, 48, 0, 0, 0, 0, 1275, 7,
2688 8, 0, 790, 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 0, 0, 29, 30, 31, 32,
2689 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 0, 81, 43, 44, 45, 46, 0, 0, 48,
2690 0, 0, 0, 0, 0, 0, 0, 0, 790, 57, 0, 0, 60, 791, 0, 792, 793, 0, 794,
2691 98, 99, 100, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 33, 34, 35,
2693 36, 37, 38, 39, 40, 41, 98, 99, 100, 43, 44, 45, 46, 0, 0, 48, 0, 0, 0,
2694 0, 0, 0, 0, 0, 790, 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 0, 0, 0,
2695 0, 1294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 29, 30, 31,
2696 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 7, 8, 43, 44, 45, 46, 0, 0,
2697 48, 0, 0, 98, 99, 100, 0, 1313, 0, 790, 57, 0, 0, 60, 791, 0, 792, 793, 0,
2698 794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 1331, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0,
2702 0, 0, 43, 44, 45, 46, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 790, 57,
2703 0, 0, 60, 791, 0, 792, 793, 0, 794, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0,
2704 0, 0, 0, 0, 0, 0, 0, 81, 1365, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2705 39, 40, 41, 0, 0, 0, 43, 44, 45, 46, 0, 0, 48, 0, 0, 98, 99, 100, 0,
2706 0, 0, 790, 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2709 98, 99, 100, 43, 44, 45, 46, 0, 0, 48, 0, 0, 0, 0, 0, 0, 1530, 0, 790,
2710 57, 0, 0, 60, 791, 0, 792, 793, 0, 794, 0, 0, 0, 0, 0, -4, 1, 0, 0,
2711 -4, 0, 0, 0, 0, 0, 0, 0, 81, -4, -4, 0, 0, 0, 0, 0, 598, 599, 600,
2712 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 98, 99, 100,
2713 616, 2176, 0, 0, -4, -4, -4, 0, 0, 0, 1709, 0, 0, 0, 0, 0, 0, 0, 0,
2714 0, 0, 0, 0, 0, 0, -4, -4, -4, 0, 0, 0, 0, -4, -4, 0, 0, 0, 0,
2715 -4, 0, 0, 0, 0, -4, -4, -4, -4, -4, 0, -4, -4, 0, -4, 0, 0, 0, 0,
2716 -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 0, 2233, -4,
2717 -4, -4, -4, -4, -4, 0, -4, 0, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
2718 -4, -4, -4, -4, -4, -4, 0, 0, -4, -4, -4, 0, -4, -4, -4, -4, -4, -4, -4,
2719 -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 0, 0,
2720 0, -4, -4, -4, 0, 0, 0, -4, 0, 0, 0, 0, -4, -4, -4, -4, 0, 0, -4,
2721 0, -4, 0, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 0, 6,
2722 0, 0, 0, 0, -4, -4, -4, -4, 7, 8, 0, 0, 0, 0, 0, 0, -4, 0, -4,
2723 -4, 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2724 614, 615, 0, 9, 10, 11, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1710, 0, 0,
2725 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 17,
2726 0, 0, 0, 0, 18, 19, 20, 21, 22, 0, 23, 24, 0, 25, 0, 0, 0, 0, 26,
2727 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 0, 42, 43,
2728 44, 45, 46, 47, 0, 48, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2729 61, 62, 63, 64, 65, 0, 0, 66, 67, 68, 0, 69, 70, 71, 72, 73, 74, 75, 76,
2730 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 0, 0, 0,
2731 93, 94, 95, 0, 0, 0, 96, 0, 0, 0, 0, 97, 98, 99, 100, 173, 397, 101, 0,
2732 102, 0, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 0, 0, 0,
2733 0, 0, 0, 117, 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 122, 123,
2734 0, 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406, 0, 0, 0, 0, 407, 408, 409,
2735 410, 173, 397, 0, 0, 411, 412, 413, 414, 0, 0, 0, 0, 0, 415, 0, 416, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 418, 0, 0, 0, 179,
2737 428, 397, 180, 0, 0, 181, 0, 182, 398, 399, 400, 401, 402, 403, 404, 405, 406, 0, 46,
2738 0, 0, 407, 408, 409, 410, 0, 0, 0, 0, 411, 412, 413, 414, 0, 0, 0, 0, 450,
2739 415, 0, 416, 0, 0, 0, 0, 398, 399, 400, 401, 402, 403, 404, 405, 406, 417, 0, 0,
2740 418, 407, 408, 409, 410, 0, 0, 0, 0, 411, 412, 413, 414, 0, 0, 0, 0, 0, 415,
2741 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 418,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 420, 421, 0, 0,
2743 0, 0, 0, 0, 0, 0, 0, 422, 0, 0, 0, 423, 0, 424, 122, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 7, 8, 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2745 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0,
2746 419, 420, 421, 1858, 0, 0, 0, 0, 0, 0, 0, 0, 422, 0, 0, 0, 423, 0, 424,
2747 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419,
2748 420, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 0, 0, 0, 423, 0, 424, 29,
2749 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 0, 0, 43, 44, 45, 46,
2750 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 790, 57, 0, 0, 60, 791, 0, 792,
2751 793, 0, 794, 0, 0, 0, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752 0, 81, 0, 0, 0, 1078, 0, 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2753 608, 609, 610, 748, 612, 613, 614, 615, 0, 98, 99, 100, 616, 0, 0, 0, 0, 0, 0,
2754 0, 0, 0, 1982, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2755 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1983, 598,
2756 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2757 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2015, 598, 599, 600, 601, 602, 603,
2758 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0,
2759 0, 0, 0, 0, 0, 0, 0, 2087, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2760 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0,
2761 0, 0, 2144, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2762 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 598, 599,
2763 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2764 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2160, 598, 599, 600, 601, 602, 603, 604,
2765 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0,
2766 0, 0, 0, 0, 0, 0, 2194, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2767 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0,
2768 0, 2221, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2769 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2226, 598, 599, 600,
2770 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2771 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2227, 598, 599, 600, 601, 602, 603, 604, 605,
2772 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0,
2773 0, 849, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2774 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1112, 598, 599, 600, 601, 602, 603, 604,
2775 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0,
2776 0, 0, 1170, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2777 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1218, 598, 599, 600, 601, 602, 603,
2778 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0,
2779 0, 0, 0, 1219, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2780 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1264, 598, 599, 600, 601, 602,
2781 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2782 0, 0, 0, 0, 1297, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2783 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1311, 598, 599, 600, 601,
2784 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2785 0, 0, 0, 0, 0, 1318, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2786 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1379, 598, 599, 600,
2787 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2788 616, 0, 0, 0, 0, 0, 1399, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2789 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1435, 598, 599,
2790 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2791 0, 616, 0, 0, 0, 0, 0, 1484, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2792 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1485, 598,
2793 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2794 0, 0, 616, 0, 0, 0, 0, 0, 1486, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2795 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1489,
2796 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0,
2797 0, 0, 0, 616, 0, 0, 0, 0, 0, 1534, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2798 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0,
2799 1610, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615,
2800 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1910, 598, 599, 600, 601, 602, 603, 604, 605,
2801 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0,
2802 0, 1921, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2803 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 1962, 598, 599, 600, 601, 602, 603, 604,
2804 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0,
2805 0, 0, 2036, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2806 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 2052, 598, 599, 600, 601, 602, 603,
2807 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0,
2808 0, 0, 0, 2064, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2809 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 2088, 598, 599, 600, 601, 602,
2810 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2811 0, 0, 0, 0, 2123, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2812 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 2133, 598, 599, 600, 601,
2813 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2814 0, 0, 0, 0, 0, 2134, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2815 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 2158, 598, 599, 600,
2816 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2817 616, 0, 0, 0, 0, 0, 2207, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2818 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 2246, 598, 599,
2819 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2820 0, 616, 0, 0, 0, 0, 0, 2264, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2821 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 2282, 598,
2822 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2823 0, 0, 616, 0, 0, 0, 0, 0, 2283, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2824 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 749, 598,
2825 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2826 0, 0, 616, 0, 0, 0, 0, 973, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2827 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 0, 2029, 598, 599,
2828 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2829 0, 616, 0, 776, 0, 777, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2830 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 1039, 598, 599, 600, 601, 602,
2831 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2832 0, 0, 1088, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2833 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 1243, 598, 599, 600, 601, 602, 603, 604, 605,
2834 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 1312,
2835 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0,
2836 0, 0, 0, 616, 0, 0, 0, 1314, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2837 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 1321, 598, 599, 600,
2838 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2839 616, 0, 0, 0, 1322, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2840 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 1414, 598, 599, 600, 601, 602, 603,
2841 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0,
2842 0, 1428, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2843 615, 0, 0, 0, 0, 616, 0, 0, 0, 1639, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2844 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 1729, 598,
2845 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2846 0, 0, 616, 0, 0, 0, 1782, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2847 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 1974, 598, 599, 600, 601,
2848 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2849 0, 0, 0, 2019, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2850 613, 614, 615, 0, 0, 0, 0, 616, 0, 0, 0, 2037, 598, 599, 600, 601, 602, 603, 604,
2851 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 830, 598,
2852 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2853 0, 0, 616, 0, 831, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2854 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 832, 598, 599, 600, 601, 602, 603, 604, 605,
2855 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 834, 598, 599,
2856 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2857 0, 616, 0, 835, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2858 613, 614, 615, 0, 0, 0, 0, 616, 0, 836, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2859 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 838, 598, 599, 600,
2860 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2861 616, 0, 839, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2862 614, 615, 0, 0, 0, 0, 616, 0, 840, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2863 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 841, 598, 599, 600, 601,
2864 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2865 0, 842, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2866 615, 0, 0, 0, 0, 616, 0, 843, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2867 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 844, 598, 599, 600, 601, 602,
2868 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2869 846, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615,
2870 0, 0, 0, 0, 616, 0, 847, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2871 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 848, 598, 599, 600, 601, 602, 603,
2872 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 920,
2873 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0,
2874 0, 0, 0, 616, 0, 954, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2875 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1003, 598, 599, 600, 601, 602, 603, 604,
2876 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1020, 598,
2877 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2878 0, 0, 616, 0, 1028, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2879 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1030, 598, 599, 600, 601, 602, 603, 604, 605,
2880 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1031, 598, 599,
2881 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2882 0, 616, 0, 1037, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2883 613, 614, 615, 0, 0, 0, 0, 616, 0, 1038, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2884 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1076, 598, 599, 600,
2885 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2886 616, 0, 1087, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2887 614, 615, 0, 0, 0, 0, 616, 0, 1148, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2888 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1152, 598, 599, 600, 601,
2889 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2890 0, 1164, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2891 615, 0, 0, 0, 0, 616, 0, 1242, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2892 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1252, 598, 599, 600, 601, 602,
2893 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2894 1253, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615,
2895 0, 0, 0, 0, 616, 0, 1254, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2896 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1263, 598, 599, 600, 601, 602, 603,
2897 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1265,
2898 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0,
2899 0, 0, 0, 616, 0, 1266, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2900 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1296, 598, 599, 600, 601, 602, 603, 604,
2901 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1298, 598,
2902 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2903 0, 0, 616, 0, 1299, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2904 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1300, 598, 599, 600, 601, 602, 603, 604, 605,
2905 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1301, 598, 599,
2906 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2907 0, 616, 0, 1302, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2908 613, 614, 615, 0, 0, 0, 0, 616, 0, 1303, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2909 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1304, 598, 599, 600,
2910 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2911 616, 0, 1310, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2912 614, 615, 0, 0, 0, 0, 616, 0, 1324, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2913 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1326, 598, 599, 600, 601,
2914 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616,
2915 0, 1364, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614,
2916 615, 0, 0, 0, 0, 616, 0, 1413, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2917 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1427, 598, 599, 600, 601, 602,
2918 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0,
2919 1640, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615,
2920 0, 0, 0, 0, 616, 0, 1675, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2921 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1716, 598, 599, 600, 601, 602, 603,
2922 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1728,
2923 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0,
2924 0, 0, 0, 616, 0, 1845, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
2925 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1847, 598, 599, 600, 601, 602, 603, 604,
2926 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1850, 598,
2927 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0,
2928 0, 0, 616, 0, 1857, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748,
2929 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1911, 598, 599, 600, 601, 602, 603, 604, 605,
2930 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 1920, 598, 599,
2931 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0,
2932 0, 616, 0, 1947, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612,
2933 613, 614, 615, 0, 0, 0, 0, 616, 0, 2018, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2934 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 2085, 598, 599, 600,
2935 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0,
2936 616, 0, 2086, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613,
2937 614, 615, 0, 0, 0, 0, 616, 0, 2220, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2938 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616, 0, 2261, 598, 599, 600, 601,
2939 602, 603, 604, 605, 606, 607, 608, 609, 610, 748, 612, 613, 614, 615, 0, 0, 0, 0, 616};
2942 3, 1295, 3, 327, 1291, 773, 655, 656, 163, 1493, 6, 779, 1767, 64, 167, 1813, 4, 1815, 149,
2943 96, 460, 4, 25, 4, 4, 25, 4, 4, 1998, 4, 108, 7, 6, 108, 1800, 4, 6, 144,
2944 5, 4, 4, 112, 5, 114, 6, 9, 5, 5, 14, 4, 4, 6, 4, 56, 4, 4, 7,
2945 105, 6, 6, 108, 109, 110, 6, 4, 6, 165, 6, 253, 254, 260, 4, 262, 121, 259, 4,
2946 102, 108, 149, 269, 7, 6, 85, 9, 36, 37, 36, 37, 91, 196, 9, 108, 261, 96, 193,
2947 121, 36, 37, 101, 1865, 269, 7, 133, 36, 37, 9, 144, 178, 264, 112, 209, 210, 268, 184,
2948 105, 102, 133, 108, 105, 9, 9, 108, 260, 110, 162, 0, 264, 1882, 205, 94, 121, 9, 248,
2949 249, 121, 173, 174, 175, 215, 263, 188, 179, 180, 6, 260, 269, 149, 102, 264, 150, 261, 154,
2950 155, 156, 6, 6, 248, 249, 269, 6, 163, 111, 112, 149, 150, 70, 71, 7, 73, 155, 6,
2951 111, 112, 265, 108, 248, 249, 7, 111, 112, 620, 260, 260, 2153, 7, 260, 339, 248, 249, 250,
2952 251, 252, 253, 254, 7, 169, 269, 200, 259, 248, 249, 260, 205, 248, 249, 358, 209, 210, 259,
2953 260, 261, 181, 215, 216, 217, 261, 260, 257, 258, 181, 269, 248, 249, 269, 269, 276, 266, 265,
2954 208, 183, 184, 185, 186, 261, 311, 312, 313, 1721, 266, 204, 261, 195, 269, 197, 198, 199, 200,
2955 201, 269, 263, 231, 205, 206, 231, 208, 269, 231, 233, 234, 235, 236, 260, 231, 1550, 260, 264,
2956 231, 231, 264, 272, 260, 2026, 260, 265, 351, 352, 353, 269, 431, 262, 433, 264, 231, 260, 287,
2957 268, 267, 290, 291, 264, 443, 291, 369, 257, 258, 264, 260, 264, 262, 264, 264, 264, 266, 306,
2958 307, 264, 264, 310, 311, 312, 313, 265, 261, 753, 263, 266, 264, 264, 321, 1087, 1088, 264, 325,
2959 264, 327, 264, 2081, 233, 234, 235, 236, 260, 149, 260, 260, 262, 262, 154, 155, 156, 266, 260,
2960 105, 262, 264, 108, 349, 787, 351, 352, 353, 257, 258, 257, 258, 4, 260, 260, 262, 263, 266,
2961 260, 266, 262, 804, 264, 369, 257, 258, 372, 260, 260, 262, 262, 814, 4, 266, 266, 449, 257,
2962 258, 261, 260, 200, 262, 248, 249, 6, 266, 269, 2188, 243, 244, 233, 234, 235, 236, 248, 249,
2963 6, 217, 248, 249, 233, 234, 235, 236, 243, 244, 564, 233, 234, 235, 236, 4, 260, 4, 257,
2964 258, 264, 233, 234, 235, 236, 261, 330, 331, 257, 258, 248, 249, 8, 269, 338, 339, 6, 439,
2965 265, 441, 248, 249, 269, 445, 446, 257, 258, 36, 37, 36, 37, 269, 248, 249, 248, 249, 248,
2966 249, 260, 461, 262, 269, 102, 6, 266, 105, 468, 269, 108, 2223, 248, 249, 265, 269, 102, 269,
2967 269, 269, 106, 248, 249, 121, 260, 922, 112, 113, 264, 115, 116, 248, 249, 493, 644, 266, 646,
2968 647, 269, 261, 261, 575, 269, 149, 150, 151, 152, 269, 269, 155, 144, 137, 269, 663, 582, 248,
2969 249, 6, 164, 519, 144, 2273, 168, 1169, 111, 112, 111, 112, 162, 261, 6, 263, 682, 262, 261,
2970 2016, 269, 269, 162, 173, 174, 175, 269, 262, 544, 179, 180, 248, 249, 173, 174, 175, 260, 553,
2971 554, 179, 180, 260, 558, 709, 560, 561, 562, 563, 564, 717, 248, 249, 269, 261, 570, 263, 248,
2972 249, 574, 575, 576, 269, 578, 579, 580, 581, 260, 583, 581, 585, 583, 269, 260, 248, 249, 260,
2973 144, 269, 248, 249, 149, 150, 260, 749, 248, 249, 155, 248, 249, 264, 193, 194, 193, 194, 162,
2974 611, 56, 248, 249, 269, 264, 617, 144, 248, 249, 173, 174, 175, 269, 439, 123, 179, 180, 248,
2975 249, 265, 257, 258, 269, 264, 162, 257, 258, 639, 640, 265, 265, 260, 264, 773, 269, 173, 174,
2976 175, 269, 265, 1089, 179, 180, 269, 264, 655, 656, 1305, 248, 249, 730, 237, 238, 239, 240, 241,
2977 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 269, 248, 249, 260, 259, 248,
2978 249, 688, 689, 690, 265, 105, 248, 249, 108, 696, 110, 261, 260, 263, 265, 261, 269, 263, 269,
2979 269, 269, 121, 105, 269, 260, 108, 265, 110, 715, 716, 717, 718, 719, 720, 721, 722, 723, 260,
2980 725, 726, 727, 728, 729, 260, 731, 732, 733, 734, 735, 265, 734, 738, 261, 269, 263, 6, 7,
2981 558, 793, 560, 269, 562, 563, 750, 653, 654, 260, 1519, 265, 658, 257, 258, 269, 260, 829, 262,
2982 763, 578, 579, 250, 251, 252, 253, 254, 261, 216, 263, 264, 259, 257, 258, 778, 260, 260, 262,
2983 262, 264, 784, 257, 258, 6, 260, 1226, 262, 1228, 265, 260, 265, 108, 269, 110, 269, 8, 800,
2984 801, 108, 265, 1241, 265, 806, 269, 808, 269, 265, 811, 812, 265, 269, 265, 261, 269, 263, 269,
2985 820, 6, 822, 951, 110, 265, 265, 977, 272, 269, 269, 265, 264, 264, 1271, 269, 242, 243, 244,
2986 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 260, 1615, 265, 852, 259, 854, 269, 260, 265,
2987 265, 264, 1625, 269, 269, 108, 265, 265, 310, 3, 269, 269, 265, 265, 265, 264, 269, 269, 269,
2988 321, 265, 265, 265, 325, 269, 269, 269, 265, 2177, 260, 265, 269, 890, 27, 269, 105, 260, 265,
2989 964, 1334, 1335, 269, 900, 260, 716, 262, 718, 719, 720, 721, 722, 723, 264, 725, 726, 727, 728,
2990 108, 265, 731, 732, 733, 269, 266, 1359, 268, 924, 2209, 265, 63, 265, 1366, 269, 265, 269, 265,
2991 265, 269, 264, 269, 269, 260, 940, 262, 265, 2234, 8, 1073, 269, 265, 1385, 265, 265, 269, 952,
2992 269, 269, 260, 264, 262, 265, 1087, 1088, 961, 269, 105, 265, 265, 265, 2251, 269, 269, 269, 6,
2993 105, 973, 265, 1412, 1104, 4, 269, 6, 265, 117, 265, 8, 269, 108, 269, 265, 265, 1426, 265,
2994 269, 269, 108, 269, 265, 1433, 811, 4, 269, 265, 445, 446, 265, 269, 265, 265, 269, 822, 269,
2995 269, 265, 265, 149, 4, 269, 269, 461, 154, 155, 156, 6, 265, 1091, 4, 4, 269, 163, 237,
2996 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 261, 260,
2997 263, 264, 259, 6, 260, 260, 6, 6, 265, 262, 260, 262, 264, 6, 268, 264, 200, 6, 260,
2998 9, 1389, 268, 260, 260, 260, 260, 260, 196, 196, 260, 980, 196, 264, 217, 1082, 264, 133, 987,
2999 260, 260, 260, 991, 1090, 260, 196, 264, 260, 260, 260, 264, 1098, 260, 4, 264, 264, 260, 264,
3000 264, 1752, 1753, 260, 260, 260, 1111, 260, 260, 1242, 1243, 1116, 561, 6, 260, 6, 6, 258, 262,
3001 264, 7, 264, 264, 262, 264, 574, 6, 576, 264, 262, 262, 6, 196, 274, 275, 264, 260, 260,
3002 6, 260, 6, 1146, 1147, 260, 1149, 1150, 1151, 260, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
3003 1162, 260, 260, 1165, 7, 8, 260, 262, 264, 1169, 6, 237, 238, 239, 240, 241, 242, 243, 244,
3004 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 8, 6, 8, 260, 259, 264, 261, 7, 263,
3005 6, 264, 264, 6, 264, 97, 7, 1207, 1208, 1209, 265, 269, 237, 238, 239, 240, 241, 242, 243,
3006 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 269, 261, 6, 1233, 259, 6, 261, 261,
3007 264, 67, 8, 264, 264, 1145, 264, 264, 264, 259, 7, 1249, 1250, 1251, 237, 238, 239, 240, 241,
3008 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 266, 7, 260, 6, 259, 261,
3009 7, 264, 6, 193, 7, 6, 6, 265, 265, 1413, 1414, 264, 263, 265, 261, 6, 264, 266, 7,
3010 6, 262, 1618, 260, 264, 6, 6, 1116, 439, 6, 6, 1306, 1305, 6, 262, 7, 261, 7, 7,
3011 450, 7, 7, 7, 7, 763, 7, 7, 7, 7, 7, 1325, 7, 1327, 1328, 7, 7, 7, 264,
3012 6, 261, 263, 472, 1337, 269, 269, 269, 265, 1342, 269, 261, 7, 1346, 265, 7, 264, 266, 487,
3013 264, 4, 6, 1355, 266, 1357, 265, 265, 1360, 144, 264, 7, 6, 266, 7, 7, 7, 1437, 261,
3014 1439, 261, 269, 269, 9, 1376, 261, 196, 269, 263, 268, 1819, 7, 264, 266, 2032, 165, 265, 1389,
3015 6, 6, 6, 49, 1208, 1209, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3016 250, 251, 252, 253, 254, 1414, 266, 49, 260, 259, 1419, 264, 1421, 558, 260, 560, 264, 562, 563,
3017 564, 260, 266, 266, 7, 260, 7, 7, 269, 261, 196, 1439, 7, 7, 578, 579, 5, 7, 6,
3018 269, 261, 7, 7, 1451, 7, 1603, 7, 1455, 7, 1607, 239, 240, 241, 242, 243, 244, 245, 246,
3019 247, 248, 249, 250, 251, 252, 253, 254, 1626, 1627, 4, 120, 259, 264, 924, 6, 6, 260, 7,
3020 7, 7, 1615, 49, 50, 51, 52, 53, 54, 55, 56, 57, 7, 7, 7, 7, 62, 63, 64,
3021 65, 7, 1827, 264, 102, 70, 71, 72, 73, 1513, 1514, 1515, 6, 961, 79, 6, 81, 1521, 1522,
3022 1523, 6, 661, 108, 7, 1342, 7, 1598, 6, 1346, 6, 95, 7, 7, 98, 4, 269, 1540, 1355,
3023 261, 1357, 267, 6, 1360, 269, 264, 685, 264, 1551, 264, 6, 6, 265, 7, 6, 262, 1559, 6,
3024 6, 6, 1563, 260, 264, 6, 260, 6, 6, 6, 6, 6, 137, 1574, 6, 1576, 265, 6, 715,
3025 716, 717, 718, 719, 720, 721, 722, 723, 263, 725, 726, 727, 728, 1661, 266, 731, 732, 733, 269,
3026 1727, 1414, 6, 6, 6, 6, 741, 6, 6, 744, 6, 6, 6, 6, 5, 261, 265, 261, 6,
3027 1618, 6, 4, 757, 7, 6, 6, 262, 1626, 1627, 264, 264, 7, 6, 1632, 264, 264, 264, 6,
3028 264, 1082, 264, 6, 264, 264, 264, 264, 6, 265, 1549, 6, 192, 1650, 212, 213, 214, 1098, 264,
3029 792, 264, 794, 6, 261, 1661, 264, 224, 269, 269, 1666, 228, 6, 230, 269, 269, 6, 266, 7,
3030 811, 260, 264, 1830, 6, 1748, 6, 265, 6, 6, 4, 822, 7, 6, 260, 260, 6, 6, 6,
3031 144, 106, 6, 5, 261, 264, 6, 269, 1146, 1147, 6, 1149, 1150, 1151, 264, 1153, 1154, 1155, 1156,
3032 1157, 1158, 1159, 1160, 1161, 1162, 6, 264, 6, 144, 144, 269, 1793, 6, 6, 6, 6, 6, 6,
3033 1800, 1801, 269, 261, 269, 6, 6, 1739, 6, 6, 269, 6, 1744, 1745, 264, 2068, 264, 6, 6,
3034 6, 264, 1821, 1752, 1753, 7, 148, 6, 264, 264, 264, 5, 1207, 261, 6, 6, 1767, 264, 6,
3035 264, 6, 265, 1773, 265, 7, 1678, 6, 1778, 264, 6, 191, 261, 7, 265, 6, 6, 1787, 265,
3036 1233, 266, 265, 6, 6, 6, 1795, 264, 6, 1798, 6, 265, 6, 6, 261, 6, 1249, 6, 264,
3037 194, 6, 264, 6, 6, 6, 6, 6, 1816, 265, 265, 260, 1820, 264, 261, 265, 6, 6, 6,
3038 1827, 144, 1829, 1830, 264, 264, 6, 264, 264, 1650, 264, 261, 6, 976, 6, 978, 979, 6, 265,
3039 265, 6, 6, 6, 6, 6, 6, 6, 6, 264, 992, 264, 6, 6, 6, 6, 1306, 264, 6,
3040 1865, 1768, 1769, 1770, 1771, 1772, 1773, 6, 2190, 1425, 1487, 1012, 490, 1673, 1999, 1959, 1325, 1882, 1327,
3041 1328, 1735, 3, 3, 3, 1100, 1450, 2041, 3, 1961, 1894, 1895, 2028, 632, 1034, 237, 238, 239, 240,
3042 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 3, 1595, 1919, 1800, 259,
3043 1820, 1627, -1, -1, -1, -1, -1, -1, -1, 1931, 1376, 811, -1, 1071, 2004, -1, -1, -1, -1,
3044 -1, -1, -1, -1, -1, -1, -1, 1948, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3045 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1,
3046 -1, 1116, 1795, -1, -1, 1798, 1985, -1, -1, 2138, -1, -1, -1, -1, -1, -1, 1439, -1, -1,
3047 -1, -1, 2000, -1, -1, -1, -1, 2005, -1, 1451, 2008, 2009, 6, 1455, -1, -1, -1, -1, -1,
3048 -1, -1, -1, -1, -1, -1, -1, -1, -1, 2026, -1, 2178, 2029, -1, -1, -1, -1, 2032, -1,
3049 -1, -1, -1, -1, 2040, -1, -1, -1, 2044, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3050 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, 6, -1, 259, 2068, 1513, 1514, 1515, 1208, 1209,
3051 -1, -1, -1, 1521, 1522, 1523, -1, 2081, -1, -1, -1, -1, 2154, -1, -1, -1, -1, -1, -1,
3052 -1, -1, -1, 1540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1551, -1, -1, 2110, -1,
3053 -1, -1, -1, 1559, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1574,
3054 -1, 1576, -1, -1, -1, -1, 1273, -1, -1, -1, -1, -1, 2045, 2046, 2047, 2048, 2049, -1, -1,
3055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2162, -1, -1, -1, -1, -1, -1,
3056 -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, 2180, 2181, 2182, 2183, 2184, -1, -1, -1,
3057 1632, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, 1342,
3058 2109, 259, -1, 1346, 2113, -1, -1, -1, -1, 6, 1661, -1, 1355, -1, 1357, -1, 2223, 1360, -1,
3059 -1, -1, -1, -1, -1, -1, -1, -1, 1370, -1, -1, -1, -1, 2239, -1, 237, 238, 239, 240,
3060 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, 2260, -1, 2164, 259,
3061 -1, -1, 2168, -1, -1, -1, -1, -1, -1, 2273, -1, -1, -1, -1, 1414, 2279, 2280, -1, 2184,
3062 -1, 6, -1, 4, 5, -1, -1, -1, -1, 2292, -1, -1, 1739, 237, 238, 239, 240, 241, 242,
3063 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1,
3064 -1, -1, 1767, -1, -1, -1, 2229, 2230, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57,
3065 -1, -1, -1, 1787, 62, 63, 64, 65, -1, -1, -1, -1, 70, 71, 72, 73, -1, -1, -1,
3066 -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 1816, -1, -1, -1, -1, 95,
3067 -1, -1, 98, -1, -1, -1, 102, 1829, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1,
3068 -1, -1, -1, -1, -1, -1, 121, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3069 249, 250, 251, 252, 253, 254, 140, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1,
3070 -1, -1, -1, 1882, -1, -1, -1, -1, -1, -1, -1, 2260, 237, 238, 239, 240, 241, 242, 243,
3071 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 2279, 2280, -1, -1, 259, -1, -1, -1,
3072 -1, -1, 1919, -1, -1, 2292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1626, 1627,
3073 -1, -1, 212, 213, 214, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, 228,
3074 -1, 230, 231, 1650, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3075 252, 253, 254, -1, -1, -1, -1, 259, -1, 257, 258, 1985, 121, -1, -1, 144, 264, -1, 266,
3076 -1, -1, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3077 -1, -1, 149, -1, -1, -1, 153, -1, -1, -1, -1, 158, -1, -1, 2026, -1, -1, -1, 165,
3078 -1, -1, 168, -1, -1, 13, 14, -1, -1, 2040, -1, -1, 6, -1, -1, -1, -1, -1, -1,
3079 185, 186, 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
3080 204, -1, -1, -1, -1, 209, 210, -1, -1, -1, -1, -1, 2081, 237, 238, 239, 240, 241, 242,
3081 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, 1795, 259, -1, 1798,
3082 -1, 6, -1, 2110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1813, -1, 1815, -1, 102,
3083 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 1830, -1, -1, 118, 119, 120, 121,
3084 -1, -1, 124, -1, -1, -1, 286, 287, 288, 289, 290, 133, 134, -1, -1, 137, 138, -1, 140,
3085 141, -1, 143, -1, -1, -1, 305, 306, 307, 1865, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3086 -1, 161, -1, -1, -1, 323, -1, -1, -1, -1, -1, -1, -1, -1, -1, 333, 334, -1, -1,
3087 -1, -1, 339, -1, -1, -1, -1, -1, -1, 188, 189, 190, 349, 350, -1, -1, -1, -1, -1,
3088 -1, -1, 2223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 371, 372, -1, -1,
3089 -1, -1, -1, -1, -1, -1, -1, 382, -1, 384, 385, -1, 387, -1, -1, -1, 391, 392, 393,
3090 -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2273, 237, 238, 239, 240,
3091 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3092 -1, -1, -1, -1, 436, -1, -1, -1, -1, 441, 442, -1, -1, -1, -1, -1, -1, -1, -1,
3093 -1, -1, -1, -1, -1, -1, -1, 458, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3094 -1, -1, -1, 473, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3095 252, 253, 254, -1, -1, -1, 495, 259, -1, -1, -1, 500, -1, -1, -1, 504, -1, -1, -1,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 519, -1, -1, -1, -1, 524, -1, -1,
3097 -1, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
3098 546, 547, 548, 549, 550, 551, 552, 553, 554, -1, 556, 557, -1, 559, -1, -1, -1, -1, -1,
3099 2122, -1, -1, -1, 569, -1, -1, 572, 573, -1, -1, -1, -1, 209, 210, 580, -1, -1, -1,
3100 -1, 585, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 597, 598, 599, 600, 601, 602,
3101 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, -1, 618, 619, -1, -1,
3102 -1, -1, -1, -1, 626, 627, 628, -1, -1, 2188, -1, -1, 634, 635, 636, 637, -1, 639, 640,
3103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2210, -1, -1, -1, -1, 658, 659,
3104 660, -1, -1, -1, 664, 665, 666, 667, 668, 669, 670, 671, 672, -1, -1, 306, 307, -1, 678,
3105 679, -1, 681, -1, -1, 684, -1, -1, -1, 688, 689, 690, 691, -1, -1, -1, 695, 696, 697,
3106 698, 699, -1, -1, 702, 2260, 704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3107 -1, 349, -1, -1, -1, 2279, 2280, 724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2292,
3108 -1, -1, 738, -1, -1, -1, -1, -1, -1, 745, 746, -1, 748, -1, -1, 751, 752, -1, -1,
3109 -1, -1, -1, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3110 -1, -1, -1, -1, 778, -1, 780, -1, -1, 209, 210, 785, 786, -1, -1, -1, -1, -1, -1,
3111 -1, -1, -1, -1, -1, -1, -1, 800, -1, 802, 803, -1, -1, 806, -1, 808, 809, 441, -1,
3112 -1, 813, -1, 815, -1, 817, -1, -1, -1, -1, -1, 823, -1, -1, -1, 827, -1, -1, -1,
3113 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1,
3114 850, -1, 852, 259, 854, 261, -1, 263, -1, -1, -1, 287, -1, 269, 290, -1, -1, -1, -1,
3115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, 307, -1, -1, -1, -1, -1, -1,
3116 -1, -1, 890, -1, -1, -1, -1, -1, -1, -1, -1, -1, 900, 901, 902, 903, -1, -1, -1,
3117 -1, -1, -1, -1, -1, 912, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 349, -1, -1,
3118 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 940, -1, -1, -1, -1,
3119 -1, 372, -1, -1, -1, -1, -1, 952, -1, 585, -1, -1, -1, -1, -1, 960, -1, -1, -1,
3120 964, -1, -1, -1, -1, -1, 970, -1, -1, 973, -1, -1, -1, -1, -1, -1, -1, 981, 982,
3121 -1, -1, -1, -1, 987, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3122 -1, -1, 1004, -1, -1, 1007, 639, 640, -1, -1, -1, -1, -1, 441, -1, -1, -1, -1, -1,
3123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1033, -1, 1035, 1036, -1, -1, -1,
3124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1054, 6, -1, 688, 689,
3125 690, -1, -1, -1, -1, -1, 696, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3126 1078, -1, -1, -1, -1, -1, -1, 1085, -1, -1, -1, -1, -1, -1, 1092, 519, -1, -1, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, 1105, 1106, 738, -1, -1, -1, 1111, -1, -1, -1, -1,
3128 -1, -1, 544, -1, -1, -1, -1, -1, -1, -1, -1, 553, 554, -1, -1, -1, -1, -1, -1,
3129 -1, -1, -1, -1, -1, -1, -1, -1, 1143, -1, -1, -1, 778, -1, -1, -1, -1, -1, -1,
3130 580, -1, -1, -1, -1, 585, -1, -1, -1, -1, -1, 1165, -1, -1, -1, 800, -1, -1, -1,
3131 -1, -1, 806, -1, 808, -1, -1, -1, -1, -1, 1183, -1, 611, -1, -1, -1, -1, -1, -1,
3132 -1, 1193, 1194, 1195, 1196, 1197, -1, -1, -1, -1, 1202, 1203, -1, 1205, -1, -1, -1, -1, -1,
3133 -1, -1, 639, 640, -1, -1, -1, -1, -1, -1, 1221, 1222, -1, -1, -1, -1, -1, -1, 1229,
3134 1230, -1, -1, -1, -1, -1, -1, -1, 1238, 1239, -1, -1, -1, -1, 1244, 1245, -1, -1, -1,
3135 -1, 1250, 1251, -1, -1, -1, -1, -1, -1, -1, 890, -1, -1, 688, 689, 690, -1, -1, -1,
3136 -1, 900, 696, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1285, 237,
3137 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3138 -1, -1, 259, 940, -1, -1, 738, -1, -1, -1, -1, -1, -1, -1, -1, 952, -1, 1323, -1,
3139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1337, -1, -1, -1, -1, 973, -1,
3140 -1, 1345, -1, -1, -1, -1, -1, -1, 778, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3141 -1, -1, -1, -1, 1367, 1368, -1, -1, -1, 1372, -1, 800, -1, -1, -1, -1, -1, 806, -1,
3142 808, 1383, -1, -1, 1386, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3143 4, 5, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1415, -1, -1, 1418, 1419,
3144 1420, 1421, -1, -1, -1, -1, 852, -1, 854, 1429, -1, -1, 1432, -1, 1434, -1, 1436, 1437, 8,
3145 -1, 1440, 1441, -1, -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, -1, -1,
3146 -1, 62, 63, 64, 65, -1, 890, -1, -1, 70, 71, 72, 73, -1, -1, -1, 900, -1, 79,
3147 -1, 81, -1, 1111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, -1, -1, 98,
3148 -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 940,
3149 -1, -1, -1, 121, -1, 1520, -1, -1, -1, -1, -1, 952, -1, -1, -1, -1, 1531, 1532, 1533,
3150 1165, -1, -1, 140, -1, -1, 1540, -1, 1542, -1, -1, -1, -1, 973, -1, 1549, -1, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1563, -1, -1, -1, -1, -1, 1569, 1570, -1,
3152 -1, -1, -1, -1, -1, -1, -1, -1, 1580, 1581, 1582, -1, -1, -1, -1, -1, -1, -1, 1590,
3153 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1601, -1, -1, -1, -1, -1, -1, -1, 212,
3154 213, 214, -1, -1, -1, -1, -1, -1, -1, 1250, 1251, 224, 1622, -1, -1, 228, -1, 230, 231,
3155 -1, 1630, 1631, 6, -1, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3156 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, 261, 463, 263, 264, -1, -1, -1, -1, 1666,
3157 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 1111,
3158 -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3159 -1, 1337, -1, 1708, 1709, 1710, -1, -1, -1, -1, -1, -1, -1, 6, 1719, -1, -1, -1, -1,
3160 1724, 1725, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1737, -1, 1165, -1, -1, -1,
3161 -1, 1744, 1745, 1746, -1, 1748, -1, -1, -1, -1, -1, 1754, 1755, -1, -1, -1, -1, -1, -1,
3162 -1, -1, -1, -1, 570, -1, -1, -1, -1, -1, -1, 1773, -1, -1, -1, -1, 1778, 1779, -1,
3163 -1, -1, -1, -1, -1, -1, -1, 1419, -1, 1421, -1, -1, 1793, -1, -1, 1796, -1, -1, -1,
3164 1800, -1, -1, -1, -1, -1, -1, -1, -1, 1809, 1810, -1, 1812, -1, -1, -1, -1, -1, 622,
3165 -1, -1, -1, 1822, -1, 1250, 1251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1836, -1,
3166 -1, -1, -1, 1841, 1842, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1855, -1,
3167 -1, 1858, 1859, -1, 1861, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3168 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, 1894,
3169 1895, -1, -1, -1, -1, -1, 1901, 1902, -1, -1, -1, -1, -1, -1, -1, -1, 1337, -1, 1913,
3170 -1, -1, -1, -1, -1, -1, -1, -1, 1922, -1, -1, -1, -1, -1, -1, -1, -1, 1931, 1563,
3171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1944, 1945, -1, -1, 1948, 237, 238, 239,
3172 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3173 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1982, 1983, -1, -1, -1, -1, -1, -1,
3174 -1, -1, -1, 1419, -1, 1421, -1, -1, -1, -1, -1, -1, -1, 2003, -1, -1, -1, -1, 2008,
3175 2009, 2010, -1, -1, -1, -1, 2015, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3176 -1, 2029, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2044, -1, -1,
3177 -1, -1, -1, -1, -1, -1, 2053, -1, -1, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869,
3178 870, -1, 872, 873, 874, 875, -1, 877, 878, 879, 880, -1, 2078, -1, -1, 26, -1, 28, 2084,
3179 -1, -1, 2087, -1, 893, -1, 895, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 906, -1,
3180 -1, -1, -1, -1, -1, -1, 914, 915, -1, 1744, 1745, -1, -1, -1, 2118, 923, -1, -1, 6,
3181 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1563, -1, -1, -1, -1,
3182 -1, -1, 2144, 2145, -1, 1778, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2159, 2160,
3183 -1, 2162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2175, -1, -1, -1, -1,
3184 2180, 2181, 2182, 2183, 2184, -1, -1, -1, -1, -1, 2190, -1, -1, -1, 2194, -1, -1, -1, -1,
3185 -1, -1, -1, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3186 -1, -1, -1, 2221, -1, -1, -1, -1, 2226, 2227, -1, -1, -1, -1, -1, -1, -1, -1, 1040,
3187 1041, 1042, 2239, 1666, -1, 1046, 1047, -1, -1, 1050, 1051, 1052, 1053, -1, 1055, -1, -1, -1, -1,
3188 1060, -1, -1, -1, -1, -1, -1, 1894, 1895, -1, 2266, 2267, -1, -1, -1, -1, -1, -1, -1,
3189 -1, -1, -1, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3190 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, -1, 255, 256, -1,
3191 -1, -1, -1, -1, 1948, 1744, 1745, 265, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3192 6, 278, 279, 4, 5, -1, 1142, -1, 1144, -1, -1, -1, -1, -1, -1, 1773, -1, -1, -1,
3193 -1, 1778, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3194 254, -1, -1, -1, -1, 259, -1, 2008, 2009, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57,
3195 -1, -1, -1, -1, 62, 63, 64, 65, -1, 2029, -1, -1, 70, 71, 72, 73, -1, -1, -1,
3196 -1, -1, 79, -1, 81, 2044, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 95,
3197 -1, -1, 98, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, 1247, -1, -1,
3198 -1, -1, -1, -1, -1, -1, 121, 398, 399, 400, -1, -1, -1, 404, 405, 406, 407, 408, 409,
3199 410, -1, 412, 1894, 1895, -1, 140, 417, 418, -1, 6, 421, -1, -1, -1, -1, -1, -1, -1,
3200 -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3201 -1, -1, 1931, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3202 1948, -1, -1, -1, -1, -1, 6, -1, -1, 2162, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3203 -1, -1, 212, 213, 214, -1, -1, -1, 2180, 2181, 2182, 2183, 2184, -1, 224, -1, -1, -1, 228,
3204 -1, 230, 231, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3205 253, 254, -1, 2008, 2009, -1, 259, -1, -1, -1, -1, -1, 1395, -1, -1, -1, 264, -1, -1,
3206 -1, -1, -1, -1, -1, 2029, -1, -1, -1, -1, 2239, -1, -1, -1, -1, -1, -1, -1, -1,
3207 -1, 2044, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1438, -1,
3208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 593, -1, -1, -1, -1, -1, -1,
3209 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1470, 1471, 1472, 1473, 1474, 1475, 1476, -1,
3210 -1, -1, -1, 1481, 1482, -1, -1, -1, -1, -1, 1488, -1, -1, 1491, -1, -1, -1, 1495, -1,
3211 -1, 1498, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1509, 237, 238, 239, 240, 241, 242,
3212 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1,
3213 -1, -1, -1, -1, -1, 2162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3214 -1, -1, -1, -1, 2180, 2181, 2182, 2183, 2184, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3215 247, 248, 249, 250, 251, 252, 253, 254, 6, -1, -1, -1, 259, 1586, -1, 1588, -1, -1, -1,
3216 1592, -1, 1594, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3217 252, 253, 254, -1, -1, -1, 2239, 259, -1, 261, -1, -1, -1, -1, -1, 1626, -1, 269, -1,
3218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, -1, -1, -1,
3219 -1, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3220 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 6,
3221 -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
3222 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, 77, 78, 79, -1, 81, 82, 83, 84,
3223 7, 1726, -1, -1, -1, -1, -1, -1, 93, 94, 95, 96, -1, 98, -1, -1, -1, 102, -1,
3224 -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1,
3225 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, 918, 138, -1, 140, -1,
3226 -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160,
3227 -1, -1, -1, 164, -1, -1, -1, 168, -1, 951, -1, 237, 238, 239, 240, 241, 242, 243, 244,
3228 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, 1832, 193, 259, 1835, -1, -1, -1,
3229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, 214, 215, 216, -1,
3230 -1, -1, -1, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, 231, -1, -1, -1, -1, -1,
3231 -1, -1, -1, -1, -1, -1, -1, 1884, 1885, -1, 1887, 248, 249, -1, -1, -1, -1, -1, 255,
3232 -1, -1, -1, -1, 260, -1, -1, -1, 264, -1, -1, 267, -1, -1, -1, -1, -1, -1, -1,
3233 -1, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3234 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1952,
3235 1953, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3236 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
3237 4, 5, -1, -1, 1136, -1, 10, 11, 12, -1, 2001, 15, 16, 17, 18, 19, 20, 21, 22,
3238 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
3239 42, 43, 44, 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
3240 61, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, 77, 78, 79,
3241 -1, 81, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, 95, 96, -1, 98,
3242 -1, -1, -1, 102, -1, -1, 105, 1234, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117,
3243 -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136,
3244 -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155,
3245 156, 157, 158, 159, 160, 8, -1, -1, 164, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1,
3246 -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, 193,
3247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, 211, 212,
3248 213, 214, 215, 216, -1, -1, -1, -1, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, 231,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1,
3250 -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 2248, -1, -1, 264, -1, -1, 267, 1396, 1397,
3251 -1, 3, 4, 5, -1, 7, -1, -1, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20,
3252 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
3253 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
3254 59, 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, 70, 71, 72, 73, -1, -1, -1, -1,
3255 -1, 79, -1, 81, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
3256 1493, 98, -1, -1, -1, 102, -1, -1, 105, 1502, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3257 -1, -1, -1, -1, -1, 121, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3258 250, 251, 252, 253, 254, 140, -1, -1, -1, 259, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3259 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, 237, 238, 239, 240, 241,
3260 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3261 -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, 204, -1, -1, -1, -1, -1, -1,
3262 211, 212, 213, 214, 215, -1, -1, -1, -1, -1, 221, 222, 223, 224, 225, 226, 227, 228, -1,
3263 230, 231, -1, 233, 234, 235, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248,
3264 249, -1, -1, -1, -1, -1, 255, -1, 257, 258, -1, 260, -1, 262, 3, 4, 5, 266, 267,
3265 -1, 1665, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3266 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1,
3268 -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83,
3269 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102,
3270 -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121,
3271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140,
3272 -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159,
3273 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3274 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, -1,
3275 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216,
3276 -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1,
3277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1,
3278 255, -1, -1, -1, -1, 260, 3, 4, -1, 264, -1, 8, 267, 10, 11, 12, -1, -1, 15,
3279 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
3280 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3281 -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1,
3282 -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1,
3283 -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110,
3284 -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1,
3285 -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1,
3286 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1,
3287 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3288 -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3289 -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1,
3290 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3291 -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 3, 4,
3292 5, -1, 265, -1, 267, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3293 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3294 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
3295 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1,
3296 -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1,
3297 -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1,
3298 -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1,
3299 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156,
3300 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243,
3301 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1,
3302 -1, -1, 265, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1,
3303 -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1,
3304 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1,
3305 -1, -1, -1, 255, -1, -1, -1, -1, 260, 3, 4, -1, 264, -1, -1, 267, 10, 11, 12,
3306 -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3307 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1,
3308 -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1,
3309 -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1,
3310 -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1,
3311 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1,
3312 -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1,
3313 -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164,
3314 -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3315 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, 265, -1, -1, -1, 269, -1,
3316 -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221,
3317 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3318 -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1,
3319 260, 3, 4, -1, 264, 265, -1, 267, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20,
3320 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
3321 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
3322 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77,
3323 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96,
3324 -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3325 -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1,
3326 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153,
3327 -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240,
3328 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3329 -1, 193, -1, -1, -1, 265, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3330 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1,
3331 -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248,
3332 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 3, 4, -1, 264, -1, -1, 267,
3333 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3334 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1,
3335 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66,
3336 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1,
3337 -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1,
3338 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1,
3339 -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1,
3340 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1,
3341 -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3342 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, 265, -1, -1,
3343 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1,
3344 -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1,
3345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1,
3346 -1, -1, -1, 260, 3, 4, -1, 264, -1, -1, 267, 10, 11, 12, -1, -1, 15, 16, 17,
3347 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
3348 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3349 -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1,
3350 -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93,
3351 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1,
3352 -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3353 -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150,
3354 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1, 168, 237,
3355 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3356 -1, -1, 259, -1, 193, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1,
3357 -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226,
3358 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3359 -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 3, 4, -1, 264,
3360 -1, -1, 267, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3361 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
3362 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1,
3363 -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82,
3364 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1,
3365 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1,
3366 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1,
3367 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158,
3368 159, 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3369 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1,
3370 -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215,
3371 216, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1,
3372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1,
3373 -1, 255, -1, -1, -1, -1, 260, 3, 4, -1, -1, 265, -1, 267, 10, 11, 12, -1, -1,
3374 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3375 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
3376 -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
3377 -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1,
3378 -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1,
3379 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1,
3380 -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1,
3381 -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164, -1, -1,
3382 -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3383 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1,
3384 -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221, 222, 223,
3385 -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3386 -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 3,
3387 4, -1, 264, -1, -1, 267, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22,
3388 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
3389 42, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
3390 61, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1,
3391 -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1,
3392 -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117,
3393 -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136,
3394 -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155,
3395 156, 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242,
3396 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193,
3397 -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1,
3398 -1, -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231,
3399 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1,
3400 -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 3, 4, -1, 264, -1, -1, 267, 10, 11,
3401 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3402 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1,
3403 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1,
3404 -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1,
3405 -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1,
3406 -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1,
3407 -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1,
3408 -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1,
3409 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3410 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, -1, -1, -1, -1, 269,
3411 -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1,
3412 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1,
3413 -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1,
3414 -1, 260, 3, 4, -1, 264, -1, 8, 267, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19,
3415 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
3416 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3417 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76,
3418 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
3419 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1,
3420 -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133,
3421 -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152,
3422 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239,
3423 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3424 259, -1, 193, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
3425 -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1,
3426 -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3427 248, 249, -1, -1, -1, -1, -1, 255, 3, 4, -1, -1, 260, 8, -1, 10, 11, 12, -1,
3428 267, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3429 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1, -1,
3430 -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1, -1,
3431 -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1,
3432 -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108,
3433 -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1,
3434 -1, -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1, -1,
3435 -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164, -1,
3436 -1, -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3437 253, 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1,
3438 -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221, 222,
3439 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3440 -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, 3, 4, -1, -1, 260,
3441 -1, -1, 10, 11, 12, -1, 267, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3442 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3443 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1,
3444 -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83,
3445 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102,
3446 -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121,
3447 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140,
3448 -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159,
3449 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3450 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, -1,
3451 -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216,
3452 -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1,
3453 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1,
3454 255, -1, -1, -1, -1, 260, 3, 4, -1, 264, -1, -1, 267, 10, 11, 12, -1, -1, 15,
3455 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
3456 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3457 -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1,
3458 -1, -1, -1, 76, 77, 78, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1,
3459 -1, 93, 94, -1, 96, -1, -1, -1, -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110,
3460 -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1,
3461 -1, -1, -1, 133, -1, 135, 136, -1, 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1,
3462 149, 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1,
3463 168, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3464 -1, -1, -1, -1, 259, -1, 193, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1,
3465 -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1,
3466 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3467 -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 3, 4,
3468 -1, 264, -1, -1, 267, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3469 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3470 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
3471 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, -1,
3472 -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1,
3473 -1, -1, 102, -1, -1, 105, -1, -1, 108, -1, 110, -1, -1, -1, -1, -1, -1, 117, -1,
3474 -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, 136, -1,
3475 138, -1, 140, -1, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, -1, 155, 156,
3476 157, 158, 159, 160, -1, -1, -1, 164, -1, -1, -1, 168, 237, 238, 239, 240, 241, 242, 243,
3477 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 193, -1,
3478 -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1,
3479 -1, 215, 216, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1,
3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1,
3481 -1, -1, -1, 255, 3, 4, 5, -1, 260, -1, -1, 10, 11, 12, -1, 267, 15, 16, 17,
3482 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
3483 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, 50, 51, 52, 53, 54, 55,
3484 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, 70, 71, 72, 73, -1,
3485 -1, -1, -1, -1, 79, -1, 81, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93,
3486 94, 95, 96, -1, 98, 3, 4, 5, -1, -1, -1, -1, 10, 11, 12, -1, -1, 15, 16,
3487 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3488 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3489 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, 70, 71, 72, 73,
3490 -1, -1, -1, -1, -1, 79, -1, 81, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1,
3491 93, 94, 95, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3492 -1, -1, -1, 211, 212, 213, 214, 215, -1, -1, -1, -1, -1, 221, 222, 223, 224, 225, 226,
3493 227, 228, -1, 230, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3494 -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, -1, -1, -1, 264,
3495 -1, -1, 267, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3496 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1,
3497 -1, -1, -1, -1, 211, 212, 213, 214, 215, -1, -1, -1, -1, -1, 221, 222, 223, 224, 225,
3498 226, 227, 228, -1, 230, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3499 -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, 3, 4, 5,
3500 264, -1, -1, 267, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3501 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1,
3502 -1, -1, -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3503 63, 64, 65, 66, -1, -1, -1, 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, 81,
3504 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, 95, 96, -1, 98, 3, 4,
3505 5, -1, -1, -1, -1, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3506 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1,
3507 -1, -1, -1, -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
3508 62, 63, 64, 65, 66, -1, -1, -1, 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1,
3509 81, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, 95, 96, -1, 98, -1,
3510 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, 214,
3511 215, -1, -1, -1, -1, -1, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, 231, -1, -1,
3512 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1,
3513 -1, -1, 255, -1, -1, -1, -1, 260, -1, -1, -1, 264, -1, -1, 267, 237, 238, 239, 240,
3514 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3515 -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, 211, 212, 213,
3516 214, 215, -1, -1, -1, -1, -1, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, 231, -1,
3517 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1,
3518 -1, -1, -1, 255, 3, 4, -1, -1, 260, -1, -1, 10, 11, 12, -1, 267, 15, 16, 17,
3519 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
3520 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3521 -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1,
3522 -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, 3, 4, -1, 93,
3523 94, -1, 96, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3524 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1,
3525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1,
3526 -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
3527 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, 237, 238, 239, 240, 241,
3528 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3529 -1, -1, -1, 211, -1, -1, -1, 215, 269, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226,
3530 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3531 -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, -1, -1, -1, 264,
3532 -1, -1, 267, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3533 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, 211, -1, 269, -1, 215,
3534 -1, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1,
3535 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1,
3536 -1, 255, -1, -1, -1, -1, 260, 3, 4, -1, 264, -1, 8, 267, 10, 11, 12, -1, -1,
3537 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3538 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3539 -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
3540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, 3,
3541 4, -1, 93, 94, -1, 96, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22,
3542 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1,
3543 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
3544 61, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3545 -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, 237, 238,
3546 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3547 -1, 259, -1, -1, -1, -1, 211, -1, -1, -1, 215, 269, -1, -1, -1, -1, 221, 222, 223,
3548 -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3549 -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, -1,
3550 -1, -1, -1, -1, -1, 267, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3551 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, 211, -1,
3552 269, -1, 215, -1, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231,
3553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1,
3554 -1, -1, -1, -1, 255, 3, 4, -1, 6, 260, 261, -1, 10, 11, 12, -1, 267, 15, 16,
3555 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3556 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3557 -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1,
3558 -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1,
3559 93, 94, -1, 96, 3, 4, -1, 6, -1, -1, -1, 10, 11, 12, -1, -1, 15, 16, 17,
3560 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
3561 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3562 -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1,
3563 -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93,
3564 94, -1, 96, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3565 252, 253, 254, -1, 211, -1, -1, 259, 215, -1, -1, -1, -1, -1, 221, 222, 223, 269, 225,
3566 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3567 -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260, -1, -1, -1,
3568 -1, -1, -1, 267, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3569 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1,
3570 -1, -1, -1, 211, -1, -1, -1, 215, -1, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226,
3571 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3572 -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, 3, 4, -1, 6, 260, -1, -1, 10, 11,
3573 12, -1, 267, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3574 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3575 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, -1, -1,
3576 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1,
3577 -1, -1, 3, 4, -1, 93, 94, -1, 96, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19,
3578 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
3579 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3580 58, 59, 60, 61, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3581 -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
3582 96, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3583 -1, -1, -1, -1, 259, -1, -1, -1, -1, 211, -1, -1, -1, 215, 269, -1, -1, -1, -1,
3584 221, 222, 223, -1, 225, 226, 227, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1,
3585 -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1,
3586 -1, 260, -1, -1, -1, -1, -1, -1, 267, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3587 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1,
3588 -1, 211, -1, 269, -1, 215, -1, -1, -1, -1, -1, 221, 222, 223, -1, 225, 226, 227, -1,
3589 -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3590 248, 249, -1, -1, -1, -1, -1, 255, 3, 4, -1, -1, 260, 261, -1, 10, 11, 12, -1,
3591 267, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3592 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3593 -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, -1, -1, -1, -1, 66, -1, -1, -1, -1,
3594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1,
3595 3, 4, -1, 93, 94, -1, 96, 10, 11, 12, -1, -1, 15, 16, 17, 18, 19, 20, 21,
3596 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
3597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
3598 60, 61, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3599 -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, 96, 237,
3600 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3601 -1, -1, 259, -1, -1, -1, -1, 211, -1, -1, -1, 215, 269, -1, -1, -1, -1, 221, 222,
3602 223, -1, 225, 226, 227, -1, -1, -1, 231, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3603 -1, -1, -1, -1, -1, -1, 248, 249, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, 260,
3604 261, -1, -1, -1, -1, -1, 267, -1, -1, -1, -1, -1, -1, -1, -1, 13, 14, -1, 237,
3605 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, 211,
3606 -1, -1, 259, 215, -1, -1, -1, -1, -1, 221, 222, 223, 269, 225, 226, 227, -1, -1, -1,
3607 231, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, 248, 249,
3608 118, 119, 120, 121, -1, 255, 124, -1, -1, -1, 260, -1, 13, 14, -1, 133, 134, 267, -1,
3609 137, 138, -1, 140, 141, -1, 143, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3610 112, 113, 114, -1, -1, 161, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1,
3611 -1, -1, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 188, 189, 190, 13, 14, -1,
3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1,
3613 -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
3614 188, 189, 190, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133,
3615 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, -1, -1, 265, -1, -1, -1, -1,
3616 -1, -1, -1, -1, -1, -1, -1, -1, 161, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3617 111, 112, 113, 114, -1, 13, 14, 118, 119, 120, 121, -1, -1, 124, -1, -1, 188, 189, 190,
3618 -1, 265, -1, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, -1, -1, -1,
3619 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1,
3620 -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3621 -1, 188, 189, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, 102,
3622 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, 120, 121,
3623 -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, -1, 137, 138, -1, 140,
3624 141, -1, 143, -1, -1, -1, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3625 -1, 161, 265, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, -1,
3626 118, 119, 120, 121, -1, -1, 124, -1, -1, 188, 189, 190, 13, 14, -1, 133, 134, -1, -1,
3627 137, 138, -1, 140, 141, -1, 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3628 -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3629 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 188, 189, 190, 118, 119, 120,
3630 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, 265, -1, 133, 134, -1, -1, 137, 138, -1,
3631 140, 141, -1, 143, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
3632 -1, -1, 161, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133,
3633 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 188, 189, 190, -1, 265, 13, 14, -1, -1,
3634 -1, -1, -1, -1, -1, -1, -1, -1, 161, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3635 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, 188, 189, 190,
3636 -1, -1, 13, 14, 269, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3637 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, 265, -1, -1, -1, -1, -1, -1, 269,
3638 -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3639 112, 113, 114, -1, -1, -1, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, -1, 265, 13,
3640 14, -1, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, 102, 103, 104, 105,
3641 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 161, 118, 119, 120, 121, -1, -1, 124,
3642 -1, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143,
3643 188, 189, 190, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, -1,
3644 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
3645 109, 110, 111, 112, 113, 114, 188, 189, 190, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1,
3646 -1, -1, -1, -1, -1, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, -1,
3647 -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, -1, 102, 103, 104,
3648 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, 13, 14, 118, 119, 120, 121, -1, -1,
3649 124, -1, -1, 188, 189, 190, -1, 265, -1, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1,
3650 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161,
3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, 14, -1, -1,
3652 -1, -1, -1, -1, -1, -1, -1, 188, 189, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3653 -1, -1, -1, -1, 265, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1,
3654 -1, -1, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 134,
3655 -1, -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, -1, 13, 14, -1, -1, -1, -1, -1,
3656 -1, -1, -1, -1, -1, -1, -1, 161, 265, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3657 112, 113, 114, -1, -1, -1, 118, 119, 120, 121, -1, -1, 124, -1, -1, 188, 189, 190, -1,
3658 -1, -1, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, -1, -1, -1, -1,
3659 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1,
3660 -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
3661 188, 189, 190, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, 265, -1, 133,
3662 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, -1, -1, -1, 0, 1, -1, -1,
3663 4, -1, -1, -1, -1, -1, -1, -1, 161, 13, 14, -1, -1, -1, -1, -1, 237, 238, 239,
3664 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, 188, 189, 190,
3665 259, 265, -1, -1, 46, 47, 48, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
3666 -1, -1, -1, -1, -1, -1, 67, 68, 69, -1, -1, -1, -1, 74, 75, -1, -1, -1, -1,
3667 80, -1, -1, -1, -1, 85, 86, 87, 88, 89, -1, 91, 92, -1, 94, -1, -1, -1, -1,
3668 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, 265, 117,
3669 118, 119, 120, 121, 122, -1, 124, -1, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
3670 137, 138, 139, 140, 141, 142, -1, -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, 155,
3671 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1,
3672 -1, 176, 177, 178, -1, -1, -1, 182, -1, -1, -1, -1, 187, 188, 189, 190, -1, -1, 193,
3673 -1, 195, -1, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -1, 4,
3674 -1, -1, -1, -1, 217, 218, 219, 220, 13, 14, -1, -1, -1, -1, -1, -1, 229, -1, 231,
3675 232, -1, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3676 253, 254, -1, 46, 47, 48, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1,
3677 -1, -1, -1, -1, -1, 67, 68, 69, -1, -1, -1, -1, 74, 75, -1, -1, -1, -1, 80,
3678 -1, -1, -1, -1, 85, 86, 87, 88, 89, -1, 91, 92, -1, 94, -1, -1, -1, -1, 99,
3679 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118,
3680 119, 120, 121, 122, -1, 124, -1, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
3681 138, 139, 140, 141, 142, -1, -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, 156,
3682 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1,
3683 176, 177, 178, -1, -1, -1, 182, -1, -1, -1, -1, 187, 188, 189, 190, 4, 5, 193, -1,
3684 195, -1, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, -1, -1, -1,
3685 -1, -1, -1, 217, 218, 219, 220, -1, -1, -1, -1, -1, -1, -1, -1, 229, -1, 231, 232,
3686 -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, 63, 64,
3687 65, 4, 5, -1, -1, 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1,
3688 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, -1, -1, 98, -1, -1, -1, 102,
3689 4, 5, 105, -1, -1, 108, -1, 110, 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, 121,
3690 -1, -1, 62, 63, 64, 65, -1, -1, -1, -1, 70, 71, 72, 73, -1, -1, -1, -1, 140,
3691 79, -1, 81, -1, -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 95, -1, -1,
3692 98, 62, 63, 64, 65, -1, -1, -1, -1, 70, 71, 72, 73, -1, -1, -1, -1, -1, 79,
3693 -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, -1, -1, 98,
3694 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 212, 213, 214, -1, -1,
3695 -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, 228, -1, 230, 231, -1, -1, -1, -1,
3696 -1, -1, -1, -1, -1, 13, 14, -1, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3697 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1,
3698 212, 213, 214, 269, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, 228, -1, 230,
3699 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 212,
3700 213, 214, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, 228, -1, 230, 102,
3701 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, 120, 121,
3702 -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 134, -1, -1, 137, 138, -1, 140,
3703 141, -1, 143, -1, -1, -1, 147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3704 -1, 161, -1, -1, -1, 165, -1, -1, -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3705 247, 248, 249, 250, 251, 252, 253, 254, -1, 188, 189, 190, 259, -1, -1, -1, -1, -1, -1,
3706 -1, -1, -1, 269, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3707 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, 237,
3708 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3709 -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, 237, 238, 239, 240, 241, 242,
3710 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1,
3711 -1, -1, -1, -1, -1, -1, -1, 269, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3712 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1,
3713 -1, -1, 269, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3714 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, 237, 238,
3715 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3716 -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, 237, 238, 239, 240, 241, 242, 243,
3717 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1,
3718 -1, -1, -1, -1, -1, -1, 269, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3719 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1,
3720 -1, 269, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3721 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, 237, 238, 239,
3722 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3723 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, 237, 238, 239, 240, 241, 242, 243, 244,
3724 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1,
3725 -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3726 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243,
3727 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1,
3728 -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3729 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242,
3730 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1,
3731 -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3732 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241,
3733 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3734 -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3735 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240,
3736 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3737 -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3738 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239,
3739 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3740 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3741 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238,
3742 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3743 -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3744 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237,
3745 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3746 -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3747 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265,
3748 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1,
3749 -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3750 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1,
3751 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3752 -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244,
3753 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1,
3754 -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3755 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243,
3756 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1,
3757 -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3758 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242,
3759 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1,
3760 -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3761 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241,
3762 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3763 -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3764 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240,
3765 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3766 -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3767 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239,
3768 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3769 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3770 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238,
3771 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3772 -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3773 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, 265, 237,
3774 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3775 -1, -1, 259, -1, -1, -1, -1, -1, 265, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3776 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, 264, 237,
3777 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3778 -1, -1, 259, -1, -1, -1, -1, 264, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3779 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, -1, 264, 237, 238,
3780 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3781 -1, 259, -1, 261, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3782 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240, 241,
3783 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3784 -1, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3785 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244,
3786 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263,
3787 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1,
3788 -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3789 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239,
3790 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3791 259, -1, -1, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3792 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240, 241, 242,
3793 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1,
3794 -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3795 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3796 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237,
3797 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3798 -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3799 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240,
3800 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3801 -1, -1, -1, 263, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3802 252, 253, 254, -1, -1, -1, -1, 259, -1, -1, -1, 263, 237, 238, 239, 240, 241, 242, 243,
3803 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237,
3804 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3805 -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3806 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244,
3807 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238,
3808 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3809 -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3810 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3811 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239,
3812 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3813 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3814 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3815 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240,
3816 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3817 -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3818 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3819 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241,
3820 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3821 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3822 -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3823 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242,
3824 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261,
3825 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1,
3826 -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3827 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243,
3828 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237,
3829 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3830 -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3831 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244,
3832 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238,
3833 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3834 -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3835 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3836 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239,
3837 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3838 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3839 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3840 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240,
3841 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3842 -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3843 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3844 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241,
3845 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3846 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3847 -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3848 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242,
3849 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261,
3850 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1,
3851 -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3852 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243,
3853 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237,
3854 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3855 -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3856 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244,
3857 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238,
3858 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3859 -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3860 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3861 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239,
3862 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3863 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3864 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3865 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240,
3866 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259,
3867 -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3868 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3869 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241,
3870 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1,
3871 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3872 -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3873 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242,
3874 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261,
3875 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1,
3876 -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3877 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243,
3878 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237,
3879 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1,
3880 -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3881 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244,
3882 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238,
3883 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1,
3884 -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3885 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3886 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239,
3887 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1,
3888 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3889 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
3890 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259, -1, 261, 237, 238, 239, 240,
3891 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, -1, -1, -1, -1, 259};
3896 0, 1, 271, 272, 6, 0, 4, 13, 14, 46, 47, 48, 67, 68, 69, 74, 75, 80, 85, 86, 87, 88, 89,
3897 91, 92, 94, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120,
3898 121, 122, 124, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 145, 146, 147,
3899 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3900 172, 176, 177, 178, 182, 187, 188, 189, 190, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
3901 209, 210, 217, 218, 219, 220, 229, 231, 232, 273, 275, 276, 297, 316, 318, 322, 325, 326, 327, 328, 329, 330, 331,
3902 332, 333, 340, 342, 343, 349, 350, 351, 352, 358, 382, 383, 264, 268, 14, 108, 260, 260, 260, 6, 264, 6, 6,
3903 6, 6, 260, 6, 264, 6, 264, 264, 6, 6, 262, 262, 4, 360, 383, 260, 262, 294, 102, 105, 108, 110, 318,
3904 294, 260, 260, 260, 4, 260, 260, 260, 4, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 264, 123, 108,
3905 6, 6, 264, 264, 102, 105, 108, 121, 321, 110, 260, 3, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22,
3906 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3907 58, 59, 60, 61, 66, 67, 76, 77, 78, 82, 83, 84, 93, 96, 102, 105, 108, 110, 121, 133, 138, 140, 143,
3908 193, 211, 215, 216, 221, 222, 223, 225, 226, 227, 248, 249, 255, 260, 264, 267, 318, 319, 322, 333, 340, 342, 353,
3909 354, 358, 360, 366, 368, 383, 260, 264, 264, 108, 108, 133, 105, 108, 110, 318, 105, 108, 109, 110, 121, 188, 319,
3910 105, 108, 260, 105, 165, 193, 209, 210, 264, 248, 249, 260, 264, 363, 364, 363, 264, 264, 363, 4, 102, 106, 112,
3911 113, 115, 116, 137, 264, 260, 108, 110, 108, 105, 4, 94, 204, 264, 383, 4, 6, 102, 6, 105, 108, 105, 108,
3912 121, 320, 5, 260, 264, 366, 367, 108, 4, 4, 4, 367, 4, 108, 260, 108, 260, 260, 4, 264, 370, 383, 4,
3913 260, 260, 260, 6, 6, 262, 5, 49, 50, 51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 70, 71, 72,
3914 73, 79, 81, 95, 98, 212, 213, 214, 224, 228, 230, 374, 383, 260, 4, 374, 5, 264, 5, 264, 318, 32, 249,
3915 353, 383, 262, 6, 264, 260, 264, 6, 260, 264, 6, 268, 7, 140, 204, 233, 234, 235, 236, 257, 258, 260, 262,
3916 266, 292, 293, 294, 318, 353, 373, 374, 383, 4, 322, 323, 324, 264, 6, 353, 373, 374, 383, 373, 373, 353, 373,
3917 380, 381, 383, 353, 324, 353, 299, 303, 260, 362, 9, 374, 260, 374, 353, 353, 353, 260, 353, 353, 353, 260, 353,
3918 353, 353, 353, 353, 353, 353, 373, 353, 353, 353, 353, 367, 260, 249, 353, 368, 369, 369, 264, 367, 366, 373, 294,
3919 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
3920 294, 260, 262, 294, 294, 294, 294, 294, 294, 260, 294, 294, 260, 318, 319, 319, 319, 294, 294, 5, 264, 264, 133,
3921 318, 318, 319, 260, 294, 294, 260, 260, 260, 353, 264, 353, 368, 353, 353, 265, 369, 360, 383, 196, 5, 264, 8,
3922 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 259, 9, 260, 262, 266,
3923 293, 294, 353, 369, 369, 260, 260, 260, 366, 367, 367, 367, 317, 260, 264, 260, 260, 366, 264, 264, 353, 4, 366,
3924 264, 370, 264, 264, 363, 363, 363, 353, 353, 248, 249, 264, 264, 363, 248, 249, 260, 324, 363, 264, 260, 264, 260,
3925 260, 260, 260, 260, 260, 260, 369, 353, 367, 367, 367, 260, 264, 4, 262, 264, 6, 262, 324, 6, 6, 264, 264,
3926 264, 264, 367, 353, 8, 7, 264, 262, 262, 262, 6, 6, 260, 353, 260, 353, 353, 266, 353, 264, 196, 353, 353,
3927 353, 353, 294, 294, 294, 260, 260, 260, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 260, 260, 294, 260, 262,
3928 6, 6, 264, 6, 8, 324, 6, 8, 324, 260, 294, 353, 250, 264, 9, 260, 262, 266, 373, 369, 353, 324, 366,
3929 366, 264, 374, 318, 7, 353, 353, 4, 36, 37, 111, 112, 193, 194, 296, 366, 6, 261, 263, 264, 295, 264, 6,
3930 264, 6, 9, 260, 262, 266, 383, 265, 133, 138, 140, 141, 143, 316, 318, 353, 6, 261, 269, 9, 260, 262, 266,
3931 261, 269, 261, 269, 269, 261, 269, 9, 260, 266, 269, 265, 269, 263, 269, 298, 263, 298, 97, 361, 359, 383, 269,
3932 353, 269, 261, 261, 261, 353, 261, 261, 261, 353, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 265, 7,
3933 353, 250, 265, 269, 265, 353, 6, 6, 261, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
3934 353, 353, 353, 368, 353, 353, 353, 353, 353, 353, 353, 353, 353, 368, 368, 383, 264, 353, 353, 373, 353, 373, 366,
3935 373, 373, 380, 264, 264, 264, 264, 353, 295, 383, 8, 353, 353, 367, 366, 264, 373, 373, 368, 360, 374, 360, 369,
3936 261, 265, 266, 294, 67, 8, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 264, 353, 368,
3937 353, 353, 353, 353, 353, 383, 353, 353, 296, 264, 295, 261, 265, 265, 353, 353, 353, 7, 7, 346, 346, 260, 353,
3938 353, 353, 353, 6, 169, 369, 369, 264, 261, 6, 324, 264, 324, 324, 269, 269, 269, 363, 363, 323, 323, 269, 353,
3939 265, 337, 269, 324, 353, 353, 353, 353, 353, 353, 353, 353, 353, 265, 261, 7, 347, 6, 7, 353, 353, 6, 353,
3940 324, 353, 265, 369, 369, 369, 353, 6, 261, 265, 353, 369, 353, 353, 353, 353, 261, 353, 261, 261, 193, 269, 324,
3941 264, 8, 261, 261, 263, 380, 373, 380, 373, 373, 373, 373, 373, 373, 353, 373, 373, 373, 373, 267, 376, 383, 374,
3942 373, 373, 373, 360, 383, 369, 265, 265, 265, 265, 353, 353, 353, 324, 383, 296, 263, 265, 261, 147, 165, 341, 261,
3943 265, 269, 353, 6, 264, 366, 261, 263, 266, 7, 7, 292, 293, 6, 369, 7, 236, 292, 353, 277, 383, 353, 353,
3944 296, 262, 260, 133, 318, 319, 318, 264, 265, 6, 243, 244, 274, 369, 383, 353, 353, 296, 6, 369, 6, 369, 353,
3945 6, 373, 381, 383, 261, 296, 353, 353, 6, 383, 6, 373, 353, 261, 262, 353, 269, 374, 7, 7, 7, 261, 7,
3946 7, 7, 261, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 353, 261, 264, 353, 368, 6, 264, 265, 6, 295,
3947 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 269, 295, 295, 295, 295, 295, 295, 295, 295, 295, 269, 269, 269,
3948 269, 269, 261, 263, 263, 369, 269, 269, 295, 269, 295, 269, 269, 269, 261, 369, 353, 353, 353, 355, 295, 265, 265,
3949 265, 353, 269, 269, 295, 295, 261, 266, 261, 266, 269, 294, 356, 265, 7, 296, 295, 366, 265, 8, 8, 369, 266,
3950 261, 263, 260, 262, 293, 294, 369, 7, 264, 264, 261, 261, 261, 353, 366, 4, 345, 6, 312, 353, 374, 261, 265,
3951 261, 261, 353, 265, 265, 369, 266, 265, 324, 265, 265, 363, 353, 353, 265, 265, 353, 363, 144, 144, 162, 173, 174,
3952 175, 179, 180, 338, 339, 363, 265, 334, 261, 265, 261, 261, 261, 261, 261, 261, 261, 264, 7, 353, 6, 353, 261,
3953 265, 263, 265, 263, 265, 265, 265, 265, 6, 265, 263, 263, 269, 261, 7, 261, 7, 7, 266, 353, 265, 353, 353,
3954 7, 266, 295, 269, 295, 295, 261, 261, 269, 295, 295, 269, 269, 295, 295, 295, 295, 353, 295, 9, 375, 269, 261,
3955 269, 295, 266, 269, 357, 263, 265, 261, 265, 266, 260, 262, 268, 196, 7, 165, 6, 353, 265, 264, 6, 366, 265,
3956 353, 6, 7, 292, 293, 266, 292, 293, 296, 264, 371, 383, 374, 353, 6, 265, 49, 49, 366, 265, 4, 183, 184,
3957 185, 186, 265, 280, 284, 287, 289, 290, 332, 266, 261, 263, 260, 353, 353, 260, 264, 260, 264, 8, 369, 373, 261,
3958 266, 261, 263, 260, 261, 261, 269, 266, 260, 265, 269, 7, 294, 4, 36, 37, 306, 307, 308, 295, 353, 295, 363,
3959 366, 366, 7, 366, 366, 366, 7, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 6, 7, 369, 323, 353, 353,
3960 353, 353, 353, 353, 265, 353, 353, 353, 366, 373, 373, 265, 265, 265, 265, 269, 305, 265, 353, 353, 296, 296, 353,
3961 353, 261, 366, 294, 353, 353, 265, 296, 293, 266, 293, 353, 353, 295, 265, 366, 369, 369, 7, 7, 7, 144, 344,
3962 6, 261, 269, 7, 7, 7, 6, 7, 7, 265, 4, 296, 265, 269, 269, 269, 265, 265, 120, 4, 6, 353, 264,
3963 6, 260, 6, 181, 6, 181, 265, 339, 269, 338, 7, 6, 7, 7, 7, 7, 7, 7, 7, 323, 366, 6, 264,
3964 102, 6, 6, 6, 108, 7, 7, 6, 6, 353, 7, 366, 7, 366, 366, 4, 269, 8, 8, 261, 296, 296, 369,
3965 373, 353, 373, 267, 269, 309, 373, 373, 296, 373, 261, 269, 6, 296, 264, 318, 264, 6, 353, 6, 264, 366, 265,
3966 265, 353, 6, 193, 194, 296, 353, 6, 7, 370, 372, 6, 262, 6, 6, 295, 294, 294, 6, 281, 260, 260, 264,
3967 291, 6, 296, 266, 373, 353, 263, 261, 353, 8, 369, 353, 369, 265, 265, 6, 6, 274, 296, 266, 353, 6, 6,
3968 353, 296, 261, 6, 353, 264, 353, 374, 295, 49, 264, 366, 374, 377, 353, 353, 263, 269, 6, 261, 6, 6, 137,
3969 314, 314, 366, 6, 6, 6, 366, 144, 196, 313, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 265, 265, 295,
3970 295, 295, 295, 295, 295, 295, 269, 269, 269, 261, 295, 295, 307, 295, 261, 295, 261, 294, 356, 295, 6, 295, 260,
3971 262, 294, 296, 261, 263, 295, 6, 265, 265, 366, 366, 366, 4, 6, 292, 353, 366, 366, 366, 264, 264, 7, 6,
3972 7, 353, 353, 353, 264, 264, 264, 262, 6, 353, 366, 353, 6, 6, 353, 363, 265, 5, 366, 264, 264, 264, 264,
3973 264, 264, 264, 366, 265, 6, 369, 264, 264, 353, 353, 263, 366, 6, 366, 6, 192, 353, 353, 353, 6, 6, 7,
3974 295, 269, 269, 295, 269, 353, 4, 208, 310, 311, 295, 261, 295, 357, 374, 260, 262, 353, 264, 324, 6, 324, 269,
3975 6, 6, 266, 7, 7, 292, 293, 6, 370, 265, 269, 353, 292, 264, 295, 378, 379, 380, 378, 260, 353, 353, 365,
3976 366, 264, 260, 4, 6, 261, 6, 261, 265, 265, 261, 265, 6, 6, 373, 260, 4, 261, 269, 260, 265, 269, 366,
3977 374, 7, 294, 304, 353, 368, 308, 6, 363, 6, 6, 6, 144, 315, 102, 121, 106, 6, 5, 264, 6, 353, 353,
3978 353, 353, 261, 356, 353, 353, 295, 293, 264, 264, 6, 313, 6, 353, 366, 144, 144, 4, 6, 369, 369, 353, 353,
3979 374, 265, 261, 265, 269, 323, 323, 353, 353, 265, 269, 261, 265, 269, 6, 6, 365, 363, 363, 363, 363, 363, 249,
3980 363, 6, 265, 369, 353, 6, 6, 6, 6, 6, 366, 265, 269, 8, 265, 261, 264, 353, 374, 373, 353, 373, 353,
3981 374, 377, 379, 374, 269, 261, 269, 265, 353, 341, 341, 366, 296, 371, 374, 353, 6, 6, 370, 263, 366, 380, 6,
3982 295, 295, 278, 353, 269, 269, 265, 269, 279, 353, 353, 6, 6, 6, 6, 353, 353, 261, 6, 353, 300, 302, 264,
3983 379, 265, 269, 7, 7, 148, 6, 264, 264, 264, 5, 365, 295, 295, 269, 295, 261, 261, 263, 369, 369, 6, 6,
3984 353, 353, 264, 265, 265, 264, 6, 6, 264, 353, 265, 265, 265, 263, 6, 366, 7, 264, 353, 265, 269, 269, 269,
3985 269, 269, 269, 6, 265, 265, 191, 353, 353, 369, 6, 6, 261, 295, 295, 311, 374, 265, 265, 265, 265, 7, 6,
3986 6, 6, 266, 6, 265, 6, 6, 261, 269, 353, 353, 264, 366, 265, 269, 261, 261, 269, 265, 305, 309, 366, 295,
3987 353, 374, 383, 369, 369, 353, 6, 265, 353, 356, 265, 265, 6, 6, 365, 149, 150, 155, 348, 149, 150, 348, 369,
3988 323, 265, 269, 6, 265, 366, 324, 265, 6, 369, 363, 363, 363, 363, 363, 6, 353, 265, 265, 265, 261, 6, 264,
3989 6, 370, 194, 282, 353, 269, 269, 365, 6, 353, 353, 6, 265, 265, 301, 7, 260, 265, 265, 265, 264, 269, 261,
3990 264, 265, 264, 363, 366, 6, 264, 363, 6, 265, 265, 353, 6, 144, 265, 335, 264, 265, 269, 269, 269, 269, 269,
3991 6, 6, 6, 324, 6, 264, 353, 353, 265, 269, 305, 374, 261, 353, 353, 369, 6, 363, 6, 363, 6, 6, 265,
3992 353, 338, 324, 6, 369, 369, 369, 369, 363, 369, 341, 279, 261, 269, 6, 264, 353, 265, 269, 269, 265, 269, 269,
3993 6, 265, 265, 336, 265, 265, 265, 265, 269, 265, 265, 265, 285, 353, 365, 265, 353, 353, 363, 363, 338, 6, 6,
3994 6, 6, 369, 6, 6, 6, 264, 261, 265, 6, 265, 295, 269, 269, 265, 265, 283, 373, 288, 264, 6, 353, 353,
3995 6, 265, 269, 264, 365, 265, 265, 6, 373, 286, 373, 265, 6, 6, 265, 269, 6, 6, 373};
3997 #define yyerrok (yyerrstatus = 0)
3998 #define yyclearin (yychar = YYEMPTY)
3999 #define YYEMPTY (-2)
4002 #define YYACCEPT goto yyacceptlab
4003 #define YYABORT goto yyabortlab
4004 #define YYERROR goto yyerrorlab
4010 #define YYFAIL goto yyerrlab
4012 #define YYRECOVERING() (!!yyerrstatus)
4014 #define YYBACKUP(Token, Value) \
4016 if (yychar == YYEMPTY && yylen == 1) \
4020 yytoken = YYTRANSLATE(yychar); \
4026 yyerror(YY_("syntax error: cannot back up")); \
4032 #define YYERRCODE 256
4038 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
4039 #ifndef YYLLOC_DEFAULT
4040 #define YYLLOC_DEFAULT(Current, Rhs, N) \
4044 (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \
4045 (Current).first_column = YYRHSLOC(Rhs, 1).first_column; \
4046 (Current).last_line = YYRHSLOC(Rhs, N).last_line; \
4047 (Current).last_column = YYRHSLOC(Rhs, N).last_column; \
4051 (Current).first_line = (Current).last_line = YYRHSLOC(Rhs, 0).last_line; \
4052 (Current).first_column = (Current).last_column = YYRHSLOC(Rhs, 0).last_column; \
4061 #ifndef YY_LOCATION_PRINT
4062 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
4063 #define YY_LOCATION_PRINT(File, Loc) \
4064 fprintf(File, "%d.%d-%d.%d", (Loc).first_line, (Loc).first_column, (Loc).last_line, (Loc).last_column)
4066 #define YY_LOCATION_PRINT(File, Loc) ((void)0)
4073 #define YYLEX yylex(YYLEX_PARAM)
4075 #define YYLEX yylex()
4083 #define YYFPRINTF fprintf
4086 #define YYDPRINTF(Args) \
4093 #define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4098 YYFPRINTF(stderr, "%s ", Title); \
4099 yy_symbol_print(stderr, Type, Value); \
4100 YYFPRINTF(stderr, "\n"); \
4109 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4112 static void yy_symbol_value_print(yyoutput,
yytype,
yyvaluep) FILE *yyoutput;
4136 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4139 static void yy_symbol_print(yyoutput,
yytype,
yyvaluep) FILE *yyoutput;
4145 YYFPRINTF(yyoutput,
"token %s (", yytname[
yytype]);
4147 YYFPRINTF(yyoutput,
"nterm %s (", yytname[
yytype]);
4150 YYFPRINTF(yyoutput,
")");
4158 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4161 static void yy_stack_print(bottom, top)
yytype_int16 *bottom;
4165 YYFPRINTF(stderr,
"Stack now");
4166 for (; bottom <= top; ++bottom)
4167 YYFPRINTF(stderr,
" %d", *bottom);
4168 YYFPRINTF(stderr,
"\n");
4171 #define YY_STACK_PRINT(Bottom, Top) \
4175 yy_stack_print((Bottom), (Top)); \
4182 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4183 static void yy_reduce_print(
YYSTYPE *yyvsp,
int yyrule)
4185 static void yy_reduce_print(yyvsp, yyrule)
YYSTYPE *yyvsp;
4189 int yynrhs =
yyr2[yyrule];
4191 unsigned long int yylno = yyrline[yyrule];
4192 YYFPRINTF(stderr,
"Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
4194 for (yyi = 0; yyi < yynrhs; yyi++)
4196 fprintf(stderr,
" $%d = ", yyi + 1);
4197 yy_symbol_print(stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]));
4198 fprintf(stderr,
"\n");
4202 #define YY_REDUCE_PRINT(Rule) \
4206 yy_reduce_print(yyvsp, Rule); \
4213 #define YYDPRINTF(Args)
4214 #define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4215 #define YY_STACK_PRINT(Bottom, Top)
4216 #define YY_REDUCE_PRINT(Rule)
4221 #define YYINITDEPTH 200
4232 #define YYMAXDEPTH 10000
4238 #if defined __GLIBC__ && defined _STRING_H
4239 #define yystrlen strlen
4242 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4243 static YYSIZE_T yystrlen(
const char *yystr)
4245 static YYSIZE_T yystrlen(yystr)
const char *yystr;
4249 for (yylen = 0; yystr[yylen]; yylen++)
4257 #if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4258 #define yystpcpy stpcpy
4262 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4263 static char *yystpcpy(
char *yydest,
const char *yysrc)
4265 static char *yystpcpy(yydest, yysrc)
char *yydest;
4270 const char *yys = yysrc;
4272 while ((*yyd++ = *yys++) !=
'\0')
4288 static YYSIZE_T yytnamerr(
char *yyres,
const char *yystr)
4293 char const *yyp = yystr;
4300 goto do_not_strip_quotes;
4304 goto do_not_strip_quotes;
4317 do_not_strip_quotes:;
4321 return yystrlen(yystr);
4323 return yystpcpy(yyres, yystr) - yyres;
4334 static YYSIZE_T yysyntax_error(
char *yyresult,
int yystate,
int yychar)
4336 int yyn =
yypact[yystate];
4346 int yysize_overflow = 0;
4349 YYERROR_VERBOSE_ARGS_MAXIMUM = 5
4351 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4357 YY_(
"syntax error, unexpected %s");
4358 YY_(
"syntax error, unexpected %s, expecting %s");
4359 YY_(
"syntax error, unexpected %s, expecting %s or %s");
4360 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
4361 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
4365 static char const yyunexpected[] =
"syntax error, unexpected %s";
4366 static char const yyexpecting[] =
", expecting %s";
4367 static char const yyor[] =
" or %s";
4368 char yyformat[
sizeof yyunexpected +
sizeof yyexpecting - 1 +
4369 ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (
sizeof yyor - 1))];
4370 char const *yyprefix = yyexpecting;
4374 int yyxbegin = yyn < 0 ? -yyn : 0;
4377 int yychecklim =
YYLAST - yyn + 1;
4381 yyarg[0] = yytname[
yytype];
4382 yyfmt = yystpcpy(yyformat, yyunexpected);
4384 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4387 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
4391 yyformat[
sizeof yyunexpected - 1] =
'\0';
4394 yyarg[yycount++] = yytname[yyx];
4395 yysize1 = yysize + yytnamerr(0, yytname[yyx]);
4396 yysize_overflow |= (yysize1 < yysize);
4398 yyfmt = yystpcpy(yyfmt, yyprefix);
4402 yyf =
YY_(yyformat);
4403 yysize1 = yysize + yystrlen(yyf);
4404 yysize_overflow |= (yysize1 < yysize);
4407 if (yysize_overflow)
4415 char *yyp = yyresult;
4417 while ((*yyp = *yyf) !=
'\0')
4419 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
4421 yyp += yytnamerr(yyp, yyarg[yyi++]);
4441 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4465 #ifdef YYPARSE_PARAM
4466 #if defined __STDC__ || defined __cplusplus
4467 int yyparse(
void *YYPARSE_PARAM);
4472 #if defined __STDC__ || defined __cplusplus
4492 #ifdef YYPARSE_PARAM
4493 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4494 int yyparse(
void *YYPARSE_PARAM)
4496 int yyparse(YYPARSE_PARAM)
void *YYPARSE_PARAM;
4499 #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER)
4518 char *
yymsg = yymsgbuf;
4519 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
4540 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
4552 YYDPRINTF((stderr,
"Starting parse\n"));
4580 if (yyss + yystacksize - 1 <= yyssp)
4583 YYSIZE_T yysize = yyssp - yyss + 1;
4597 yyoverflow(
YY_(
"memory exhausted"), &yyss1, yysize *
sizeof(*yyssp), &yyvs1, yysize *
sizeof(*yyvsp),
4605 #ifndef YYSTACK_RELOCATE
4606 goto yyexhaustedlab;
4610 goto yyexhaustedlab;
4619 goto yyexhaustedlab;
4623 #undef YYSTACK_RELOCATE
4630 yyssp =
yyss + yysize - 1;
4631 yyvsp =
yyvs + yysize - 1;
4633 YYDPRINTF((stderr,
"Stack size increased to %lu\n", (
unsigned long int)yystacksize));
4635 if (
yyss + yystacksize - 1 <= yyssp)
4639 YYDPRINTF((stderr,
"Entering state %d\n", yystate));
4661 YYDPRINTF((stderr,
"Reading a token: "));
4668 YYDPRINTF((stderr,
"Now at end of input.\n"));
4734 yyval = yyvsp[1 - yylen];
4785 for (
int dim = -2; dim <= 3; dim++)
4793 yymsg(1,
"Unknown factory \"%s\" - using \"Built-in\" instead", (yyvsp[(3) - (5)].
c));
4796 for (
int dim = -2; dim <= 3; dim++)
4802 Free((yyvsp[(3) - (5)].
c));
4941 (yyval.
c) = (
char *)
"w";
4949 (yyval.
c) = (
char *)
"a";
4958 Free((yyvsp[(3) - (5)].
c));
4967 Free((yyvsp[(3) - (5)].
c));
4976 Free((yyvsp[(3) - (5)].
c));
4985 FILE *fp =
Fopen(tmp.c_str(), (yyvsp[(5) - (7)].
c));
4988 yymsg(0,
"Unable to open file '%s'", tmp.c_str());
4992 fprintf(fp,
"%s\n", (yyvsp[(3) - (7)].
c));
4995 Free((yyvsp[(3) - (7)].
c));
4996 Free((yyvsp[(6) - (7)].
c));
5004 char tmpstring[5000];
5007 yymsg(0,
"Too few arguments in Printf");
5009 yymsg(0,
"%d extra argument%s in Printf", i, (i > 1) ?
"s" :
"");
5012 Free((yyvsp[(3) - (7)].
c));
5021 char tmpstring[5000];
5024 yymsg(1,
"Too few arguments in Error");
5026 yymsg(1,
"%d extra argument%s in Error", i, (i > 1) ?
"s" :
"");
5029 Free((yyvsp[(3) - (7)].
c));
5038 char tmpstring[5000];
5041 yymsg(0,
"Too few arguments in Error");
5043 yymsg(0,
"%d extra argument%s in Error", i, (i > 1) ?
"s" :
"");
5046 Free((yyvsp[(3) - (7)].
c));
5055 char tmpstring[5000];
5058 yymsg(0,
"Too few arguments in Printf");
5060 yymsg(0,
"%d extra argument%s in Printf", i, (i > 1) ?
"s" :
"");
5064 FILE *fp =
Fopen(tmp.c_str(), (yyvsp[(7) - (9)].
c));
5067 yymsg(0,
"Unable to open file '%s'", tmp.c_str());
5071 fprintf(fp,
"%s\n", tmpstring);
5075 Free((yyvsp[(3) - (9)].
c));
5076 Free((yyvsp[(8) - (9)].
c));
5085 #if defined(HAVE_POST)
5086 if (!strcmp((yyvsp[(1) - (6)].
c),
"View") && ViewData->
finalize())
5088 ViewData->
setName((yyvsp[(2) - (6)].
c));
5091 new PView(ViewData);
5096 Free((yyvsp[(1) - (6)].
c));
5097 Free((yyvsp[(2) - (6)].
c));
5105 #if defined(HAVE_POST)
5106 if (!strcmp((yyvsp[(2) - (6)].
c),
"View"))
5108 int index = (int)(yyvsp[(4) - (6)].d);
5109 if (index >= 0 && index < (
int)
PView::list.size())
5112 yymsg(0,
"Unknown view %d", index);
5115 Free((yyvsp[(2) - (6)].
c));
5123 #if defined(HAVE_POST)
5124 if (!strcmp((yyvsp[(2) - (6)].
c),
"View"))
5126 int index = (int)(yyvsp[(4) - (6)].d);
5127 if (index >= 0 && index < (
int)
PView::list.size())
5130 yymsg(0,
"Unknown view %d", index);
5133 Free((yyvsp[(2) - (6)].
c));
5141 #if defined(HAVE_POST)
5142 if (!strcmp((yyvsp[(2) - (8)].
c),
"View"))
5144 int index = (int)(yyvsp[(4) - (8)].d), index2 = (int)(yyvsp[(6) - (8)].d);
5150 yymsg(0,
"Unknown view %d or %d", index, index2);
5153 Free((yyvsp[(2) - (8)].
c));
5161 #if defined(HAVE_POST)
5171 ViewCoord.push_back((yyvsp[(1) - (1)].d));
5179 ViewCoord.push_back((yyvsp[(3) - (3)].d));
5205 #if defined(HAVE_POST)
5206 if (!strncmp((yyvsp[(1) - (1)].
c),
"SP", 2))
5211 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VP", 2))
5216 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TP", 2))
5221 else if (!strncmp((yyvsp[(1) - (1)].
c),
"SL", 2))
5225 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5228 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VL", 2))
5232 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5235 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TL", 2))
5239 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5242 else if (!strncmp((yyvsp[(1) - (1)].
c),
"ST", 2))
5246 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5249 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VT", 2))
5253 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5256 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TT", 2))
5260 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5263 else if (!strncmp((yyvsp[(1) - (1)].
c),
"SQ", 2))
5267 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5270 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VQ", 2))
5274 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5277 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TQ", 2))
5281 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5284 else if (!strncmp((yyvsp[(1) - (1)].
c),
"SS", 2))
5288 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5291 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VS", 2))
5295 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5298 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TS", 2))
5302 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5305 else if (!strncmp((yyvsp[(1) - (1)].
c),
"SH", 2))
5309 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5312 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VH", 2))
5316 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5319 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TH", 2))
5323 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5326 else if (!strncmp((yyvsp[(1) - (1)].
c),
"SI", 2))
5330 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5333 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VI", 2))
5337 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5340 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TI", 2))
5344 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5347 else if (!strncmp((yyvsp[(1) - (1)].
c),
"SY", 2))
5351 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5354 else if (!strncmp((yyvsp[(1) - (1)].
c),
"VY", 2))
5358 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5361 else if (!strncmp((yyvsp[(1) - (1)].
c),
"TY", 2))
5365 if (strlen((yyvsp[(1) - (1)].
c)) > 2)
5370 yymsg(0,
"Unknown element type '%s'", (yyvsp[(1) - (1)].
c));
5376 Free((yyvsp[(1) - (1)].
c));
5384 #if defined(HAVE_POST)
5387 for (
int i = 0; i < 3; i++)
5388 for (std::size_t j = 0; j <
ViewCoord.size() / 3; j++)
5399 #if defined(HAVE_POST)
5410 #if defined(HAVE_POST)
5411 for (
int i = 0; i < (int)strlen((yyvsp[(1) - (1)].
c)) + 1; i++)
5412 ViewData->
T2C.push_back((yyvsp[(1) - (1)].
c)[i]);
5414 Free((yyvsp[(1) - (1)].
c));
5422 #if defined(HAVE_POST)
5423 for (
int i = 0; i < (int)strlen((yyvsp[(3) - (3)].
c)) + 1; i++)
5424 ViewData->
T2C.push_back((yyvsp[(3) - (3)].
c)[i]);
5426 Free((yyvsp[(3) - (3)].
c));
5434 #if defined(HAVE_POST)
5435 ViewData->
T2D.push_back((yyvsp[(3) - (8)].d));
5436 ViewData->
T2D.push_back((yyvsp[(5) - (8)].d));
5437 ViewData->
T2D.push_back((yyvsp[(7) - (8)].d));
5438 ViewData->
T2D.push_back(ViewData->
T2C.size());
5447 #if defined(HAVE_POST)
5457 #if defined(HAVE_POST)
5458 for (
int i = 0; i < (int)strlen((yyvsp[(1) - (1)].
c)) + 1; i++)
5459 ViewData->
T3C.push_back((yyvsp[(1) - (1)].
c)[i]);
5461 Free((yyvsp[(1) - (1)].
c));
5469 #if defined(HAVE_POST)
5470 for (
int i = 0; i < (int)strlen((yyvsp[(3) - (3)].
c)) + 1; i++)
5471 ViewData->
T3C.push_back((yyvsp[(3) - (3)].
c)[i]);
5473 Free((yyvsp[(3) - (3)].
c));
5481 #if defined(HAVE_POST)
5482 ViewData->
T3D.push_back((yyvsp[(3) - (10)].d));
5483 ViewData->
T3D.push_back((yyvsp[(5) - (10)].d));
5484 ViewData->
T3D.push_back((yyvsp[(7) - (10)].d));
5485 ViewData->
T3D.push_back((yyvsp[(9) - (10)].d));
5486 ViewData->
T3D.push_back(ViewData->
T3C.size());
5495 #if defined(HAVE_POST)
5505 #if defined(HAVE_POST)
5506 int type = (ViewData->
NbSL || ViewData->
NbVL)
5508 : (ViewData->
NbST || ViewData->
NbVT)
5510 : (ViewData->
NbSQ || ViewData->
NbVQ)
5512 : (ViewData->
NbSS || ViewData->
NbVS)
5514 : (ViewData->
NbSY || ViewData->
NbVY)
5516 : (ViewData->
NbSI || ViewData->
NbVI)
5529 #if defined(HAVE_POST)
5530 int type = (ViewData->
NbSL || ViewData->
NbVL)
5532 : (ViewData->
NbST || ViewData->
NbVT)
5534 : (ViewData->
NbSQ || ViewData->
NbVQ)
5536 : (ViewData->
NbSS || ViewData->
NbVS)
5550 #if defined(HAVE_POST)
5623 (yyval.
c) = (
char *)
"(";
5631 (yyval.
c) = (
char *)
"[";
5639 (yyval.
c) = (
char *)
")";
5647 (yyval.
c) = (
char *)
"]";
5655 (yyval.
c) = (yyvsp[(1) - (1)].
c);
5663 (yyval.
c) = (
char *)
Malloc(4 *
sizeof(
char));
5664 strcpy((yyval.
c),
"Min");
5672 (yyval.
c) = (
char *)
Malloc(4 *
sizeof(
char));
5673 strcpy((yyval.
c),
"Max");
5681 (yyval.
c) = (
char *)
Malloc(4 *
sizeof(
char));
5682 strcpy((yyval.
c),
"Box");
5690 (yyval.
c) = (
char *)
Malloc(9 *
sizeof(
char));
5691 strcpy((yyval.
c),
"Cylinder");
5700 Free((yyvsp[(3) - (7)].
c));
5709 Free((yyvsp[(3) - (7)].
c));
5710 Free((yyvsp[(5) - (7)].
c));
5720 yymsg(0,
"Unknown variable '%s'", (yyvsp[(1) - (4)].
c));
5725 if (!(yyvsp[(2) - (4)].i))
5729 if (
List_Nbr((yyvsp[(3) - (4)].l)) != 1)
5731 yymsg(0,
"Cannot assign list to variable '%s'", (yyvsp[(1) - (4)].
c));
5737 if (s.
value.empty())
5739 if ((yyvsp[(2) - (4)].i))
5740 yymsg(1,
"Uninitialized variable '%s'", (yyvsp[(1) - (4)].
c));
5741 s.
value.resize(1, 0.);
5743 switch ((yyvsp[(2) - (4)].i))
5761 yymsg(0,
"Division by zero in '%s /= %g'", (yyvsp[(1) - (4)].
c), d);
5770 switch ((yyvsp[(2) - (4)].i))
5775 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
5779 s.
value.push_back(d);
5783 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
5787 auto it = std::find(s.
value.begin(), s.
value.end(), d);
5788 if (it != s.
value.end())
5793 yymsg(0,
"Operators *= and /= not available for lists");
5798 Free((yyvsp[(1) - (4)].
c));
5808 yymsg(0,
"Unknown variable '%s'", (yyvsp[(1) - (3)].
c));
5813 yymsg(0,
"Uninitialized variable '%s'", (yyvsp[(1) - (3)].
c));
5815 s.
value[0] += (yyvsp[(2) - (3)].
i);
5817 yymsg(0,
"Variable '%s' is a list", (yyvsp[(1) - (3)].
c));
5819 Free((yyvsp[(1) - (3)].
c));
5830 switch ((yyvsp[(4) - (6)].i))
5835 for (
int i = 0; i <
List_Nbr((yyvsp[(5) - (6)].l)); i++)
5838 s.
value.push_back(d);
5842 for (
int i = 0; i <
List_Nbr((yyvsp[(5) - (6)].l)); i++)
5845 auto it = std::find(s.
value.begin(), s.
value.end(), d);
5846 if (it != s.
value.end())
5851 yymsg(0,
"Operators *= and /= not available for lists");
5854 Free((yyvsp[(1) - (6)].
c));
5863 assignVariables((yyvsp[(1) - (9)].
c), (yyvsp[(4) - (9)].l), (yyvsp[(7) - (9)].i), (yyvsp[(8) - (9)].l));
5864 Free((yyvsp[(1) - (9)].
c));
5874 assignVariable((yyvsp[(1) - (7)].
c), (
int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d));
5875 Free((yyvsp[(1) - (7)].
c));
5883 incrementVariable((yyvsp[(1) - (6)].
c), (
int)(yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i));
5884 Free((yyvsp[(1) - (6)].
c));
5892 assignVariable((yyvsp[(1) - (7)].
c), (
int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d));
5893 Free((yyvsp[(1) - (7)].
c));
5902 Free((yyvsp[(1) - (6)].
c));
5911 Free((yyvsp[(1) - (4)].
c));
5912 Free((yyvsp[(3) - (4)].
c));
5921 Free((yyvsp[(1) - (8)].
c));
5929 std::vector<std::string> s;
5930 for (
int i = 0; i <
List_Nbr((yyvsp[(7) - (9)].l)); i++)
5937 Free((yyvsp[(1) - (9)].
c));
5948 for (
int i = 0; i <
List_Nbr((yyvsp[(7) - (9)].l)); i++)
5956 yymsg(0,
"Uninitialized variable '%s'", (yyvsp[(1) - (9)].
c));
5957 Free((yyvsp[(1) - (9)].
c));
5966 std::string tmp((yyvsp[(5) - (6)].
c));
5968 Free((yyvsp[(1) - (6)].
c));
5969 Free((yyvsp[(3) - (6)].
c));
5970 Free((yyvsp[(5) - (6)].
c));
5978 std::string tmp((yyvsp[(8) - (9)].
c));
5980 Free((yyvsp[(1) - (9)].
c));
5981 Free((yyvsp[(6) - (9)].
c));
5982 Free((yyvsp[(8) - (9)].
c));
5993 switch ((yyvsp[(4) - (6)].i))
5996 d = (yyvsp[(5) - (6)].
d);
5999 d += (yyvsp[(5) - (6)].
d);
6002 d -= (yyvsp[(5) - (6)].
d);
6005 d *= (yyvsp[(5) - (6)].
d);
6008 if ((yyvsp[(5) - (6)].d))
6009 d /= (yyvsp[(5) - (6)].d);
6011 yymsg(0,
"Division by zero in '%s.%s /= %g'", (yyvsp[(1) - (6)].
c), (yyvsp[(3) - (6)].
c),
6012 (yyvsp[(5) - (6)].d));
6017 Free((yyvsp[(1) - (6)].
c));
6018 Free((yyvsp[(3) - (6)].
c));
6029 switch ((yyvsp[(7) - (9)].i))
6032 d = (yyvsp[(8) - (9)].
d);
6035 d += (yyvsp[(8) - (9)].
d);
6038 d -= (yyvsp[(8) - (9)].
d);
6041 d *= (yyvsp[(8) - (9)].
d);
6044 if ((yyvsp[(8) - (9)].d))
6045 d /= (yyvsp[(8) - (9)].d);
6047 yymsg(0,
"Division by zero in '%s[%d].%s /= %g'", (yyvsp[(1) - (9)].
c), (
int)(yyvsp[(3) - (9)].d),
6048 (yyvsp[(6) - (9)].
c), (yyvsp[(8) - (9)].d));
6053 Free((yyvsp[(1) - (9)].
c));
6054 Free((yyvsp[(6) - (9)].
c));
6065 d += (yyvsp[(4) - (5)].
i);
6068 Free((yyvsp[(1) - (5)].
c));
6069 Free((yyvsp[(3) - (5)].
c));
6080 d += (yyvsp[(7) - (8)].
i);
6083 Free((yyvsp[(1) - (8)].
c));
6084 Free((yyvsp[(6) - (8)].
c));
6093 Free((yyvsp[(1) - (8)].
c));
6094 Free((yyvsp[(5) - (8)].
c));
6103 (yyvsp[(10) - (11)].u));
6104 Free((yyvsp[(1) - (11)].
c));
6105 Free((yyvsp[(8) - (11)].
c));
6115 yymsg(0,
"View[%d] does not exist", 0);
6122 for (
int i = 0; i < ct->
size; i++)
6130 Free((yyvsp[(1) - (6)].
c));
6141 yymsg(0,
"View[%d] does not exist", (
int)(yyvsp[(3) - (9)].d));
6147 (
int)(yyvsp[(3) - (9)].
d));
6149 for (
int i = 0; i < ct->
size; i++)
6157 Free((yyvsp[(1) - (9)].
c));
6166 #if defined(HAVE_MESH)
6167 std::vector<int>
tags;
6169 if (!strcmp((yyvsp[(1) - (5)].
c),
"Background"))
6171 if (
tags.size() > 1)
6172 yymsg(0,
"Only 1 field can be set as a background field.");
6173 else if (
tags.size() == 0)
6174 yymsg(1,
"No field given (Background Field).");
6178 else if (!strcmp((yyvsp[(1) - (5)].
c),
"BoundaryLayer"))
6181 yymsg(0,
"Unknown command '%s Field'", (yyvsp[(1) - (5)].
c));
6183 Free((yyvsp[(1) - (5)].
c));
6192 #if defined(HAVE_MESH)
6193 if (!
GModel::current()->getFields()->newField((
int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].
c)))
6194 yymsg(0,
"Cannot create field %i of type '%s'", (
int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].
c));
6196 Free((yyvsp[(6) - (7)].
c));
6204 #if defined(HAVE_MESH)
6212 yymsg(0,
"Unknown option '%s' in field %i of type '%s'", (yyvsp[(6) - (9)].
c),
6213 (
int)(yyvsp[(3) - (9)].d), field->
getName());
6216 yymsg(0,
"No field with id %i", (
int)(yyvsp[(3) - (9)].d));
6218 Free((yyvsp[(6) - (9)].
c));
6226 #if defined(HAVE_MESH)
6232 option->
string((yyvsp[(8) - (9)].
c));
6234 yymsg(0,
"Unknown option '%s' in field %i of type '%s'", (yyvsp[(6) - (9)].
c),
6235 (
int)(yyvsp[(3) - (9)].d), field->
getName());
6238 yymsg(0,
"No field with id %i", (
int)(yyvsp[(3) - (9)].d));
6240 Free((yyvsp[(6) - (9)].
c));
6241 Free((yyvsp[(8) - (9)].
c));
6249 #if defined(HAVE_MESH)
6258 std::list<int> vl = option->
list();
6260 for (
int i = 0; i <
List_Nbr((yyvsp[(9) - (11)].l)); i++)
6263 List_Read((yyvsp[(9) - (11)].l), i, &
id);
6264 vl.push_back((
int)
id);
6272 for (
int i = 0; i <
List_Nbr((yyvsp[(9) - (11)].l)); i++)
6275 List_Read((yyvsp[(9) - (11)].l), i, &
id);
6282 yymsg(0,
"Unknown option '%s' in field %i of type '%s'", (yyvsp[(6) - (11)].
c),
6283 (
int)(yyvsp[(3) - (11)].d), field->
getName());
6286 yymsg(0,
"No field with id %i", (
int)(yyvsp[(3) - (11)].d));
6288 Free((yyvsp[(6) - (11)].
c));
6297 #if defined(HAVE_MESH)
6307 yymsg(0,
"Unknown callback '%s' in field %i of type '%s'", (yyvsp[(6) - (7)].
c),
6308 (
int)(yyvsp[(3) - (7)].d), field->
getName());
6311 yymsg(0,
"No field with id %i", (
int)(yyvsp[(3) - (7)].d));
6313 Free((yyvsp[(6) - (7)].
c));
6321 #if defined(HAVE_PLUGINS)
6325 (yyvsp[(8) - (9)].d));
6329 yymsg(0,
"Unknown option '%s' or plugin '%s'", (yyvsp[(6) - (9)].
c), (yyvsp[(3) - (9)].
c));
6332 Free((yyvsp[(3) - (9)].
c));
6333 Free((yyvsp[(6) - (9)].
c));
6341 #if defined(HAVE_PLUGINS)
6345 (yyvsp[(8) - (9)].
c));
6349 yymsg(0,
"Unknown option '%s' or plugin '%s'", (yyvsp[(6) - (9)].
c), (yyvsp[(3) - (9)].
c));
6352 Free((yyvsp[(3) - (9)].
c));
6353 Free((yyvsp[(6) - (9)].
c));
6354 Free((yyvsp[(8) - (9)].
c));
6362 std::string key((yyvsp[(3) - (3)].
c));
6363 std::vector<double> val(1, 0.);
6368 Free((yyvsp[(3) - (3)].
c));
6376 std::string key((yyvsp[(3) - (5)].
c));
6377 std::vector<double> val(1, (yyvsp[(5) - (5)].d));
6382 Free((yyvsp[(3) - (5)].
c));
6398 if (
List_Nbr((yyvsp[(6) - (9)].l)) != 1)
6399 yymsg(1,
"List notation should be used to define list '%s[]'", (yyvsp[(3) - (9)].
c));
6400 std::string key((yyvsp[(3) - (9)].
c));
6401 std::vector<double> val;
6402 for (
int i = 0; i <
List_Nbr((yyvsp[(6) - (9)].l)); i++)
6413 Free((yyvsp[(3) - (9)].
c));
6430 std::string key((yyvsp[(3) - (11)].
c));
6431 std::vector<double> val;
6432 for (
int i = 0; i <
List_Nbr((yyvsp[(8) - (11)].l)); i++)
6435 List_Read((yyvsp[(8) - (11)].l), i, &d);
6443 Free((yyvsp[(3) - (11)].
c));
6452 std::string key((yyvsp[(3) - (5)].
c)), val((yyvsp[(5) - (5)].
c));
6457 Free((yyvsp[(3) - (5)].
c));
6458 Free((yyvsp[(5) - (5)].
c));
6474 std::string key((yyvsp[(3) - (9)].
c)), val((yyvsp[(6) - (9)].
c));
6480 Free((yyvsp[(3) - (9)].
c));
6481 Free((yyvsp[(6) - (9)].
c));
6489 std::string name((yyvsp[(3) - (3)].
c));
6491 Free((yyvsp[(3) - (3)].
c));
6519 int n =
List_Nbr((yyvsp[(1) - (5)].l));
6522 yymsg(0,
"Unknown string variable '%s'", (yyvsp[(3) - (5)].
c));
6530 for (
int i = 0; i < n; i++)
6540 yymsg(0,
"Size mismatch in enumeration: %d != %d", n, m);
6544 Free((yyvsp[(3) - (5)].
c));
6552 std::string key((yyvsp[(1) - (2)].
c));
6553 for (
int i = 0; i <
List_Nbr((yyvsp[(2) - (2)].l)); i++)
6563 Free((yyvsp[(1) - (2)].
c));
6588 std::string key((yyvsp[(1) - (1)].
c));
6599 Free((yyvsp[(1) - (1)].
c));
6607 std::string key((yyvsp[(1) - (4)].
c));
6608 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
6615 Free((yyvsp[(1) - (4)].
c));
6616 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
6626 std::string key((yyvsp[(1) - (2)].
c));
6627 std::string val((yyvsp[(2) - (2)].
c));
6629 Free((yyvsp[(1) - (2)].
c));
6630 Free((yyvsp[(2) - (2)].
c));
6638 std::string key((yyvsp[(1) - (2)].
c));
6639 for (
int i = 0; i <
List_Nbr((yyvsp[(2) - (2)].l)); i++)
6645 Free((yyvsp[(1) - (2)].
c));
6654 std::string key((yyvsp[(1) - (2)].
c));
6655 double val = (yyvsp[(2) - (2)].
d);
6657 Free((yyvsp[(1) - (2)].
c));
6665 std::string key((yyvsp[(1) - (2)].
c));
6666 std::string val((yyvsp[(2) - (2)].
c));
6668 Free((yyvsp[(1) - (2)].
c));
6669 Free((yyvsp[(2) - (2)].
c));
6677 std::string key(
"Macro");
6678 std::string val((yyvsp[(2) - (2)].
c));
6680 Free((yyvsp[(2) - (2)].
c));
6688 std::string key((yyvsp[(1) - (2)].
c));
6689 for (
int i = 0; i <
List_Nbr((yyvsp[(2) - (2)].l)); i++)
6697 Free((yyvsp[(1) - (2)].
c));
6706 std::string key((yyvsp[(1) - (2)].
c));
6707 for (
int i = 0; i <
List_Nbr((yyvsp[(2) - (2)].l)); i++)
6715 Free((yyvsp[(1) - (2)].
c));
6724 (yyval.
i) = (
int)(yyvsp[(1) - (1)].
d);
6735 Free((yyvsp[(1) - (1)].
c));
6745 Free((yyvsp[(1) - (3)].
c));
6762 double p = (yyvsp[(4) - (5)].
d);
6771 (yyval.
l) = (yyvsp[(4) - (5)].l);
6782 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (5)].l)); i++)
6792 for (
int i = 0; i < 4; i++)
6801 for (
int i = 0; i < 4; i++)
6802 (yyval.
v)[i] = (yyvsp[(2) - (2)].
v)[i];
6826 int num = (int)(yyvsp[(3) - (7)].d);
6844 yymsg(0,
"Could not add point");
6847 (yyval.
s).Num = num;
6855 int num = (int)(yyvsp[(3) - (7)].d);
6856 std::vector<int>
tags;
6868 yymsg(0,
"Could not add line");
6871 (yyval.
s).Num = num;
6879 int num = (int)(yyvsp[(3) - (7)].d);
6880 std::vector<int>
tags;
6892 yymsg(0,
"Could not add spline");
6895 (yyval.
s).Num = num;
6903 int num = (int)(yyvsp[(4) - (10)].d);
6904 std::vector<int>
tags;
6909 yymsg(0,
"Compound spline only available with built-in geometry kernel");
6916 yymsg(0,
"Could not add compound spline");
6919 (yyval.
s).Num = num;
6927 int num = (int)(yyvsp[(4) - (10)].d);
6928 std::vector<int>
tags;
6933 yymsg(0,
"Compound spline only available with built-in geometry kernel");
6940 yymsg(0,
"Could not add compound spline");
6943 (yyval.
s).Num = num;
6951 int num = (int)(yyvsp[(3) - (8)].d);
6952 std::vector<int>
tags;
6954 std::vector<double> param;
6959 if (
tags.size() == 3)
6963 else if (param.size() >= 4 && param.size() <= 6)
6965 double r = param[3];
6966 double a1 = (param.size() == 6) ? param[4] : 0.;
6967 double a2 = (param.size() == 6) ? param[5] : (param.size() == 5) ? param[4] : 2. * M_PI;
6972 yymsg(0,
"Circle requires 3 points or 4 to 6 parameters");
6977 if (
tags.size() == 3)
6980 (yyvsp[(7) - (8)].v)[0], (yyvsp[(7) - (8)].v)[1],
6981 (yyvsp[(7) - (8)].v)[2]);
6985 yymsg(0,
"Circle requires 3 points");
6989 yymsg(0,
"Could not add circle");
6992 (yyval.
s).Num = num;
7000 int num = (int)(yyvsp[(3) - (8)].d);
7001 std::vector<int>
tags;
7003 std::vector<double> param;
7008 if (
tags.size() == 3)
7012 else if (
tags.size() == 4)
7016 else if (param.size() >= 5 && param.size() <= 7)
7018 double a1 = (param.size() == 7) ? param[5] : 0.;
7019 double a2 = (param.size() == 7) ? param[6] : (param.size() == 6) ? param[5] : 2. * M_PI;
7025 yymsg(0,
"Ellipse requires 4 points, or 5 to 7 parameters");
7030 if (
tags.size() == 3)
7033 num,
tags[0],
tags[1],
tags[0],
tags[2], (yyvsp[(7) - (8)].v)[0], (yyvsp[(7) - (8)].v)[1],
7034 (yyvsp[(7) - (8)].v)[2]);
7036 else if (
tags.size() == 4)
7039 num,
tags[0],
tags[1],
tags[2],
tags[3], (yyvsp[(7) - (8)].v)[0], (yyvsp[(7) - (8)].v)[1],
7040 (yyvsp[(7) - (8)].v)[2]);
7044 yymsg(0,
"Ellipse requires 4 points");
7048 yymsg(0,
"Could not add ellipse");
7051 (yyval.
s).Num = num;
7059 int num = (int)(yyvsp[(3) - (7)].d);
7060 std::vector<int>
tags;
7072 yymsg(0,
"Could not add BSpline");
7075 (yyval.
s).Num = num;
7083 int num = (int)(yyvsp[(3) - (7)].d);
7084 std::vector<int>
tags;
7096 yymsg(0,
"Could not add Bezier");
7099 (yyval.
s).Num = num;
7107 int num = (int)(yyvsp[(3) - (11)].d);
7108 std::vector<int>
tags;
7110 std::vector<double> seqknots;
7115 int degree = (int)(yyvsp[(10) - (11)].d);
7116 std::vector<double> weights, knots;
7117 std::vector<int> mults;
7118 for (std::size_t i = 0; i < seqknots.size(); i++)
7120 if (!i || (i && fabs(seqknots[i] - seqknots[i - 1]) > 1e-12))
7122 knots.push_back(seqknots[i]);
7137 yymsg(0,
"Could not add nurbs");
7141 (yyval.
s).Num = num;
7149 int num = (int)(yyvsp[(3) - (7)].d);
7150 std::vector<int>
tags;
7159 yymsg(0,
"Wire only available with OpenCASCADE geometry kernel");
7162 yymsg(0,
"Could not add wire");
7165 (yyval.
s).Num = num;
7173 int num = (int)(yyvsp[(4) - (8)].d);
7174 std::vector<int>
tags;
7186 yymsg(0,
"Could not add curve loop");
7188 Free((yyvsp[(2) - (8)].
c));
7190 (yyval.
s).Num = num;
7198 int num = (int)(yyvsp[(4) - (8)].d);
7199 std::vector<int>
tags;
7211 yymsg(0,
"Could not add plane surface");
7214 (yyval.
s).Num = num;
7222 int num = (int)(yyvsp[(3) - (8)].d);
7223 std::vector<int> wires;
7228 if (wires.size() != 1)
7230 yymsg(0,
"OpenCASCADE surface filling requires a single curve loop");
7234 std::vector<int> constraints;
7236 std::vector<int> points, surfaces, continuity;
7237 if (constraints.size() >= 3 && constraints[0] < 0)
7240 for (std::size_t i = 2; i < constraints.size(); i += 2)
7242 int type = constraints[i - 1];
7245 points.push_back(constraints[i]);
7247 else if (type == 1 || type == 2)
7249 surfaces.push_back(constraints[i]);
7250 continuity.push_back(type);
7253 yymsg(0,
"Unknown type of constraint for surface filling");
7256 else if (constraints.size() > 0)
7259 points = constraints;
7267 int sphereCenter = -1;
7268 if (
List_Nbr((yyvsp[(7) - (8)].l)) == 1)
7272 sphereCenter = (int)d;
7277 yymsg(0,
"Could not add surface");
7281 (yyval.
s).Num = num;
7289 yymsg(2,
"'Ruled Surface' command is deprecated: use 'Surface' instead");
7290 int num = (int)(yyvsp[(4) - (9)].d);
7291 std::vector<int> wires;
7293 int sphereCenter = -1;
7294 if (
List_Nbr((yyvsp[(8) - (9)].l)) == 1)
7298 sphereCenter = (int)d;
7302 yymsg(0,
"Could not add surface");
7306 (yyval.
s).Num = num;
7314 int num = (int)(yyvsp[(4) - (8)].d);
7315 std::vector<int> wires;
7320 if (wires.size() != 1)
7322 yymsg(0,
"OpenCASCADE BSpline filling requires a single curve loop");
7331 yymsg(0,
"BSpline surface only available with OpenCASCADE geometry kernel");
7334 yymsg(0,
"Could not add BSpline surface");
7337 (yyval.
s).Num = num;
7345 int num = (int)(yyvsp[(4) - (8)].d);
7346 std::vector<int> wires;
7351 if (wires.size() != 1)
7353 yymsg(0,
"OpenCASCADE BSpline filling requires a single curve loop");
7362 yymsg(0,
"Bezier surface only available with OpenCASCADE geometry kernel");
7365 yymsg(0,
"Could not add Bezier surface");
7368 (yyval.
s).Num = num;
7396 int num = (int)(yyvsp[(4) - (10)].d);
7398 (yyvsp[(9) - (10)].
c));
7400 (yyval.
s).Num = num;
7408 int num = (int)(yyvsp[(3) - (7)].d);
7409 std::vector<int>
tags;
7411 std::vector<double> param;
7415 if (param.size() >= 4 && param.size() <= 7)
7419 double a1 = (param.size() >= 5) ? param[4] : -M_PI / 2;
7420 double a2 = (param.size() >= 6) ? param[5] : M_PI / 2;
7421 double a3 = (param.size() >= 7) ? param[6] : 2. * M_PI;
7427 yymsg(0,
"Sphere only available with OpenCASCADE geometry kernel");
7431 else if (
tags.size() == 2)
7437 yymsg(0,
"Sphere requires 2 points or from 4 to 7 parameters");
7440 yymsg(0,
"Could not add sphere");
7442 (yyval.
s).Num = num;
7450 int num = (int)(yyvsp[(3) - (7)].d);
7451 std::vector<int>
tags;
7453 if (
tags.size() == 2)
7459 yymsg(0,
"PolarSphere requires 2 points");
7463 (yyval.
s).Num = num;
7471 int num = (int)(yyvsp[(3) - (7)].d);
7472 std::vector<double> param;
7477 if (param.size() == 6)
7484 yymsg(0,
"Box requires 6 parameters");
7489 yymsg(0,
"Box only available with OpenCASCADE geometry kernel");
7492 yymsg(0,
"Could not add block");
7495 (yyval.
s).Num = num;
7503 int num = (int)(yyvsp[(3) - (7)].d);
7504 std::vector<double> param;
7509 if (param.size() == 5 || param.size() == 6)
7511 double alpha = (param.size() == 6) ? param[5] : 2 * M_PI;
7517 yymsg(0,
"Torus requires 5 ou 6 parameters");
7522 yymsg(0,
"Torus only available with OpenCASCADE geometry kernel");
7525 yymsg(0,
"Could not add torus");
7528 (yyval.
s).Num = num;
7536 int num = (int)(yyvsp[(3) - (7)].d);
7537 std::vector<double> param;
7542 if (param.size() == 5 || param.size() == 6)
7544 double r = (param.size() == 6) ? param[5] : 0.;
7550 yymsg(0,
"Rectangle requires 5 ou 6 parameters");
7555 yymsg(0,
"Rectangle only available with OpenCASCADE geometry kernel");
7558 yymsg(0,
"Could not add rectangle");
7561 (yyval.
s).Num = num;
7569 int num = (int)(yyvsp[(3) - (7)].d);
7570 std::vector<double> param;
7575 if (param.size() == 4 || param.size() == 5)
7577 double ry = (param.size() == 5) ? param[4] : param[3];
7582 yymsg(0,
"Disk requires 4 or 5 parameters");
7587 yymsg(0,
"Disk only available with OpenCASCADE geometry kernel");
7590 yymsg(0,
"Could not add disk");
7593 (yyval.
s).Num = num;
7601 int num = (int)(yyvsp[(3) - (7)].d);
7602 std::vector<double> param;
7607 if (param.size() == 7 || param.size() == 8)
7609 double angle = (param.size() == 8) ? param[7] : 2 * M_PI;
7611 param[4], param[5], param[6],
angle);
7615 yymsg(0,
"Cylinder requires 7 or 8 parameters");
7620 yymsg(0,
"Cylinder only available with OpenCASCADE geometry kernel");
7623 yymsg(0,
"Could not add cylinder");
7626 (yyval.
s).Num = num;
7634 int num = (int)(yyvsp[(3) - (7)].d);
7635 std::vector<double> param;
7640 if (param.size() == 8 || param.size() == 9)
7642 double alpha = (param.size() == 9) ? param[8] : 2 * M_PI;
7644 param[5], param[6], param[7], alpha);
7648 yymsg(0,
"Cone requires 8 or 9 parameters");
7653 yymsg(0,
"Cone only available with OpenCASCADE geometry kernel");
7656 yymsg(0,
"Could not add cone");
7659 (yyval.
s).Num = num;
7667 int num = (int)(yyvsp[(3) - (7)].d);
7668 std::vector<double> param;
7673 if (param.size() == 6 || param.size() == 7)
7675 double ltx = (param.size() == 7) ? param[6] : 0.;
7677 param[4], param[5], ltx);
7681 yymsg(0,
"Wedge requires 7 parameters");
7686 yymsg(0,
"Wedge only available with OpenCASCADE geometry kernel");
7689 yymsg(0,
"Could not add wedge");
7692 (yyval.
s).Num = num;
7700 int num = (int)(yyvsp[(3) - (7)].d);
7701 std::vector<double> param;
7706 if (param.size() >= 2)
7708 int in = (int)param[0];
7709 double offset = param[1];
7710 std::vector<int> exclude;
7711 for (std::size_t i = 2; i < param.size(); i++)
7712 exclude.push_back(param[i]);
7713 std::vector<std::pair<int, int>> outDimTags;
7718 yymsg(0,
"ThickSolid requires at least 2 parameters");
7723 yymsg(0,
"ThickSolid only available with OpenCASCADE geometry kernel");
7726 yymsg(0,
"Could not add thick solid");
7735 int num = (int)(yyvsp[(4) - (9)].d);
7736 std::vector<int>
tags;
7748 yymsg(0,
"Could not add surface loop");
7750 Free((yyvsp[(2) - (9)].
c));
7752 (yyval.
s).Num = num;
7760 int num = (int)(yyvsp[(3) - (7)].d);
7761 std::vector<int>
tags;
7773 yymsg(0,
"Could not add volume");
7776 (yyval.
s).Num = num;
7784 int num = (int)(yyvsp[(3) - (7)].d);
7785 std::vector<int> wires;
7790 std::vector<std::pair<int, int>> outDimTags;
7795 yymsg(0,
"ThruSections only available with OpenCASCADE geometry kernel");
7798 yymsg(0,
"Could not add thrusections");
7801 (yyval.
s).Num = num;
7809 int num = (int)(yyvsp[(4) - (8)].d);
7810 std::vector<int> wires;
7815 std::vector<std::pair<int, int>> outDimTags;
7820 yymsg(0,
"ThruSections only available with OpenCASCADE geometry kernel");
7823 yymsg(0,
"Could not add ruled thrusections");
7826 (yyval.
s).Num = num;
7834 if ((yyvsp[(2) - (8)].i) == 1)
7835 yymsg(0,
"`Compound Line (...) = {...};' is deprecated: use `Compound "
7836 "Spline|BSpline (...) = {...} Using ...;' instead, or the compound "
7837 "meshing constraint `Compound Curve {...};'");
7839 yymsg(0,
"`Compound Surface (...) = {...};' is deprecated: use the "
7840 "compound meshing constraint `Compound Surface {...};' instead");
7850 if ((yyvsp[(2) - (12)].i) == 1)
7851 yymsg(0,
"`Compound Line (...) = {...};' is deprecated: use `Compound "
7852 "Spline|BSpline (...) = {...} Using ...;' instead, or the compound "
7853 "meshing constraint `Compound Curve {...};'");
7855 yymsg(0,
"`Compound Surface (...) = {...};' is deprecated: use the "
7856 "compound meshing constraint `Compound Surface {...};' instead");
7874 int num = (int)(yyvsp[(5) - (9)].i);
7875 int op = (yyvsp[(7) - (9)].
i);
7876 std::vector<int>
tags;
7880 switch ((yyvsp[(2) - (9)].i))
7883 yymsg(0,
"Could not modify physical point");
7886 yymsg(0,
"Could not modify physical line");
7889 yymsg(0,
"Could not modify physical surface");
7892 yymsg(0,
"Could not modify physical volume");
7896 switch ((yyvsp[(2) - (9)].i))
7911 (yyval.
s).Num = num;
7951 (yyval.
i) = (
int)(yyvsp[(3) - (4)].
d);
7952 if ((yyval.
i) < 0 || (yyval.
i) > 3)
7953 yymsg(0,
"GeoEntity dim out of range [0,3]");
7985 (yyval.
i) = (
int)(yyvsp[(3) - (4)].
d);
7986 if ((yyval.
i) < 1 || (yyval.
i) > 3)
7987 yymsg(0,
"GeoEntity dim out of range [1,3]");
8011 (yyval.
i) = (
int)(yyvsp[(3) - (4)].
d);
8012 if ((yyval.
i) < 1 || (yyval.
i) > 2)
8013 yymsg(0,
"GeoEntity dim out of range [1,2]");
8045 (yyval.
i) = (
int)(yyvsp[(3) - (4)].
d);
8046 if ((yyval.
i) < 0 || (yyval.
i) > 2)
8047 yymsg(0,
"GeoEntity dim out of range [0,2]");
8055 std::vector<std::pair<int, int>> dimTags;
8061 (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2]);
8066 (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2]);
8069 yymsg(0,
"Could not translate shapes");
8070 (yyval.
l) = (yyvsp[(4) - (5)].l);
8078 std::vector<std::pair<int, int>> dimTags;
8084 dimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2],
8085 (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d));
8090 dimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2],
8091 (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d));
8094 yymsg(0,
"Could not rotate shapes");
8095 (yyval.
l) = (yyvsp[(10) - (11)].l);
8103 std::vector<std::pair<int, int>> dimTags;
8109 (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2],
8110 (yyvsp[(2) - (5)].v)[3]);
8115 (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2],
8116 (yyvsp[(2) - (5)].v)[3]);
8119 yymsg(0,
"Could not apply symmetry transform");
8120 (yyval.
l) = (yyvsp[(4) - (5)].l);
8128 std::vector<std::pair<int, int>> dimTags;
8134 (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d),
8135 (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d));
8140 (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d),
8141 (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d));
8144 yymsg(0,
"Could not dilate shapes");
8145 (yyval.
l) = (yyvsp[(8) - (9)].l);
8153 std::vector<std::pair<int, int>> dimTags;
8159 (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].v)[0],
8160 (yyvsp[(5) - (9)].v)[1], (yyvsp[(5) - (9)].v)[2]);
8165 (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].v)[0],
8166 (yyvsp[(5) - (9)].v)[1], (yyvsp[(5) - (9)].v)[2]);
8169 yymsg(0,
"Could not dilate shapes");
8170 (yyval.
l) = (yyvsp[(8) - (9)].l);
8178 std::vector<std::pair<int, int>> dimTags;
8183 std::vector<double> mat;
8189 yymsg(0,
"Affine transform only available with OpenCASCADE geometry kernel");
8192 yymsg(0,
"Could not transform shapes");
8194 (yyval.
l) = (yyvsp[(6) - (7)].l);
8202 std::vector<std::pair<int, int>> inDimTags, outDimTags;
8204 (yyval.
l) = (yyvsp[(3) - (4)].l);
8206 std::string action((yyvsp[(1) - (4)].
c));
8208 if (action ==
"Duplicata")
8219 else if (action ==
"Boundary" || action ==
"CombinedBoundary" || action ==
"PointsOf")
8229 action ==
"PointsOf");
8233 yymsg(0,
"Unknown action on multiple shapes '%s'", (yyvsp[(1) - (4)].
c));
8236 yymsg(0,
"Could not apply operation on shapes");
8238 Free((yyvsp[(1) - (4)].
c));
8250 yymsg(0,
"Intersect line not available with OpenCASCADE geometry kernel");
8254 std::vector<int> in, out;
8257 for (std::size_t i = 0; i < out.size(); i++)
8266 yymsg(0,
"Could not intersect line");
8279 yymsg(0,
"Split Curve not available with OpenCASCADE geometry kernel");
8283 std::vector<int> vertices, curves;
8286 for (std::size_t i = 0; i < curves.size(); i++)
8295 yymsg(0,
"Could not split curve");
8304 yymsg(2,
"'Split Curve(c) {...}' is deprecated: "
8305 "use 'Split Curve {c} Point {...}' instead");
8310 yymsg(0,
"Split Curve not available with OpenCASCADE geometry kernel");
8314 std::vector<int> vertices, curves;
8317 for (std::size_t i = 0; i < curves.size(); i++)
8326 yymsg(0,
"Could not split curve");
8335 (yyval.
l) = (yyvsp[(1) - (1)].l);
8343 (yyval.
l) = (yyvsp[(1) - (1)].l);
8367 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (6)].l)); i++)
8373 switch ((yyvsp[(2) - (6)].i))
8400 for (
int i = 0; i <
List_Nbr(tmp); i++)
8406 switch ((yyvsp[(3) - (7)].i))
8433 getParentTags((yyvsp[(3) - (7)].i), (yyvsp[(5) - (7)].l), tmp);
8434 for (
int i = 0; i <
List_Nbr(tmp); i++)
8440 switch ((yyvsp[(3) - (7)].i))
8468 for (
int i = 0; i <
List_Nbr(tmp); i++)
8474 switch ((yyvsp[(2) - (6)].i))
8503 for (
int i = 0; i <
List_Nbr(tmp); i++)
8509 switch ((yyvsp[(3) - (7)].i))
8535 if (
List_Nbr((yyvsp[(7) - (8)].l)) == 4)
8537 int t = (int)(yyvsp[(4) - (8)].d);
8540 yymsg(0,
"Levelset %d already exists", t);
8545 for (
int i = 0; i < 4; i++)
8546 List_Read((yyvsp[(7) - (8)].l), i, &d[i]);
8552 yymsg(0,
"Wrong number of arguments for levelset definition");
8561 int t = (int)(yyvsp[(4) - (10)].d);
8564 yymsg(0,
"Levelset %d already exists", t);
8569 for (
int i = 0; i <
List_Nbr((yyvsp[(8) - (10)].l)); i++)
8572 for (
int j = 0; j <
List_Nbr(l); j++)
8574 centers(i, j) = (double)(*(
double *)
List_Pointer(l, j));
8580 for (
int i = 0; i <
List_Nbr((yyvsp[(8) - (10)].l)); i++)
8590 int t = (int)(yyvsp[(4) - (14)].d);
8593 yymsg(0,
"Levelset %d already exists", t);
8597 double pt[3] = {(yyvsp[(8) - (14)].
v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].
v)[2]};
8598 double n[3] = {(yyvsp[(10) - (14)].
v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].
v)[2]};
8610 int t = (int)(yyvsp[(4) - (16)].d);
8613 yymsg(0,
"Levelset %d already exists", t);
8617 double pt1[3] = {(yyvsp[(8) - (16)].
v)[0], (yyvsp[(8) - (16)].v)[1], (yyvsp[(8) - (16)].
v)[2]};
8618 double pt2[3] = {(yyvsp[(10) - (16)].
v)[0], (yyvsp[(10) - (16)].v)[1], (yyvsp[(10) - (16)].
v)[2]};
8619 double pt3[3] = {(yyvsp[(12) - (16)].
v)[0], (yyvsp[(12) - (16)].v)[1], (yyvsp[(12) - (16)].
v)[2]};
8631 if (
List_Nbr((yyvsp[(10) - (12)].l)) == 1)
8633 int t = (int)(yyvsp[(4) - (12)].d);
8636 yymsg(0,
"Levelset %d already exists", t);
8641 List_Read((yyvsp[(10) - (12)].l), 0, &d);
8643 (yyvsp[(8) - (12)].v)[2], d, t);
8648 yymsg(0,
"Wrong number of arguments for levelset definition");
8657 if (
List_Nbr((yyvsp[(12) - (14)].l)) == 1)
8659 int t = (int)(yyvsp[(4) - (14)].d);
8662 yymsg(0,
"Levelset %d already exists", t);
8667 List_Read((yyvsp[(12) - (14)].l), 0, &d);
8668 double pt[3] = {(yyvsp[(8) - (14)].
v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].
v)[2]};
8669 double dir[3] = {(yyvsp[(10) - (14)].
v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].
v)[2]};
8674 else if (
List_Nbr((yyvsp[(12) - (14)].l)) == 2)
8676 int t = (int)(yyvsp[(4) - (14)].d);
8679 yymsg(0,
"Levelset %d already exists", t);
8684 for (
int i = 0; i < 2; i++)
8685 List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
8686 double pt[3] = {(yyvsp[(8) - (14)].
v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].
v)[2]};
8687 double dir[3] = {(yyvsp[(10) - (14)].
v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].
v)[2]};
8692 else if (
List_Nbr((yyvsp[(12) - (14)].l)) == 3)
8694 int t = (int)(yyvsp[(4) - (14)].d);
8697 yymsg(0,
"Levelset %d already exists", t);
8702 for (
int i = 0; i < 3; i++)
8703 List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
8704 double pt[3] = {(yyvsp[(8) - (14)].
v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].
v)[2]};
8705 double dir[3] = {(yyvsp[(10) - (14)].
v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].
v)[2]};
8711 yymsg(0,
"Wrong number of arguments for levelset definition");
8720 if (
List_Nbr((yyvsp[(12) - (14)].l)) == 1)
8722 int t = (int)(yyvsp[(4) - (14)].d);
8725 yymsg(0,
"Levelset %d already exists", t);
8730 List_Read((yyvsp[(12) - (14)].l), 0, &d);
8731 double pt[3] = {(yyvsp[(8) - (14)].
v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].
v)[2]};
8732 double dir[3] = {(yyvsp[(10) - (14)].
v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].
v)[2]};
8738 yymsg(0,
"Wrong number of arguments for levelset definition");
8747 if (
List_Nbr((yyvsp[(12) - (14)].l)) == 3)
8749 int t = (int)(yyvsp[(4) - (14)].d);
8752 yymsg(0,
"Levelset %d already exists", t);
8757 for (
int i = 0; i < 3; i++)
8758 List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
8759 double pt[3] = {(yyvsp[(8) - (14)].
v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].
v)[2]};
8760 double dir[3] = {(yyvsp[(10) - (14)].
v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].
v)[2]};
8766 yymsg(0,
"Wrong number of arguments for levelset definition");
8775 if (
List_Nbr((yyvsp[(12) - (14)].l)) == 5)
8777 int t = (int)(yyvsp[(4) - (14)].d);
8780 yymsg(0,
"Levelset %d already exists", t);
8785 for (
int i = 0; i < 5; i++)
8786 List_Read((yyvsp[(12) - (14)].l), i, &d[i]);
8787 double pt[3] = {(yyvsp[(8) - (14)].
v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].
v)[2]};
8788 double dir[3] = {(yyvsp[(10) - (14)].
v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].
v)[2]};
8794 yymsg(0,
"Wrong number of arguments for levelset definition");
8803 if (!strcmp((yyvsp[(2) - (8)].
c),
"Union"))
8805 int t = (int)(yyvsp[(4) - (8)].d);
8808 yymsg(0,
"Levelset %d already exists", t);
8812 std::vector<gLevelset *> vl;
8813 for (
int i = 0; i <
List_Nbr((yyvsp[(7) - (8)].l)); i++)
8819 yymsg(0,
"Unknown levelset %d", (
int)d);
8827 else if (!strcmp((yyvsp[(2) - (8)].
c),
"Intersection"))
8829 int t = (int)(yyvsp[(4) - (8)].d);
8832 yymsg(0,
"Levelset %d already exists", t);
8836 std::vector<gLevelset *> vl;
8837 for (
int i = 0; i <
List_Nbr((yyvsp[(7) - (8)].l)); i++)
8843 yymsg(0,
"Unknown levelset %d", (
int)d);
8851 else if (!strcmp((yyvsp[(2) - (8)].
c),
"Cut"))
8853 int t = (int)(yyvsp[(4) - (8)].d);
8856 yymsg(0,
"Levelset %d already exists", t);
8860 std::vector<gLevelset *> vl;
8861 for (
int i = 0; i <
List_Nbr((yyvsp[(7) - (8)].l)); i++)
8867 yymsg(0,
"Unknown levelset %d", (
int)d);
8875 else if (!strcmp((yyvsp[(2) - (8)].
c),
"Crack"))
8877 int t = (int)(yyvsp[(4) - (8)].d);
8880 yymsg(0,
"Levelset %d already exists", t);
8884 std::vector<gLevelset *> vl;
8885 for (
int i = 0; i <
List_Nbr((yyvsp[(7) - (8)].l)); i++)
8891 yymsg(0,
"Unknown levelset %d", (
int)d);
8899 else if (!strcmp((yyvsp[(2) - (8)].
c),
"Reverse"))
8901 int t = (int)(yyvsp[(4) - (8)].d);
8904 yymsg(0,
"Levelset %d already exists", t);
8913 yymsg(0,
"Unknown levelset %d", (
int)d);
8920 #if defined(HAVE_POST)
8921 else if (!strcmp((yyvsp[(2) - (8)].
c),
"PostView"))
8923 int t = (int)(yyvsp[(4) - (8)].d);
8926 yymsg(0,
"Levelset %d already exists", t);
8930 if (
List_Nbr((yyvsp[(7) - (8)].l)) > 0)
8934 gLevelset *ls =
new gLevelsetPostView((
int)d, t);
8941 yymsg(0,
"Wrong number of arguments for levelset definition");
8942 Free((yyvsp[(2) - (8)].
c));
8951 if (!strcmp((yyvsp[(2) - (8)].
c),
"MathEval"))
8953 int t = (int)(yyvsp[(4) - (8)].d);
8956 yymsg(0,
"Levelset %d already exists", t);
8965 yymsg(0,
"Unknown levelset '%s'", (yyvsp[(2) - (8)].
c));
8966 Free((yyvsp[(2) - (8)].
c));
8967 Free((yyvsp[(7) - (8)].
c));
8975 if (!strcmp((yyvsp[(2) - (6)].
c),
"CutMesh"))
8977 int t = (int)(yyvsp[(4) - (6)].d);
8983 yymsg(0,
"Unknown levelset %d", t);
8985 else if (!strcmp((yyvsp[(2) - (6)].
c),
"CutMeshTri"))
8987 int t = (int)(yyvsp[(4) - (6)].d);
8993 yymsg(0,
"Unknown levelset %d", t);
8995 else if (!strcmp((yyvsp[(2) - (6)].
c),
"SplitMesh"))
8997 int t = (int)(yyvsp[(4) - (6)].d);
9003 yymsg(0,
"Unknown levelset %d", t);
9006 yymsg(0,
"Unknown levelset '%s'", (yyvsp[(2) - (6)].
c));
9007 Free((yyvsp[(2) - (6)].
c));
9015 std::vector<std::pair<int, int>> dimTags;
9017 bool changed =
false;
9034 std::vector<GEntity *> removed;
9036 Msg::Debug(
"Destroying %lu entities in model", removed.size());
9037 for (std::size_t i = 0; i < removed.size(); i++)
9048 std::vector<std::pair<int, int>> dimTags;
9050 bool changed =
false;
9067 std::vector<GEntity *> removed;
9069 Msg::Debug(
"Destroying %lu entities in model", removed.size());
9070 for (std::size_t i = 0; i < removed.size(); i++)
9081 std::vector<std::pair<int, int>> dimTags;
9083 if (!strcmp((yyvsp[(2) - (5)].
c),
"Embedded"))
9088 yymsg(0,
"Unknown command 'Delete %s'", (yyvsp[(2) - (5)].
c));
9090 Free((yyvsp[(2) - (5)].
c));
9098 #if defined(HAVE_MESH)
9108 #if defined(HAVE_POST)
9109 if (!strcmp((yyvsp[(2) - (6)].
c),
"View"))
9111 int index = (int)(yyvsp[(4) - (6)].d);
9112 if (index >= 0 && index < (
int)
PView::list.size())
9115 yymsg(0,
"Unknown view %d", index);
9118 yymsg(0,
"Unknown command 'Delete %s'", (yyvsp[(2) - (6)].
c));
9120 Free((yyvsp[(2) - (6)].
c));
9128 if (!strcmp((yyvsp[(2) - (3)].
c),
"All"))
9132 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Meshes"))
9136 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Model"))
9141 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Physicals"))
9146 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Variables"))
9150 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Options"))
9160 yymsg(0,
"Unknown object or expression to delete '%s'", (yyvsp[(2) - (3)].
c));
9162 Free((yyvsp[(2) - (3)].
c));
9170 #if defined(HAVE_POST)
9171 if (!strcmp((yyvsp[(2) - (4)].
c),
"Empty") && !strcmp((yyvsp[(3) - (4)].
c),
"Views"))
9178 yymsg(0,
"Unknown command 'Delete %s %s'", (yyvsp[(2) - (4)].
c), (yyvsp[(3) - (4)].
c));
9180 Free((yyvsp[(2) - (4)].
c));
9181 Free((yyvsp[(3) - (4)].
c));
9197 std::vector<std::pair<int, int>> dimTags;
9199 setColor(dimTags, (yyvsp[(2) - (5)].u),
false);
9208 std::vector<std::pair<int, int>> dimTags;
9210 setColor(dimTags, (yyvsp[(3) - (6)].u),
true);
9219 yymsg(2,
"'SetPartition' command is deprecated");
9220 std::vector<std::pair<int, int>> dimTags;
9222 for (std::size_t i = 0; i < dimTags.size(); i++)
9248 Free((yyvsp[(2) - (3)].
c));
9265 Free((yyvsp[(2) - (3)].
c));
9273 std::vector<std::pair<int, int>> dimTags;
9284 std::vector<std::pair<int, int>> dimTags;
9295 std::vector<std::pair<int, int>> dimTags;
9306 std::vector<std::pair<int, int>> dimTags;
9317 if (!strcmp((yyvsp[(1) - (3)].
c),
"Include"))
9333 else if (!strcmp((yyvsp[(1) - (3)].
c),
"Print"))
9345 else if (!strcmp((yyvsp[(1) - (3)].
c),
"Save"))
9354 else if (!strcmp((yyvsp[(1) - (3)].
c),
"Merge") || !strcmp((yyvsp[(1) - (3)].
c),
"MergeWithBoundingBox"))
9365 else if (!strcmp((yyvsp[(1) - (3)].
c),
"NonBlockingSystemCall"))
9369 else if (!strcmp((yyvsp[(1) - (3)].
c),
"System") || !strcmp((yyvsp[(1) - (3)].
c),
"SystemCall"))
9373 else if (!strcmp((yyvsp[(1) - (3)].
c),
"SetName"))
9377 else if (!strcmp((yyvsp[(1) - (3)].
c),
"CreateDir"))
9382 else if (!strcmp((yyvsp[(1) - (3)].
c),
"OnelabRun"))
9386 else if (!strcmp((yyvsp[(1) - (3)].
c),
"OptimizeMesh"))
9392 yymsg(0,
"Unknown command '%s'", (yyvsp[(1) - (3)].
c));
9394 Free((yyvsp[(1) - (3)].
c));
9395 Free((yyvsp[(2) - (3)].
c));
9403 int n =
List_Nbr((yyvsp[(3) - (5)].l));
9422 yymsg(0,
"OnelabRun takes one or two arguments");
9432 #if defined(HAVE_POST)
9433 if (!strcmp((yyvsp[(2) - (7)].
c),
"View"))
9435 int index = (int)(yyvsp[(4) - (7)].d);
9436 if (index >= 0 && index < (
int)
PView::list.size())
9438 if (!strcmp((yyvsp[(1) - (7)].
c),
"Save"))
9443 else if (!strcmp((yyvsp[(1) - (7)].
c),
"SendToServer"))
9445 PView::list[index]->sendToServer((yyvsp[(6) - (7)].
c));
9449 yymsg(0,
"Unknown operation '%s' on view %d", (yyvsp[(1) - (7)].
c), index);
9453 yymsg(0,
"Unknown view %d", index);
9456 yymsg(0,
"Unknown command '%s %s'", (yyvsp[(1) - (7)].
c), (yyvsp[(2) - (7)].
c));
9458 Free((yyvsp[(1) - (7)].
c));
9459 Free((yyvsp[(2) - (7)].
c));
9460 Free((yyvsp[(6) - (7)].
c));
9468 #if defined(HAVE_POST) && defined(HAVE_MESH)
9469 if (!strcmp((yyvsp[(1) - (7)].
c),
"Background") && !strcmp((yyvsp[(2) - (7)].
c),
"Mesh") &&
9470 !strcmp((yyvsp[(3) - (7)].
c),
"View"))
9472 int index = (int)(yyvsp[(5) - (7)].d);
9473 if (index >= 0 && index < (
int)
PView::list.size())
9476 yymsg(0,
"Unknown view %d", index);
9479 yymsg(0,
"Unknown command '%s'", (yyvsp[(1) - (7)].
c));
9481 Free((yyvsp[(1) - (7)].
c));
9482 Free((yyvsp[(2) - (7)].
c));
9483 Free((yyvsp[(3) - (7)].
c));
9491 if (!strcmp((yyvsp[(1) - (3)].
c),
"Sleep"))
9495 else if (!strcmp((yyvsp[(1) - (3)].
c),
"Remesh"))
9497 yymsg(0,
"Surface remeshing must be reinterfaced");
9499 else if (!strcmp((yyvsp[(1) - (3)].
c),
"Mesh"))
9510 else if (!strcmp((yyvsp[(1) - (3)].
c),
"SetOrder"))
9512 #if defined(HAVE_MESH)
9517 else if (!strcmp((yyvsp[(1) - (3)].
c),
"PartitionMesh"))
9521 else if (!strcmp((yyvsp[(1) - (3)].
c),
"SetCurrentWindow"))
9523 #if defined(HAVE_FLTK)
9524 FlGui::instance()->setCurrentOpenglWindow((
int)(yyvsp[(2) - (3)].d));
9527 else if (!strcmp((yyvsp[(1) - (3)].
c),
"SplitCurrentWindowHorizontal"))
9529 #if defined(HAVE_FLTK)
9530 FlGui::instance()->splitCurrentOpenglWindow(
'h', (yyvsp[(2) - (3)].d));
9533 else if (!strcmp((yyvsp[(1) - (3)].
c),
"SplitCurrentWindowVertical"))
9535 #if defined(HAVE_FLTK)
9536 FlGui::instance()->splitCurrentOpenglWindow(
'v', (yyvsp[(2) - (3)].d));
9541 yymsg(0,
"Unknown command '%s'", (yyvsp[(1) - (3)].
c));
9543 Free((yyvsp[(1) - (3)].
c));
9551 #if defined(HAVE_FLTK)
9552 FlGui::instance()->splitCurrentOpenglWindow(
'u');
9561 #if defined(HAVE_PLUGINS)
9568 yymsg(0,
"Unknown action '%s' or plugin '%s'", (yyvsp[(6) - (7)].
c), (yyvsp[(3) - (7)].
c));
9571 Free((yyvsp[(3) - (7)].
c));
9572 Free((yyvsp[(6) - (7)].
c));
9580 #if defined(HAVE_POST)
9581 if (!strcmp((yyvsp[(2) - (3)].
c),
"ElementsFromAllViews"))
9583 else if (!strcmp((yyvsp[(2) - (3)].
c),
"ElementsFromVisibleViews"))
9585 else if (!strcmp((yyvsp[(2) - (3)].
c),
"ElementsByViewName"))
9587 else if (!strcmp((yyvsp[(2) - (3)].
c),
"TimeStepsFromAllViews"))
9589 else if (!strcmp((yyvsp[(2) - (3)].
c),
"TimeStepsFromVisibleViews"))
9591 else if (!strcmp((yyvsp[(2) - (3)].
c),
"TimeStepsByViewName"))
9593 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Views"))
9595 else if (!strcmp((yyvsp[(2) - (3)].
c),
"TimeSteps"))
9598 yymsg(0,
"Unknown 'Combine' command");
9600 Free((yyvsp[(2) - (3)].
c));
9659 SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d),
9660 (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d));
9668 #if defined(HAVE_OPENGL)
9678 #if defined(HAVE_OPENGL)
9680 for (std::size_t index = 0; index <
PView::list.size(); index++)
9690 if ((yyvsp[(3) - (7)].d))
9696 if ((yyvsp[(5) - (7)].d))
9727 (yyvsp[(9) - (11)].d));
9743 std::vector<std::pair<int, int>> dimTags;
9798 std::vector<int> technique;
9799 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (16)].l)); i++)
9802 List_Read((yyvsp[(3) - (16)].l), i, &d);
9803 technique.push_back((
int)d);
9805 if (technique.empty())
9807 yymsg(0,
"Need at least one adaptation technique");
9811 std::vector<simpleFunction<double> *>
f;
9812 for (
int i = 0; i <
List_Nbr((yyvsp[(6) - (16)].l)); i++)
9815 List_Read((yyvsp[(6) - (16)].l), i, &d);
9820 yymsg(0,
"Unknown levelset %d", (
int)d);
9822 if (technique.size() !=
f.size())
9824 yymsg(0,
"Number of techniques != number of levelsets");
9828 if (
List_Nbr((yyvsp[(9) - (16)].l)) != (
int)
f.size())
9830 yymsg(0,
"Number of parameters != number of levelsets");
9834 std::vector<std::vector<double>> parameters;
9835 parameters.resize(
List_Nbr((yyvsp[(9) - (16)].l)));
9836 for (
int i = 0; i <
List_Nbr((yyvsp[(9) - (16)].l)); i++)
9839 for (
int j = 0; j <
List_Nbr(l); j++)
9843 parameters[i].push_back(d);
9846 int niter = (int)(yyvsp[(12) - (16)].d);
9847 bool meshAll = ((yyvsp[(14) - (16)].
d) == 0) ? false :
true;
9858 for (
int i = 0; i <
List_Nbr((yyvsp[(9) - (16)].l)); i++)
9869 std::vector<double> affineTransform;
9871 if (affineTransform.size() >= 12)
9873 std::vector<GEntity *> entities;
9875 for (
auto e : entities)
9877 for (std::size_t j = 0; j < e->getNumMeshVertices(); j++)
9879 MVertex *v = e->getMeshVertex(j);
9887 yymsg(0,
"Affine transform matrix requires at least 12 entries");
9896 std::vector<double> affineTransform;
9898 std::vector<std::pair<int, int>> dimTags;
9900 for (std::size_t i = 0; i < dimTags.size(); i++)
9923 #if defined(HAVE_POPPLER)
9924 std::vector<int> is;
9925 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (11)].l)); i++)
9928 List_Read((yyvsp[(4) - (11)].l), i, &d);
9929 is.push_back((
int)d);
9931 gmshPopplerWrapper::instance()->setMacroForPages(is, (yyvsp[(7) - (11)].
c), (yyvsp[(9) - (11)].
c));
9946 if ((yyvsp[(3) - (6)].d) > (yyvsp[(5) - (6)].d))
9947 skip(
"For",
"EndFor");
9952 yymsg(0,
"Reached maximum number of imbricated loops");
9967 if (((yyvsp[(7) - (8)].d) > 0. && (yyvsp[(3) - (8)].d) > (yyvsp[(5) - (8)].d)) ||
9968 ((yyvsp[(7) - (8)].d) < 0. && (yyvsp[(3) - (8)].d) < (yyvsp[(5) - (8)].d)))
9969 skip(
"For",
"EndFor");
9974 yymsg(0,
"Reached maximum number of imbricated loops");
9990 s.
value[0] = (yyvsp[(5) - (8)].
d);
9993 if ((yyvsp[(5) - (8)].d) > (yyvsp[(7) - (8)].d))
9994 skip(
"For",
"EndFor");
9999 yymsg(0,
"Reached maximum number of imbricated loops");
10002 Free((yyvsp[(2) - (8)].
c));
10008 #line 3889 "Gmsh.y"
10017 s.
value[0] = (yyvsp[(5) - (10)].
d);
10020 if (((yyvsp[(9) - (10)].d) > 0. && (yyvsp[(5) - (10)].d) > (yyvsp[(7) - (10)].d)) ||
10021 ((yyvsp[(9) - (10)].d) < 0. && (yyvsp[(5) - (10)].d) < (yyvsp[(7) - (10)].d)))
10022 skip(
"For",
"EndFor");
10027 yymsg(0,
"Reached maximum number of imbricated loops");
10030 Free((yyvsp[(2) - (10)].
c));
10036 #line 3911 "Gmsh.y"
10040 yymsg(0,
"Invalid For/EndFor loop");
10050 yymsg(0,
"Unknown loop variable '%s'", name.c_str());
10056 s.
value[0] += step;
10060 yymsg(0,
"Bad loop variable %s", name.c_str());
10069 if ((step > 0. && x0 <= x1) || (step < 0. && x0 >= x1))
10081 #line 3946 "Gmsh.y"
10085 yymsg(0,
"Redefinition of function %s", (yyvsp[(2) - (2)].
c));
10086 skip(
nullptr,
"Return");
10087 Free((yyvsp[(2) - (2)].
c));
10093 #line 3954 "Gmsh.y"
10097 yymsg(0,
"Redefinition of function %s", (yyvsp[(2) - (2)].
c));
10098 skip(
nullptr,
"Return");
10099 Free((yyvsp[(2) - (2)].
c));
10105 #line 3962 "Gmsh.y"
10108 yymsg(0,
"Error while exiting function");
10114 #line 3968 "Gmsh.y"
10118 yymsg(0,
"Unknown function '%s'", (yyvsp[(2) - (3)].
c));
10119 Free((yyvsp[(2) - (3)].
c));
10125 #line 3975 "Gmsh.y"
10129 yymsg(0,
"Unknown function '%s'", (yyvsp[(2) - (3)].
c));
10130 Free((yyvsp[(2) - (3)].
c));
10136 #line 3982 "Gmsh.y"
10141 yymsg(0,
"Reached maximum number of imbricated tests");
10145 if ((yyvsp[(3) - (4)].d))
10154 int type_until2 = 0;
10155 skipTest(
"If",
"EndIf",
"ElseIf", 4, &type_until2);
10163 #line 4002 "Gmsh.y"
10170 skip(
"If",
"EndIf");
10176 if ((yyvsp[(3) - (4)].d))
10184 int type_until2 = 0;
10185 skipTest(
"If",
"EndIf",
"ElseIf", 4, &type_until2);
10193 yymsg(0,
"Orphan ElseIf");
10199 #line 4028 "Gmsh.y"
10205 skip(
"If",
"EndIf");
10211 yymsg(0,
"Orphan Else");
10217 #line 4040 "Gmsh.y"
10221 yymsg(1,
"Orphan EndIf");
10227 #line 4051 "Gmsh.y"
10229 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10235 inDimTags, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], outDimTags);
10240 inDimTags, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], outDimTags);
10243 yymsg(0,
"Could not extrude shapes");
10244 (yyval.
l) = (yyvsp[(4) - (5)].l);
10252 #line 4069 "Gmsh.y"
10254 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10260 inDimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2],
10261 (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d),
10267 inDimTags, (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2],
10268 (yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(7) - (11)].d),
10272 yymsg(0,
"Could not extrude shapes");
10273 (yyval.
l) = (yyvsp[(10) - (11)].l);
10281 #line 4087 "Gmsh.y"
10283 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10288 yymsg(0,
"Twisting extrude not available with OpenCASCADE geometry kernel");
10293 inDimTags, (yyvsp[(7) - (13)].v)[0], (yyvsp[(7) - (13)].v)[1], (yyvsp[(7) - (13)].v)[2],
10294 (yyvsp[(3) - (13)].v)[0], (yyvsp[(3) - (13)].v)[1], (yyvsp[(3) - (13)].v)[2], (yyvsp[(5) - (13)].v)[0],
10295 (yyvsp[(5) - (13)].v)[1], (yyvsp[(5) - (13)].v)[2], (yyvsp[(9) - (13)].d), outDimTags);
10298 yymsg(0,
"Could not extrude shapes");
10299 (yyval.
l) = (yyvsp[(12) - (13)].l);
10307 #line 4105 "Gmsh.y"
10317 #line 4111 "Gmsh.y"
10319 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10325 (yyvsp[(2) - (7)].v)[1], (yyvsp[(2) - (7)].v)[2],
10326 outDimTags, &
extr);
10331 (yyvsp[(2) - (7)].v)[1], (yyvsp[(2) - (7)].v)[2],
10332 outDimTags, &
extr);
10335 yymsg(0,
"Could not extrude shapes");
10336 (yyval.
l) = (yyvsp[(4) - (7)].l);
10344 #line 4129 "Gmsh.y"
10354 #line 4135 "Gmsh.y"
10356 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10362 inDimTags, (yyvsp[(5) - (13)].v)[0], (yyvsp[(5) - (13)].v)[1], (yyvsp[(5) - (13)].v)[2],
10363 (yyvsp[(3) - (13)].v)[0], (yyvsp[(3) - (13)].v)[1], (yyvsp[(3) - (13)].v)[2], (yyvsp[(7) - (13)].d),
10364 outDimTags, &
extr);
10369 inDimTags, (yyvsp[(5) - (13)].v)[0], (yyvsp[(5) - (13)].v)[1], (yyvsp[(5) - (13)].v)[2],
10370 (yyvsp[(3) - (13)].v)[0], (yyvsp[(3) - (13)].v)[1], (yyvsp[(3) - (13)].v)[2], (yyvsp[(7) - (13)].d),
10371 outDimTags, &
extr);
10374 yymsg(0,
"Could not extrude shapes");
10375 (yyval.
l) = (yyvsp[(10) - (13)].l);
10383 #line 4155 "Gmsh.y"
10393 #line 4161 "Gmsh.y"
10395 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10400 yymsg(0,
"Twisting extrude not available with OpenCASCADE geometry kernel");
10405 inDimTags, (yyvsp[(7) - (15)].v)[0], (yyvsp[(7) - (15)].v)[1], (yyvsp[(7) - (15)].v)[2],
10406 (yyvsp[(3) - (15)].v)[0], (yyvsp[(3) - (15)].v)[1], (yyvsp[(3) - (15)].v)[2], (yyvsp[(5) - (15)].v)[0],
10407 (yyvsp[(5) - (15)].v)[1], (yyvsp[(5) - (15)].v)[2], (yyvsp[(9) - (15)].d), outDimTags, &
extr);
10410 yymsg(0,
"Could not extrude shapes");
10411 (yyval.
l) = (yyvsp[(12) - (15)].l);
10419 #line 4179 "Gmsh.y"
10429 #line 4185 "Gmsh.y"
10431 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10436 yymsg(0,
"Boundary layer extrusion not available with OpenCASCADE geometry kernel");
10443 yymsg(0,
"Could not extrude shapes");
10444 (yyval.
l) = (yyvsp[(3) - (6)].l);
10452 #line 4202 "Gmsh.y"
10454 std::vector<std::pair<int, int>> inDimTags, outDimTags;
10463 yymsg(0,
"Pipe only available with OpenCASCADE geometry kernel");
10466 yymsg(0,
"Could not extrude shapes");
10467 (yyval.
l) = (yyvsp[(3) - (9)].l);
10475 #line 4218 "Gmsh.y"
10481 std::vector<int> wires;
10483 std::vector<std::pair<int, int>> outDimTags;
10489 yymsg(0,
"ThruSections only available with OpenCASCADE geometry kernel");
10492 yymsg(0,
"Could not add thrusections");
10499 #line 4235 "Gmsh.y"
10505 std::vector<int> wires;
10507 std::vector<std::pair<int, int>> outDimTags;
10513 yymsg(0,
"ThruSections only available with OpenCASCADE geometry kernel");
10516 yymsg(0,
"Could not add ruled thrusections");
10523 #line 4253 "Gmsh.y"
10529 std::vector<int> regions,
edges;
10532 std::vector<double> radii;
10534 std::vector<std::pair<int, int>> outDimTags;
10540 yymsg(0,
"Fillet only available with OpenCASCADE geometry kernel");
10543 yymsg(0,
"Could not fillet shapes");
10552 #line 4276 "Gmsh.y"
10558 std::vector<int> regions,
edges, surfaces;
10562 std::vector<double> distances;
10564 std::vector<std::pair<int, int>> outDimTags;
10570 yymsg(0,
"Chamfer only available with OpenCASCADE geometry kernel");
10573 yymsg(0,
"Could not chamfer shapes");
10583 #line 4303 "Gmsh.y"
10590 #line 4306 "Gmsh.y"
10597 #line 4312 "Gmsh.y"
10599 int n = (int)fabs((yyvsp[(3) - (5)].d));
10613 #line 4324 "Gmsh.y"
10621 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (7)].l)); i++)
10624 List_Read((yyvsp[(3) - (7)].l), i, &d);
10626 List_Read((yyvsp[(5) - (7)].l), i, &d);
10631 yymsg(0,
"Wrong layer definition {%d, %d}",
List_Nbr((yyvsp[(3) - (7)].l)),
List_Nbr((yyvsp[(5) - (7)].l)));
10639 #line 4344 "Gmsh.y"
10647 #line 4348 "Gmsh.y"
10655 #line 4352 "Gmsh.y"
10663 #line 4356 "Gmsh.y"
10671 #line 4360 "Gmsh.y"
10679 #line 4364 "Gmsh.y"
10687 #line 4368 "Gmsh.y"
10695 #line 4372 "Gmsh.y"
10697 std::vector<int>
tags;
10699 int num = (int)(yyvsp[(3) - (9)].d);
10709 #line 4381 "Gmsh.y"
10711 if (!strcmp((yyvsp[(2) - (6)].
c),
"Index"))
10713 else if (!strcmp((yyvsp[(2) - (6)].
c),
"View"))
10715 Free((yyvsp[(2) - (6)].
c));
10721 #line 4393 "Gmsh.y"
10729 #line 4394 "Gmsh.y"
10737 #line 4395 "Gmsh.y"
10745 #line 4396 "Gmsh.y"
10753 #line 4397 "Gmsh.y"
10761 #line 4401 "Gmsh.y"
10769 #line 4402 "Gmsh.y"
10777 #line 4403 "Gmsh.y"
10785 #line 4404 "Gmsh.y"
10787 (yyval.
i) = (yyvsp[(2) - (3)].d) ? 1 : 0;
10793 #line 4405 "Gmsh.y"
10795 (yyval.
i) = (yyvsp[(3) - (4)].d) ? 2 : 0;
10801 #line 4410 "Gmsh.y"
10807 std::vector<std::pair<int, int>>
object, tool, out;
10808 std::vector<std::vector<std::pair<int, int>>> outMap;
10816 (yyvsp[(4) - (9)].i), (yyvsp[(8) - (9)].i));
10821 yymsg(0,
"Boolean operators only available with OpenCASCADE geometry kernel");
10824 yymsg(0,
"Could not apply boolean operator");
10832 #line 4433 "Gmsh.y"
10838 std::vector<std::pair<int, int>> out;
10845 yymsg(0,
"ShapeFromFile only available with OpenCASCADE geometry kernel");
10848 yymsg(0,
"Could import shape");
10849 Free((yyvsp[(3) - (4)].
c));
10855 #line 4453 "Gmsh.y"
10860 std::vector<std::pair<int, int>>
object, tool, out;
10861 std::vector<std::vector<std::pair<int, int>>> outMap;
10869 outMap, (yyvsp[(8) - (14)].i), (yyvsp[(12) - (14)].i));
10872 yymsg(0,
"Could not apply boolean operator");
10880 #line 4474 "Gmsh.y"
10882 (yyval.
v)[0] = (yyval.
v)[1] = 1.;
10888 #line 4478 "Gmsh.y"
10890 if (!strcmp((yyvsp[(2) - (3)].
c),
"Progression") || !strcmp((yyvsp[(2) - (3)].
c),
"Power"))
10892 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Bump"))
10894 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Beta"))
10898 yymsg(0,
"Unknown transfinite mesh type");
10901 (yyval.
v)[1] = (yyvsp[(3) - (3)].d);
10902 Free((yyvsp[(2) - (3)].
c));
10908 #line 4495 "Gmsh.y"
10916 #line 4499 "Gmsh.y"
10918 if (!strcmp((yyvsp[(1) - (1)].
c),
"Right"))
10920 else if (!strcmp((yyvsp[(1) - (1)].
c),
"Left"))
10922 else if (!strcmp((yyvsp[(1) - (1)].
c),
"AlternateRight"))
10924 else if (!strcmp((yyvsp[(1) - (1)].
c),
"AlternateLeft"))
10928 Free((yyvsp[(1) - (1)].
c));
10934 #line 4515 "Gmsh.y"
10942 #line 4519 "Gmsh.y"
10944 (yyval.
l) = (yyvsp[(2) - (2)].l);
10950 #line 4524 "Gmsh.y"
10958 #line 4528 "Gmsh.y"
10960 (yyval.
i) = (
int)(yyvsp[(2) - (2)].
d);
10966 #line 4534 "Gmsh.y"
10974 #line 4538 "Gmsh.y"
10976 (yyval.
l) = (yyvsp[(2) - (2)].l);
10982 #line 4545 "Gmsh.y"
10987 List_T *tmp = (yyvsp[(2) - (5)].
l);
10988 if (!(yyvsp[(2) - (5)].l))
10993 for (
int i = 0; i <
List_Nbr(tmp); i++)
11011 #line 4568 "Gmsh.y"
11013 List_T *tmp = (yyvsp[(3) - (6)].
l);
11014 if (!(yyvsp[(3) - (6)].l))
11019 for (
int i = 0; i <
List_Nbr(tmp); i++)
11037 #line 4587 "Gmsh.y"
11043 int type = (int)(yyvsp[(6) - (7)].v)[0];
11044 double coef = fabs((yyvsp[(6) - (7)].v)[1]);
11045 int npoints = ((int)(yyvsp[(5) - (7)].d) < 2) ? 2 : (
int)(yyvsp[(5) - (7)].
d);
11046 if (!(yyvsp[(3) - (7)].l))
11052 (*it)->meshAttributes.nbPointsTransfinite = npoints;
11053 (*it)->meshAttributes.typeTransfinite = type;
11054 (*it)->meshAttributes.coeffTransfinite = coef;
11059 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (7)].l)); i++)
11062 List_Read((yyvsp[(3) - (7)].l), i, &d);
11063 int j = (int)fabs(d);
11064 for (
int sig = -1; sig <= 1; sig += 2)
11084 #line 4628 "Gmsh.y"
11090 std::vector<int> corners;
11092 if (!(yyvsp[(3) - (6)].l))
11098 (*it)->meshAttributes.transfiniteArrangement = (yyvsp[(5) - (6)].
i);
11103 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (6)].l)); i++)
11106 List_Read((yyvsp[(3) - (6)].l), i, &d);
11114 if (corners.empty() || corners.size() == 3 || corners.size() == 4)
11116 for (std::size_t j = 0; j < corners.size(); j++)
11122 yymsg(0,
"Unknown model point with tag %d", corners[j]);
11127 yymsg(0,
"Transfinite surface requires 3 or 4 corners vertices");
11139 #line 4672 "Gmsh.y"
11145 std::vector<int> corners;
11147 if (!(yyvsp[(3) - (5)].l))
11157 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (5)].l)); i++)
11160 List_Read((yyvsp[(3) - (5)].l), i, &d);
11167 if (corners.empty() || corners.size() == 6 || corners.size() == 8)
11169 for (std::size_t i = 0; i < corners.size(); i++)
11175 yymsg(0,
"Unknown model point with tag %d", corners[i]);
11188 #line 4711 "Gmsh.y"
11194 if (!(yyvsp[(2) - (3)].l))
11202 for (
int i = 0; i <
List_Nbr((yyvsp[(2) - (3)].l)); i++)
11205 List_Read((yyvsp[(2) - (3)].l), i, &d);
11218 #line 4736 "Gmsh.y"
11220 int dim = (int)(yyvsp[(2) - (8)].i);
11221 int tag = (int)(yyvsp[(4) - (8)].d);
11222 int new_tag = (int)(yyvsp[(6) - (8)].d);
11229 #line 4743 "Gmsh.y"
11231 int dim = (int)(yyvsp[(2) - (6)].i);
11232 int tag = (int)(yyvsp[(4) - (6)].d);
11245 #line 4754 "Gmsh.y"
11251 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (8)].l)); i++)
11254 List_Read((yyvsp[(4) - (8)].l), i, &d);
11267 #line 4771 "Gmsh.y"
11273 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (8)].l)); i++)
11276 List_Read((yyvsp[(4) - (8)].l), i, &d);
11289 #line 4788 "Gmsh.y"
11295 if (!(yyvsp[(3) - (5)].l))
11300 (*it)->meshAttributes.recombine = 1;
11301 (*it)->meshAttributes.recombineAngle = (yyvsp[(4) - (5)].
i);
11306 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (5)].l)); i++)
11309 List_Read((yyvsp[(3) - (5)].l), i, &d);
11325 #line 4818 "Gmsh.y"
11331 if (!(yyvsp[(3) - (4)].l))
11336 (*it)->meshAttributes.recombine3D = 1;
11341 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
11344 List_Read((yyvsp[(3) - (4)].l), i, &d);
11357 #line 4844 "Gmsh.y"
11363 if (!(yyvsp[(3) - (6)].l))
11368 (*it)->meshAttributes.transfiniteSmoothing = (int)(yyvsp[(5) - (6)].d);
11373 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (6)].l)); i++)
11376 List_Read((yyvsp[(3) - (6)].l), i, &d);
11389 #line 4871 "Gmsh.y"
11393 yymsg(0,
"Wrong number of curves in periodicity constraint (%d -> %d)",
List_Nbr((yyvsp[(8) - (11)].l)),
11398 std::vector<double> transfo;
11399 if (
List_Nbr((yyvsp[(10) - (11)].l)) != 0)
11401 if (
List_Nbr((yyvsp[(10) - (11)].l)) < 12)
11404 "Affine transformation requires at least 12 entries "
11406 List_Nbr((yyvsp[(10) - (11)].l)));
11410 transfo.resize(
List_Nbr((yyvsp[(10) - (11)].l)));
11411 for (
int i = 0; i <
List_Nbr((yyvsp[(10) - (11)].l)); i++)
11412 List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
11415 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (11)].l)); i++)
11417 double d_master, d_slave;
11418 List_Read((yyvsp[(8) - (11)].l), i, &d_master);
11419 List_Read((yyvsp[(4) - (11)].l), i, &d_slave);
11420 int j_master = (int)d_master;
11421 int j_slave = (int)d_slave;
11432 #line 4903 "Gmsh.y"
11436 yymsg(0,
"Wrong number surfaces in periodicity constraint (%d -> %d)",
List_Nbr((yyvsp[(8) - (11)].l)),
11441 if (
List_Nbr((yyvsp[(10) - (11)].l)) < 12)
11445 "Affine transformation requires at least 12 entries "
11447 List_Nbr((yyvsp[(10) - (11)].l)));
11451 std::vector<double> transfo(16, 0);
11452 for (
int i = 0; i <
List_Nbr((yyvsp[(10) - (11)].l)); i++)
11453 List_Read((yyvsp[(10) - (11)].l), i, &transfo[i]);
11454 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (11)].l)); i++)
11456 double d_master, d_slave;
11457 List_Read((yyvsp[(8) - (11)].l), i, &d_master);
11458 List_Read((yyvsp[(4) - (11)].l), i, &d_slave);
11470 #line 4931 "Gmsh.y"
11474 yymsg(0,
"Wrong number of curves in periodicity constraint (%d -> %d)",
List_Nbr((yyvsp[(8) - (18)].l)),
11479 SPoint3 axis((yyvsp[(12) - (18)].v)[0], (yyvsp[(12) - (18)].v)[1], (yyvsp[(12) - (18)].v)[2]);
11480 SPoint3 origin((yyvsp[(14) - (18)].v)[0], (yyvsp[(14) - (18)].v)[1], (yyvsp[(14) - (18)].v)[2]);
11481 double angle((yyvsp[(16) - (18)].d));
11482 SPoint3 translation(0, 0, 0);
11484 std::vector<double> transfo;
11487 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (18)].l)); i++)
11489 double d_master, d_slave;
11490 List_Read((yyvsp[(8) - (18)].l), i, &d_master);
11491 List_Read((yyvsp[(4) - (18)].l), i, &d_slave);
11502 #line 4957 "Gmsh.y"
11506 yymsg(0,
"Wrong number of surfaces in periodicity constraint (%d -> %d)",
List_Nbr((yyvsp[(8) - (18)].l)),
11511 SPoint3 origin((yyvsp[(14) - (18)].v)[0], (yyvsp[(14) - (18)].v)[1], (yyvsp[(14) - (18)].v)[2]);
11512 SPoint3 axis((yyvsp[(12) - (18)].v)[0], (yyvsp[(12) - (18)].v)[1], (yyvsp[(12) - (18)].v)[2]);
11513 double angle((yyvsp[(16) - (18)].d));
11514 SPoint3 translation(0, 0, 0);
11516 std::vector<double> transfo;
11519 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (18)].l)); i++)
11521 double d_master, d_slave;
11522 List_Read((yyvsp[(8) - (18)].l), i, &d_master);
11523 List_Read((yyvsp[(4) - (18)].l), i, &d_slave);
11534 #line 4983 "Gmsh.y"
11538 yymsg(0,
"Wrong number of curves in periodicity constraint (%d -> %d)",
List_Nbr((yyvsp[(8) - (12)].l)),
11546 SPoint3 translation((yyvsp[(11) - (12)].v)[0], (yyvsp[(11) - (12)].v)[1], (yyvsp[(11) - (12)].v)[2]);
11548 std::vector<double> transfo;
11551 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (12)].l)); i++)
11553 double d_master, d_slave;
11554 List_Read((yyvsp[(8) - (12)].l), i, &d_master);
11555 List_Read((yyvsp[(4) - (12)].l), i, &d_slave);
11566 #line 5009 "Gmsh.y"
11570 yymsg(0,
"Wrong number of surfaces in periodicity constraint (%d -> %d)",
List_Nbr((yyvsp[(8) - (12)].l)),
11578 SPoint3 translation((yyvsp[(11) - (12)].v)[0], (yyvsp[(11) - (12)].v)[1], (yyvsp[(11) - (12)].v)[2]);
11580 std::vector<double> transfo;
11583 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (12)].l)); i++)
11585 double d_master, d_slave;
11586 List_Read((yyvsp[(8) - (12)].l), i, &d_master);
11587 List_Read((yyvsp[(4) - (12)].l), i, &d_slave);
11598 #line 5035 "Gmsh.y"
11602 yymsg(0,
"Wrong number of surface curves in periodicity constraint (%d -> %d)",
11607 int j_master = (int)(yyvsp[(8) - (12)].d);
11608 int j_slave = (int)(yyvsp[(3) - (12)].d);
11609 std::map<int, int> edgeCounterParts;
11610 for (
int i = 0; i <
List_Nbr((yyvsp[(5) - (12)].l)); i++)
11613 List_Read((yyvsp[(5) - (12)].l), i, &ds);
11614 List_Read((yyvsp[(10) - (12)].l), i, &dm);
11615 edgeCounterParts[(int)ds] = (
int)dm;
11626 #line 5056 "Gmsh.y"
11628 if (((yyvsp[(6) - (10)].i) == 2 || (yyvsp[(6) - (10)].i) == 3) && (yyvsp[(1) - (10)].i) < (yyvsp[(6) - (10)].i))
11630 std::vector<int>
tags;
11632 addEmbedded((yyvsp[(1) - (10)].i),
tags, (yyvsp[(6) - (10)].i), (
int)(yyvsp[(8) - (10)].d));
11636 yymsg(0,
"Entity of dimension %d cannot be embedded in entity of dimension %d", (yyvsp[(1) - (10)].i),
11637 (yyvsp[(6) - (10)].i));
11645 #line 5068 "Gmsh.y"
11651 if (!(yyvsp[(3) - (4)].l))
11654 switch ((yyvsp[(2) - (4)].i))
11659 (*it)->meshAttributes.reverseMesh = 1;
11665 (*it)->meshAttributes.reverseMesh = 1;
11672 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
11675 List_Read((yyvsp[(3) - (4)].l), i, &d);
11678 switch ((yyvsp[(2) - (4)].i))
11702 #line 5116 "Gmsh.y"
11708 if (!(yyvsp[(3) - (4)].l))
11710 switch ((yyvsp[(2) - (4)].i))
11714 (*it)->relocateMeshVertices();
11718 (*it)->relocateMeshVertices();
11722 (*it)->relocateMeshVertices();
11728 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
11731 List_Read((yyvsp[(3) - (4)].l), i, &d);
11732 switch ((yyvsp[(2) - (4)].i))
11763 #line 5170 "Gmsh.y"
11769 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
11772 List_Read((yyvsp[(3) - (4)].l), i, &d);
11783 #line 5185 "Gmsh.y"
11785 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
11788 List_Read((yyvsp[(3) - (4)].l), i, &dnum);
11789 int num = (int)dnum;
11801 #line 5197 "Gmsh.y"
11803 std::vector<int>
tags;
11812 #line 5203 "Gmsh.y"
11814 std::vector<int>
tags;
11816 tags.push_back(-(
int)(yyvsp[(5) - (6)].d));
11824 #line 5215 "Gmsh.y"
11835 #line 5222 "Gmsh.y"
11837 if (!strcmp((yyvsp[(2) - (3)].
c),
"Geometry"))
11844 else if (!strcmp((yyvsp[(2) - (3)].
c),
"Mesh"))
11849 yymsg(0,
"Unknown coherence command");
11850 Free((yyvsp[(2) - (3)].
c));
11856 #line 5237 "Gmsh.y"
11858 std::vector<int>
tags;
11870 #line 5246 "Gmsh.y"
11874 std::vector<std::pair<int, int>> in, out;
11882 yymsg(0,
"HealShapes only available with OpenCASCADE geometry kernel");
11888 #line 5266 "Gmsh.y"
11890 (yyval.
c) = (
char *)
"Homology";
11896 #line 5267 "Gmsh.y"
11898 (yyval.
c) = (
char *)
"Cohomology";
11904 #line 5268 "Gmsh.y"
11906 (yyval.
c) = (
char *)
"Betti";
11912 #line 5273 "Gmsh.y"
11914 std::vector<int> domain, subdomain, dim;
11915 for (
int i = 0; i < 4; i++)
11923 #line 5279 "Gmsh.y"
11925 std::vector<int> domain, subdomain, dim;
11926 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (5)].l)); i++)
11929 List_Read((yyvsp[(3) - (5)].l), i, &d);
11930 domain.push_back((
int)d);
11932 for (
int i = 0; i < 4; i++)
11941 #line 5291 "Gmsh.y"
11943 std::vector<int> domain, subdomain, dim;
11944 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (7)].l)); i++)
11947 List_Read((yyvsp[(3) - (7)].l), i, &d);
11948 domain.push_back((
int)d);
11950 for (
int i = 0; i <
List_Nbr((yyvsp[(5) - (7)].l)); i++)
11953 List_Read((yyvsp[(5) - (7)].l), i, &d);
11954 subdomain.push_back((
int)d);
11956 for (
int i = 0; i < 4; i++)
11966 #line 5309 "Gmsh.y"
11968 std::vector<int> domain, subdomain, dim;
11969 for (
int i = 0; i <
List_Nbr((yyvsp[(6) - (10)].l)); i++)
11972 List_Read((yyvsp[(6) - (10)].l), i, &d);
11973 domain.push_back((
int)d);
11975 for (
int i = 0; i <
List_Nbr((yyvsp[(8) - (10)].l)); i++)
11978 List_Read((yyvsp[(8) - (10)].l), i, &d);
11979 subdomain.push_back((
int)d);
11981 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (10)].l)); i++)
11984 List_Read((yyvsp[(3) - (10)].l), i, &d);
11985 dim.push_back((
int)d);
11996 #line 5336 "Gmsh.y"
11998 (yyval.
d) = (yyvsp[(1) - (1)].d);
12004 #line 5337 "Gmsh.y"
12006 (yyval.
d) = (yyvsp[(2) - (3)].d);
12012 #line 5338 "Gmsh.y"
12014 (yyval.
d) = -(yyvsp[(2) - (2)].d);
12020 #line 5339 "Gmsh.y"
12022 (yyval.
d) = (yyvsp[(2) - (2)].d);
12028 #line 5340 "Gmsh.y"
12030 (yyval.
d) = !(yyvsp[(2) - (2)].d);
12036 #line 5341 "Gmsh.y"
12038 (yyval.
d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].
d);
12044 #line 5342 "Gmsh.y"
12046 (yyval.
d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].
d);
12052 #line 5343 "Gmsh.y"
12054 (yyval.
d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].
d);
12060 #line 5345 "Gmsh.y"
12062 if (!(yyvsp[(3) - (3)].d))
12063 yymsg(0,
"Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].
d));
12065 (yyval.
d) = (yyvsp[(1) - (3)].
d) / (yyvsp[(3) - (3)].d);
12071 #line 5351 "Gmsh.y"
12073 (yyval.
d) = (
int)(yyvsp[(1) - (3)].
d) | (
int)(yyvsp[(3) - (3)].
d);
12079 #line 5352 "Gmsh.y"
12081 (yyval.
d) = (
int)(yyvsp[(1) - (3)].
d) & (
int)(yyvsp[(3) - (3)].
d);
12087 #line 5353 "Gmsh.y"
12089 (yyval.
d) = (
int)(yyvsp[(1) - (3)].
d) % (
int)(yyvsp[(3) - (3)].
d);
12095 #line 5354 "Gmsh.y"
12097 (yyval.
d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].
d));
12103 #line 5355 "Gmsh.y"
12105 (yyval.
d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].
d);
12111 #line 5356 "Gmsh.y"
12113 (yyval.
d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].
d);
12119 #line 5357 "Gmsh.y"
12121 (yyval.
d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].
d);
12127 #line 5358 "Gmsh.y"
12129 (yyval.
d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].
d);
12135 #line 5359 "Gmsh.y"
12137 (yyval.
d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].
d);
12143 #line 5360 "Gmsh.y"
12145 (yyval.
d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].
d);
12151 #line 5361 "Gmsh.y"
12153 (yyval.
d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].
d);
12159 #line 5362 "Gmsh.y"
12161 (yyval.
d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].
d);
12167 #line 5363 "Gmsh.y"
12169 (yyval.
d) = ((
int)(yyvsp[(1) - (3)].
d) >> (
int)(yyvsp[(3) - (3)].
d));
12175 #line 5364 "Gmsh.y"
12177 (yyval.
d) = ((
int)(yyvsp[(1) - (3)].
d) << (
int)(yyvsp[(3) - (3)].
d));
12183 #line 5365 "Gmsh.y"
12185 (yyval.
d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].
d) : (yyvsp[(5) - (5)].d);
12191 #line 5366 "Gmsh.y"
12193 (yyval.
d) = exp((yyvsp[(3) - (4)].d));
12199 #line 5367 "Gmsh.y"
12201 (yyval.
d) = log((yyvsp[(3) - (4)].d));
12207 #line 5368 "Gmsh.y"
12209 (yyval.
d) = log10((yyvsp[(3) - (4)].d));
12215 #line 5369 "Gmsh.y"
12217 (yyval.
d) = sqrt((yyvsp[(3) - (4)].d));
12223 #line 5370 "Gmsh.y"
12225 (yyval.
d) = sin((yyvsp[(3) - (4)].d));
12231 #line 5371 "Gmsh.y"
12233 (yyval.
d) = asin((yyvsp[(3) - (4)].d));
12239 #line 5372 "Gmsh.y"
12241 (yyval.
d) = cos((yyvsp[(3) - (4)].d));
12247 #line 5373 "Gmsh.y"
12249 (yyval.
d) = acos((yyvsp[(3) - (4)].d));
12255 #line 5374 "Gmsh.y"
12257 (yyval.
d) = tan((yyvsp[(3) - (4)].d));
12263 #line 5375 "Gmsh.y"
12265 (yyval.
d) = atan((yyvsp[(3) - (4)].d));
12271 #line 5376 "Gmsh.y"
12273 (yyval.
d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].
d));
12279 #line 5377 "Gmsh.y"
12281 (yyval.
d) = sinh((yyvsp[(3) - (4)].d));
12287 #line 5378 "Gmsh.y"
12289 (yyval.
d) = cosh((yyvsp[(3) - (4)].d));
12295 #line 5379 "Gmsh.y"
12297 (yyval.
d) = tanh((yyvsp[(3) - (4)].d));
12303 #line 5380 "Gmsh.y"
12305 (yyval.
d) = fabs((yyvsp[(3) - (4)].d));
12311 #line 5381 "Gmsh.y"
12313 (yyval.
d) = std::abs((yyvsp[(3) - (4)].d));
12319 #line 5382 "Gmsh.y"
12321 (yyval.
d) = floor((yyvsp[(3) - (4)].d));
12327 #line 5383 "Gmsh.y"
12329 (yyval.
d) = ceil((yyvsp[(3) - (4)].d));
12335 #line 5384 "Gmsh.y"
12337 (yyval.
d) = floor((yyvsp[(3) - (4)].d) + 0.5);
12343 #line 5385 "Gmsh.y"
12345 (yyval.
d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].
d));
12351 #line 5386 "Gmsh.y"
12353 (yyval.
d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].
d));
12359 #line 5387 "Gmsh.y"
12361 (yyval.
d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].
d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].
d));
12367 #line 5388 "Gmsh.y"
12369 (yyval.
d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX;
12375 #line 5389 "Gmsh.y"
12377 (yyval.
d) = std::max((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].
d));
12383 #line 5390 "Gmsh.y"
12385 (yyval.
d) = std::min((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].
d));
12391 #line 5399 "Gmsh.y"
12393 (yyval.
d) = (yyvsp[(1) - (1)].d);
12399 #line 5400 "Gmsh.y"
12401 (yyval.
d) = 3.141592653589793;
12407 #line 5401 "Gmsh.y"
12415 #line 5402 "Gmsh.y"
12423 #line 5403 "Gmsh.y"
12431 #line 5404 "Gmsh.y"
12439 #line 5405 "Gmsh.y"
12447 #line 5406 "Gmsh.y"
12455 #line 5407 "Gmsh.y"
12463 #line 5408 "Gmsh.y"
12471 #line 5409 "Gmsh.y"
12479 #line 5414 "Gmsh.y"
12487 #line 5416 "Gmsh.y"
12489 std::vector<double> val(1, (yyvsp[(3) - (6)].d));
12491 (yyval.
d) = val[0];
12497 #line 5422 "Gmsh.y"
12499 (yyval.
d) = (yyvsp[(1) - (1)].d);
12505 #line 5426 "Gmsh.y"
12508 Free((yyvsp[(3) - (4)].
c));
12514 #line 5431 "Gmsh.y"
12517 Free((yyvsp[(3) - (6)].
c));
12523 #line 5436 "Gmsh.y"
12531 #line 5441 "Gmsh.y"
12539 #line 5446 "Gmsh.y"
12547 #line 5450 "Gmsh.y"
12555 #line 5454 "Gmsh.y"
12558 (yyvsp[(5) - (6)].
c), 0, 0., 1);
12564 #line 5458 "Gmsh.y"
12567 (yyvsp[(4) - (5)].d), 2);
12573 #line 5462 "Gmsh.y"
12576 (yyvsp[(5) - (7)].
c), 0, (yyvsp[(6) - (7)].
d), 2);
12582 #line 5466 "Gmsh.y"
12585 (
int)(yyvsp[(5) - (8)].
d), (yyvsp[(7) - (8)].d), 2);
12591 #line 5470 "Gmsh.y"
12594 (yyvsp[(5) - (10)].
c), (int)(yyvsp[(7) - (10)].d),
12595 (yyvsp[(9) - (10)].
d), 2);
12601 #line 5474 "Gmsh.y"
12605 Free((yyvsp[(3) - (4)].
c));
12611 #line 5480 "Gmsh.y"
12616 (yyval.
d) = s.
value.size();
12624 yymsg(0,
"Unknown variable '%s'", (yyvsp[(2) - (4)].
c));
12627 Free((yyvsp[(2) - (4)].
c));
12633 #line 5495 "Gmsh.y"
12636 (yyvsp[(2) - (6)].
c2).char2, (yyvsp[(4) - (6)].
c));
12642 #line 5499 "Gmsh.y"
12646 Free((yyvsp[(3) - (4)].
c));
12652 #line 5505 "Gmsh.y"
12661 #line 5510 "Gmsh.y"
12665 yymsg(0,
"Unknown variable '%s'", (yyvsp[(1) - (2)].
c));
12671 if (s.
value.empty())
12673 yymsg(0,
"Uninitialized variable '%s'", (yyvsp[(1) - (2)].
c));
12679 s.
value[0] += (yyvsp[(2) - (2)].i);
12682 Free((yyvsp[(1) - (2)].
c));
12688 #line 5529 "Gmsh.y"
12690 int index = (int)(yyvsp[(3) - (5)].d);
12693 yymsg(0,
"Unknown variable '%s'", (yyvsp[(1) - (5)].
c));
12699 if ((
int)s.
value.size() < index + 1)
12701 yymsg(0,
"Uninitialized variable '%s[%d]'", (yyvsp[(1) - (5)].
c), index);
12706 (yyval.
d) = s.
value[index];
12707 s.
value[index] += (yyvsp[(5) - (5)].i);
12710 Free((yyvsp[(1) - (5)].
c));
12716 #line 5549 "Gmsh.y"
12718 int index = (int)(yyvsp[(3) - (5)].d);
12721 yymsg(0,
"Unknown variable '%s'", (yyvsp[(1) - (5)].
c));
12727 if ((
int)s.
value.size() < index + 1)
12729 yymsg(0,
"Uninitialized variable '%s[%d]'", (yyvsp[(1) - (5)].
c), index);
12734 (yyval.
d) = s.
value[index];
12735 s.
value[index] += (yyvsp[(5) - (5)].i);
12738 Free((yyvsp[(1) - (5)].
c));
12744 #line 5570 "Gmsh.y"
12752 #line 5574 "Gmsh.y"
12761 #line 5578 "Gmsh.y"
12764 (
int)(yyvsp[(5) - (6)].
d));
12770 #line 5582 "Gmsh.y"
12773 (yyvsp[(5) - (8)].
c), (int)(yyvsp[(7) - (8)].d));
12779 #line 5586 "Gmsh.y"
12782 (
int)(yyvsp[(5) - (6)].
d));
12788 #line 5590 "Gmsh.y"
12791 (yyvsp[(5) - (8)].
c), (int)(yyvsp[(7) - (8)].d));
12797 #line 5594 "Gmsh.y"
12800 Free((yyvsp[(1) - (6)].
c));
12801 Free((yyvsp[(6) - (6)].
c));
12807 #line 5599 "Gmsh.y"
12812 d += (yyvsp[(4) - (4)].
i);
12816 Free((yyvsp[(1) - (4)].
c));
12817 Free((yyvsp[(3) - (4)].
c));
12823 #line 5609 "Gmsh.y"
12828 d += (yyvsp[(7) - (7)].
i);
12832 Free((yyvsp[(1) - (7)].
c));
12833 Free((yyvsp[(6) - (7)].
c));
12839 #line 5619 "Gmsh.y"
12842 Free((yyvsp[(3) - (6)].
c));
12848 #line 5624 "Gmsh.y"
12851 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (6)].l)); i++)
12854 List_Read((yyvsp[(3) - (6)].l), i, &d);
12857 (yyval.
d) = matches;
12858 Free((yyvsp[(3) - (6)].l));
12859 Free((yyvsp[(5) - (6)].l));
12865 #line 5635 "Gmsh.y"
12867 std::string s((yyvsp[(3) - (6)].
c)), substr((yyvsp[(5) - (6)].
c));
12868 if (s.find(substr) != std::string::npos)
12872 Free((yyvsp[(3) - (6)].
c));
12873 Free((yyvsp[(5) - (6)].
c));
12879 #line 5644 "Gmsh.y"
12881 (yyval.
d) = strlen((yyvsp[(3) - (4)].
c));
12882 Free((yyvsp[(3) - (4)].
c));
12888 #line 5649 "Gmsh.y"
12890 (yyval.
d) = strcmp((yyvsp[(3) - (6)].
c), (yyvsp[(5) - (6)].
c));
12891 Free((yyvsp[(3) - (6)].
c));
12892 Free((yyvsp[(5) - (6)].
c));
12898 #line 5654 "Gmsh.y"
12901 if (
List_Nbr((yyvsp[(3) - (4)].l)) % 2)
12903 yymsg(0,
"Number of text attributes should be even");
12907 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i += 2)
12910 List_Read((yyvsp[(3) - (4)].l), i, &s1);
12911 List_Read((yyvsp[(3) - (4)].l), i + 1, &s2);
12912 std::string key(s1), val(s2);
12915 #if defined(HAVE_OPENGL)
12918 else if (key ==
"FontSize")
12919 fontsize = atoi(val.c_str());
12920 else if (key ==
"Align")
12926 (yyval.
d) = (
double)((align << 16) | (font << 8) | (fontsize));
12932 #line 5681 "Gmsh.y"
12940 #line 5683 "Gmsh.y"
12942 (yyval.
d) = (yyvsp[(2) - (2)].d);
12948 #line 5688 "Gmsh.y"
12950 (yyval.
c) =
nullptr;
12956 #line 5690 "Gmsh.y"
12958 (yyval.
c) = (yyvsp[(2) - (2)].
c);
12964 #line 5695 "Gmsh.y"
12966 std::string
struct_namespace((yyvsp[(2) - (3)].c2).char1 ? (yyvsp[(2) - (3)].c2).char1 : std::string(
"")),
12974 #line 5702 "Gmsh.y"
12976 std::string
struct_namespace((yyvsp[(2) - (7)].c2).char1 ? (yyvsp[(2) - (7)].c2).char1 : std::string(
"")),
12978 Free((yyvsp[(2) - (7)].c2).char1);
12979 Free((yyvsp[(2) - (7)].c2).char2);
12984 (yyval.
d) = (
double)tag_out;
12990 #line 5718 "Gmsh.y"
12992 (yyval.
c2).char1 =
nullptr;
12993 (yyval.
c2).char2 = (yyvsp[(1) - (1)].
c);
12999 #line 5720 "Gmsh.y"
13001 (yyval.
c2).char1 = (yyvsp[(1) - (3)].
c);
13002 (yyval.
c2).char2 = (yyvsp[(3) - (3)].
c);
13008 #line 5725 "Gmsh.y"
13016 #line 5727 "Gmsh.y"
13018 (yyval.
i) = (
int)(yyvsp[(2) - (2)].
d);
13024 #line 5732 "Gmsh.y"
13032 #line 5734 "Gmsh.y"
13034 (yyval.
i) = (yyvsp[(2) - (3)].i);
13040 #line 5739 "Gmsh.y"
13042 memcpy((yyval.
v), (yyvsp[(1) - (1)].
v), 5 *
sizeof(
double));
13048 #line 5743 "Gmsh.y"
13050 for (
int i = 0; i < 5; i++)
13051 (yyval.
v)[i] = -(yyvsp[(2) - (2)].
v)[i];
13057 #line 5747 "Gmsh.y"
13059 for (
int i = 0; i < 5; i++)
13060 (yyval.
v)[i] = (yyvsp[(2) - (2)].
v)[i];
13066 #line 5751 "Gmsh.y"
13068 for (
int i = 0; i < 5; i++)
13069 (yyval.
v)[i] = (yyvsp[(1) - (3)].
v)[i] - (yyvsp[(3) - (3)].v)[i];
13075 #line 5755 "Gmsh.y"
13077 for (
int i = 0; i < 5; i++)
13078 (yyval.
v)[i] = (yyvsp[(1) - (3)].
v)[i] + (yyvsp[(3) - (3)].v)[i];
13084 #line 5762 "Gmsh.y"
13086 (yyval.
v)[0] = (yyvsp[(2) - (11)].d);
13087 (yyval.
v)[1] = (yyvsp[(4) - (11)].d);
13088 (yyval.
v)[2] = (yyvsp[(6) - (11)].d);
13089 (yyval.
v)[3] = (yyvsp[(8) - (11)].d);
13090 (yyval.
v)[4] = (yyvsp[(10) - (11)].d);
13096 #line 5766 "Gmsh.y"
13098 (yyval.
v)[0] = (yyvsp[(2) - (9)].d);
13099 (yyval.
v)[1] = (yyvsp[(4) - (9)].d);
13100 (yyval.
v)[2] = (yyvsp[(6) - (9)].d);
13101 (yyval.
v)[3] = (yyvsp[(8) - (9)].d);
13102 (yyval.
v)[4] = 1.0;
13108 #line 5770 "Gmsh.y"
13110 (yyval.
v)[0] = (yyvsp[(2) - (7)].d);
13111 (yyval.
v)[1] = (yyvsp[(4) - (7)].d);
13112 (yyval.
v)[2] = (yyvsp[(6) - (7)].d);
13113 (yyval.
v)[3] = 0.0;
13114 (yyval.
v)[4] = 1.0;
13120 #line 5774 "Gmsh.y"
13122 (yyval.
v)[0] = (yyvsp[(2) - (7)].d);
13123 (yyval.
v)[1] = (yyvsp[(4) - (7)].d);
13124 (yyval.
v)[2] = (yyvsp[(6) - (7)].d);
13125 (yyval.
v)[3] = 0.0;
13126 (yyval.
v)[4] = 1.0;
13132 #line 5781 "Gmsh.y"
13135 List_Add((yyval.
l), &((yyvsp[(1) - (1)].
l)));
13141 #line 5786 "Gmsh.y"
13143 List_Add((yyval.
l), &((yyvsp[(3) - (3)].
l)));
13149 #line 5793 "Gmsh.y"
13152 List_Add((yyval.
l), &((yyvsp[(1) - (1)].
d)));
13158 #line 5798 "Gmsh.y"
13160 (yyval.
l) = (yyvsp[(1) - (1)].l);
13166 #line 5802 "Gmsh.y"
13175 #line 5807 "Gmsh.y"
13177 (yyval.
l) = (yyvsp[(2) - (3)].l);
13183 #line 5811 "Gmsh.y"
13185 (yyval.
l) = (yyvsp[(3) - (4)].l);
13186 for (
int i = 0; i <
List_Nbr((yyval.
l)); i++)
13195 #line 5819 "Gmsh.y"
13197 (yyval.
l) = (yyvsp[(4) - (5)].l);
13198 for (
int i = 0; i <
List_Nbr((yyval.
l)); i++)
13201 (*pd) *= (yyvsp[(1) - (5)].
d);
13207 #line 5830 "Gmsh.y"
13209 (yyval.
l) = (yyvsp[(1) - (1)].l);
13215 #line 5834 "Gmsh.y"
13223 #line 5838 "Gmsh.y"
13225 if (!strcmp((yyvsp[(1) - (1)].
c),
"*") || !strcmp((yyvsp[(1) - (1)].
c),
"all"))
13231 yyerror(
"Unknown special string for list replacement");
13234 Free((yyvsp[(1) - (1)].
c));
13240 #line 5852 "Gmsh.y"
13242 (yyval.
l) = (yyvsp[(2) - (2)].l);
13243 for (
int i = 0; i <
List_Nbr((yyval.
l)); i++)
13252 #line 5860 "Gmsh.y"
13254 (yyval.
l) = (yyvsp[(3) - (3)].l);
13255 for (
int i = 0; i <
List_Nbr((yyval.
l)); i++)
13258 (*pd) *= (yyvsp[(1) - (3)].
d);
13264 #line 5868 "Gmsh.y"
13267 for (
double d = (yyvsp[(1) - (3)].d);
13268 ((yyvsp[(1) - (3)].
d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d));
13269 ((yyvsp[(1) - (3)].
d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.))
13276 #line 5875 "Gmsh.y"
13279 if (!(yyvsp[(5) - (5)].d))
13281 yymsg(0,
"Wrong increment in '%g:%g:%g'", (yyvsp[(1) - (5)].d), (yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].d));
13284 for (
double d = (yyvsp[(1) - (5)].d);
13285 ((yyvsp[(5) - (5)].
d) > 0) ? (d <= (yyvsp[(3) - (5)].
d)) : (d >= (yyvsp[(3) - (5)].
d));
13286 d += (yyvsp[(5) - (5)].
d))
13293 #line 5885 "Gmsh.y"
13296 int tag = (int)(yyvsp[(3) - (4)].d);
13297 double x = 0., y = 0.,
z = 0.;
13312 yymsg(0,
"Unknown model point with tag %d", tag);
13323 #line 5908 "Gmsh.y"
13332 #line 5913 "Gmsh.y"
13336 Free((yyvsp[(2) - (2)].
c));
13342 #line 5919 "Gmsh.y"
13351 #line 5924 "Gmsh.y"
13355 Free((yyvsp[(2) - (2)].
c));
13361 #line 5930 "Gmsh.y"
13364 if (!(yyvsp[(3) - (3)].l))
13377 #line 5941 "Gmsh.y"
13380 getParentTags((yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].l), (yyval.
l));
13387 #line 5947 "Gmsh.y"
13390 if (
List_Nbr((yyvsp[(4) - (4)].l)) < 6)
13392 yymsg(0,
"Bounding box should be {xmin, ymin, zmin, xmax, ymax, zmax}");
13397 for (
int i = 0; i < 6; i++)
13398 List_Read((yyvsp[(4) - (4)].l), i, &bb[i]);
13407 #line 5961 "Gmsh.y"
13410 getBoundingBox((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].l), (yyval.
l));
13417 #line 5967 "Gmsh.y"
13427 yymsg(0,
"Mass only available with OpenCASCADE geometry kernel");
13435 #line 5979 "Gmsh.y"
13438 double x = 0., y = 0.,
z = 0.;
13446 yymsg(0,
"CenterOfMass only available with OpenCASCADE geometry kernel");
13456 #line 5993 "Gmsh.y"
13461 std::vector<double> mat;
13464 for (std::size_t i = 0; i < mat.size(); i++)
13469 yymsg(0,
"MatrixOfInertia only available with OpenCASCADE geometry kernel");
13475 #line 6006 "Gmsh.y"
13478 double r = 0., g = 0., b = 0., a = 0.;
13482 unsigned int value = ge->
getColor();
13496 #line 6023 "Gmsh.y"
13499 for (
int i = 0; i <
List_Nbr((yyvsp[(1) - (1)].l)); i++)
13511 #line 6033 "Gmsh.y"
13514 for (
int i = 0; i <
List_Nbr((yyvsp[(1) - (1)].l)); i++)
13526 #line 6043 "Gmsh.y"
13529 for (
int i = 0; i <
List_Nbr((yyvsp[(1) - (1)].l)); i++)
13541 #line 6053 "Gmsh.y"
13545 yymsg(0,
"Unknown variable '%s'", (yyvsp[(1) - (3)].
c));
13549 for (std::size_t i = 0; i < s.
value.size(); i++)
13552 Free((yyvsp[(1) - (3)].
c));
13558 #line 6065 "Gmsh.y"
13566 #line 6069 "Gmsh.y"
13569 (yyvsp[(5) - (7)].
c));
13575 #line 6074 "Gmsh.y"
13579 yymsg(0,
"Unknown variable '%s'", (yyvsp[(3) - (4)].
c));
13583 for (std::size_t i = 0; i < s.
value.size(); i++)
13586 Free((yyvsp[(3) - (4)].
c));
13592 #line 6086 "Gmsh.y"
13594 (yyval.
l) = (yyvsp[(3) - (4)].l);
13600 #line 6090 "Gmsh.y"
13602 (yyval.
l) = (yyvsp[(3) - (4)].l);
13608 #line 6094 "Gmsh.y"
13610 (yyval.
l) = (yyvsp[(4) - (6)].l);
13616 #line 6098 "Gmsh.y"
13620 yymsg(0,
"Unknown variable '%s'", (yyvsp[(1) - (6)].
c));
13624 for (
int i = 0; i <
List_Nbr((yyvsp[(4) - (6)].l)); i++)
13627 if ((
int)s.
value.size() < index + 1)
13628 yymsg(0,
"Uninitialized variable '%s[%d]'", (yyvsp[(1) - (6)].
c), index);
13633 Free((yyvsp[(1) - (6)].
c));
13640 #line 6116 "Gmsh.y"
13643 for (
int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++)
13645 double d = (yyvsp[(3) - (8)].
d) +
13646 ((yyvsp[(5) - (8)].d) - (yyvsp[(3) - (8)].
d)) * (double)i / ((yyvsp[(7) - (8)].d) - 1);
13653 #line 6124 "Gmsh.y"
13656 for (
int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++)
13658 double d = pow(10, (yyvsp[(3) - (8)].d) + ((yyvsp[(5) - (8)].d) - (yyvsp[(3) - (8)].d)) * (
double)i /
13659 ((yyvsp[(7) - (8)].d) - 1));
13666 #line 6132 "Gmsh.y"
13672 if (!(File =
Fopen(tmp.c_str(),
"rb")))
13674 yymsg(0,
"Could not open file '%s'", (yyvsp[(3) - (4)].
c));
13679 while (!feof(File))
13681 int ret = fscanf(File,
"%lf", &d);
13686 else if (ret == EOF)
13693 if (fscanf(File,
"%s", dummy))
13694 yymsg(0,
"Ignoring '%s' in file '%s'", dummy, (yyvsp[(3) - (4)].
c));
13699 Free((yyvsp[(3) - (4)].
c));
13705 #line 6161 "Gmsh.y"
13707 double x0 = (yyvsp[(3) - (14)].
d), x1 = (yyvsp[(5) - (14)].d), y0 = (yyvsp[(7) - (14)].
d),
13708 y1 = (yyvsp[(9) - (14)].d), ys = (yyvsp[(11) - (14)].
d);
13709 int N = (int)(yyvsp[(13) - (14)].d);
13710 std::vector<double> y(N);
13711 if (!
catenary(x0, x1, y0, y1, ys, N, &y[0]))
13712 yymsg(1,
"Catenary did not converge, using linear interpolation");
13714 for (
int i = 0; i < N; i++)
13721 #line 6171 "Gmsh.y"
13723 std::vector<double> tmp;
13724 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
13727 List_Read((yyvsp[(3) - (4)].l), i, &d);
13730 std::sort(tmp.begin(), tmp.end());
13731 auto last = std::unique(tmp.begin(), tmp.end());
13732 tmp.erase(last, tmp.end());
13733 (yyval.
l) = (yyvsp[(3) - (4)].l);
13735 for (std::size_t i = 0; i < tmp.size(); i++)
13743 #line 6187 "Gmsh.y"
13745 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
13747 double *d = (
double *)
List_Pointer((yyvsp[(3) - (4)].l), i);
13750 (yyval.
l) = (yyvsp[(3) - (4)].l);
13756 #line 6198 "Gmsh.y"
13759 List_Add((yyval.
l), &((yyvsp[(1) - (1)].
d)));
13765 #line 6203 "Gmsh.y"
13767 (yyval.
l) = (yyvsp[(1) - (1)].l);
13773 #line 6207 "Gmsh.y"
13775 List_Add((yyval.
l), &((yyvsp[(3) - (3)].
d)));
13781 #line 6211 "Gmsh.y"
13783 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (3)].l)); i++)
13786 List_Read((yyvsp[(3) - (3)].l), i, &d);
13795 #line 6223 "Gmsh.y"
13798 (
int)(yyvsp[(6) - (9)].
d), (
int)(yyvsp[(8) - (9)].
d));
13804 #line 6227 "Gmsh.y"
13807 (
int)(yyvsp[(6) - (7)].
d), 255);
13813 #line 6239 "Gmsh.y"
13824 yymsg(0,
"Unknown color '%s'", (yyvsp[(1) - (1)].
c));
13831 yymsg(0,
"Unknown color '%s'", (yyvsp[(1) - (1)].
c));
13832 Free((yyvsp[(1) - (1)].
c));
13838 #line 6256 "Gmsh.y"
13840 unsigned int val = 0;
13843 Free((yyvsp[(1) - (5)].
c));
13844 Free((yyvsp[(5) - (5)].
c));
13850 #line 6266 "Gmsh.y"
13852 (yyval.
l) = (yyvsp[(2) - (3)].l);
13858 #line 6270 "Gmsh.y"
13860 (yyval.
l) =
List_Create(256, 10,
sizeof(
unsigned int));
13863 yymsg(0,
"View[%d] does not exist", (
int)(yyvsp[(3) - (6)].d));
13866 for (
int i = 0; i < ct->
size; i++)
13869 Free((yyvsp[(1) - (6)].
c));
13875 #line 6285 "Gmsh.y"
13877 (yyval.
l) =
List_Create(256, 10,
sizeof(
unsigned int));
13878 List_Add((yyval.
l), &((yyvsp[(1) - (1)].
u)));
13884 #line 6290 "Gmsh.y"
13886 List_Add((yyval.
l), &((yyvsp[(3) - (3)].
u)));
13892 #line 6297 "Gmsh.y"
13894 (yyval.
c) = (yyvsp[(1) - (1)].
c);
13900 #line 6301 "Gmsh.y"
13909 #line 6306 "Gmsh.y"
13912 int j = (int)(yyvsp[(3) - (4)].d);
13914 yymsg(0,
"Unknown string variable '%s'", (yyvsp[(1) - (4)].
c));
13918 yymsg(0,
"Index %d out of range", j);
13919 (yyval.
c) = (
char *)
Malloc((val.size() + 1) *
sizeof(
char));
13920 strcpy((yyval.
c), val.c_str());
13921 Free((yyvsp[(1) - (4)].
c));
13927 #line 6320 "Gmsh.y"
13930 int j = (int)(yyvsp[(3) - (4)].d);
13932 yymsg(0,
"Unknown string variable '%s'", (yyvsp[(1) - (4)].
c));
13936 yymsg(0,
"Index %d out of range", j);
13937 (yyval.
c) = (
char *)
Malloc((val.size() + 1) *
sizeof(
char));
13938 strcpy((yyval.
c), val.c_str());
13939 Free((yyvsp[(1) - (4)].
c));
13945 #line 6334 "Gmsh.y"
13953 #line 6338 "Gmsh.y"
13962 #line 6342 "Gmsh.y"
13965 (
int)(yyvsp[(5) - (6)].
d));
13971 #line 6346 "Gmsh.y"
13974 (yyvsp[(5) - (8)].
c), (int)(yyvsp[(7) - (8)].d));
13980 #line 6350 "Gmsh.y"
13984 (yyval.
c) = (
char *)
Malloc((out.size() + 1) *
sizeof(
char));
13985 strcpy((yyval.
c), out.c_str());
13986 Free((yyvsp[(1) - (6)].
c));
13987 Free((yyvsp[(6) - (6)].
c));
13993 #line 6358 "Gmsh.y"
13996 (yyval.
c) = (
char *)
Malloc((name.size() + 1) *
sizeof(
char));
13997 strcpy((yyval.
c), name.c_str());
14003 #line 6364 "Gmsh.y"
14006 (yyval.
c) = (
char *)
Malloc((name.size() + 1) *
sizeof(
char));
14007 strcpy((yyval.
c), name.c_str());
14013 #line 6373 "Gmsh.y"
14015 (yyval.
c) = (yyvsp[(1) - (1)].
c);
14021 #line 6377 "Gmsh.y"
14023 (yyval.
c) = (yyvsp[(3) - (4)].
c);
14029 #line 6381 "Gmsh.y"
14031 (yyval.
c) = (
char *)
Malloc(32 *
sizeof(
char));
14034 strcpy((yyval.
c), ctime(&now));
14035 (yyval.
c)[strlen((yyval.
c)) - 1] =
'\0';
14041 #line 6389 "Gmsh.y"
14044 (yyval.
c) = (
char *)
Malloc(exe.size() + 1);
14045 strcpy((yyval.
c), exe.c_str());
14051 #line 6395 "Gmsh.y"
14054 (yyval.
c) = (
char *)
Malloc(action.size() + 1);
14055 strcpy((yyval.
c), action.c_str());
14061 #line 6401 "Gmsh.y"
14063 (yyval.
c) =
strsave((
char *)
"Gmsh");
14069 #line 6405 "Gmsh.y"
14072 (yyval.
c) = (
char *)
Malloc((env.size() + 1) *
sizeof(
char));
14073 strcpy((yyval.
c), env.c_str());
14074 Free((yyvsp[(3) - (4)].
c));
14080 #line 6412 "Gmsh.y"
14082 std::string s =
Msg::GetString((yyvsp[(3) - (6)].
c), (yyvsp[(5) - (6)].
c));
14083 (yyval.
c) = (
char *)
Malloc((s.size() + 1) *
sizeof(
char));
14084 strcpy((yyval.
c), s.c_str());
14085 Free((yyvsp[(3) - (6)].
c));
14086 Free((yyvsp[(5) - (6)].
c));
14092 #line 6420 "Gmsh.y"
14095 (yyval.
c) = (
char *)
Malloc((s.size() + 1) *
sizeof(
char));
14096 strcpy((yyval.
c), s.c_str());
14097 Free((yyvsp[(3) - (4)].
c));
14103 #line 6427 "Gmsh.y"
14106 (yyval.
c) = (
char *)
Malloc((s.size() + 1) *
sizeof(
char));
14107 strcpy((yyval.
c), s.c_str());
14108 Free((yyvsp[(3) - (6)].
c));
14109 Free((yyvsp[(5) - (6)].
c));
14115 #line 6436 "Gmsh.y"
14123 #line 6440 "Gmsh.y"
14126 (yyvsp[(5) - (7)].
c), 0, (yyvsp[(6) - (7)].
c), 2);
14132 #line 6444 "Gmsh.y"
14135 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
14136 size += strlen(*(
char **)
List_Pointer((yyvsp[(3) - (4)].l), i)) + 1;
14137 (yyval.
c) = (
char *)
Malloc(size *
sizeof(
char));
14138 (yyval.
c)[0] =
'\0';
14139 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
14142 List_Read((yyvsp[(3) - (4)].l), i, &s);
14143 strcat((yyval.
c), s);
14152 #line 6459 "Gmsh.y"
14154 (yyval.
c) = (
char *)
Malloc((strlen((yyvsp[(3) - (4)].
c)) + 1) *
sizeof(
char));
14156 for (i = strlen((yyvsp[(3) - (4)].
c)) - 1; i >= 0; i--)
14158 if ((yyvsp[(3) - (4)].
c)[i] ==
'.')
14160 strncpy((yyval.
c), (yyvsp[(3) - (4)].
c), i);
14161 (yyval.
c)[i] =
'\0';
14166 strcpy((yyval.
c), (yyvsp[(3) - (4)].
c));
14167 Free((yyvsp[(3) - (4)].
c));
14173 #line 6473 "Gmsh.y"
14175 (yyval.
c) = (
char *)
Malloc((strlen((yyvsp[(3) - (4)].
c)) + 1) *
sizeof(
char));
14177 for (i = strlen((yyvsp[(3) - (4)].
c)) - 1; i >= 0; i--)
14179 if ((yyvsp[(3) - (4)].
c)[i] ==
'/' || (yyvsp[(3) - (4)].
c)[i] ==
'\\')
14183 strcpy((yyval.
c), (yyvsp[(3) - (4)].
c));
14185 strcpy((yyval.
c), &(yyvsp[(3) - (4)].
c)[i + 1]);
14186 Free((yyvsp[(3) - (4)].
c));
14192 #line 6487 "Gmsh.y"
14194 std::string
input = (yyvsp[(3) - (8)].
c);
14195 std::string substr_old = (yyvsp[(5) - (8)].
c);
14196 std::string substr_new = (yyvsp[(7) - (8)].
c);
14198 (yyval.
c) = (
char *)
Malloc((ret.size() + 1) *
sizeof(
char));
14199 strcpy((yyval.
c), ret.c_str());
14200 Free((yyvsp[(3) - (8)].
c));
14201 Free((yyvsp[(5) - (8)].
c));
14202 Free((yyvsp[(7) - (8)].
c));
14208 #line 6499 "Gmsh.y"
14211 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
14212 size += strlen(*(
char **)
List_Pointer((yyvsp[(3) - (4)].l), i)) + 1;
14213 (yyval.
c) = (
char *)
Malloc(size *
sizeof(
char));
14214 (yyval.
c)[0] =
'\0';
14215 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (4)].l)); i++)
14218 List_Read((yyvsp[(3) - (4)].l), i, &s);
14219 strcat((yyval.
c), s);
14221 if (i !=
List_Nbr((yyvsp[(3) - (4)].l)) - 1)
14222 strcat((yyval.
c),
"\n");
14230 #line 6515 "Gmsh.y"
14233 while ((yyvsp[(3) - (4)].
c)[i])
14235 (yyvsp[(3) - (4)].
c)[i] = toupper((yyvsp[(3) - (4)].
c)[i]);
14238 (yyval.
c) = (yyvsp[(3) - (4)].
c);
14244 #line 6524 "Gmsh.y"
14247 while ((yyvsp[(3) - (4)].
c)[i])
14249 (yyvsp[(3) - (4)].
c)[i] = tolower((yyvsp[(3) - (4)].
c)[i]);
14252 (yyval.
c) = (yyvsp[(3) - (4)].
c);
14258 #line 6533 "Gmsh.y"
14261 while ((yyvsp[(3) - (4)].
c)[i])
14263 if (i > 0 && (yyvsp[(3) - (4)].
c)[i - 1] !=
'_')
14264 (yyvsp[(3) - (4)].
c)[i] = tolower((yyvsp[(3) - (4)].
c)[i]);
14267 (yyval.
c) = (yyvsp[(3) - (4)].
c);
14273 #line 6543 "Gmsh.y"
14275 if ((yyvsp[(3) - (8)].d))
14277 (yyval.
c) = (yyvsp[(5) - (8)].
c);
14278 Free((yyvsp[(7) - (8)].
c));
14282 (yyval.
c) = (yyvsp[(7) - (8)].
c);
14283 Free((yyvsp[(5) - (8)].
c));
14289 #line 6554 "Gmsh.y"
14291 std::string in = (yyvsp[(3) - (8)].
c);
14292 std::string out = in.substr((
int)(yyvsp[(5) - (8)].
d), (
int)(yyvsp[(7) - (8)].
d));
14293 (yyval.
c) = (
char *)
Malloc((out.size() + 1) *
sizeof(
char));
14294 strcpy((yyval.
c), out.c_str());
14295 Free((yyvsp[(3) - (8)].
c));
14301 #line 6562 "Gmsh.y"
14303 std::string in = (yyvsp[(3) - (6)].
c);
14304 std::string out = in.substr((
int)(yyvsp[(5) - (6)].
d), std::string::npos);
14305 (yyval.
c) = (
char *)
Malloc((out.size() + 1) *
sizeof(
char));
14306 strcpy((yyval.
c), out.c_str());
14307 Free((yyvsp[(3) - (6)].
c));
14313 #line 6570 "Gmsh.y"
14315 (yyval.
c) = (yyvsp[(3) - (4)].
c);
14321 #line 6574 "Gmsh.y"
14323 char tmpstring[5000];
14327 yymsg(0,
"Too few arguments in Sprintf");
14328 (yyval.
c) = (yyvsp[(3) - (6)].
c);
14332 yymsg(0,
"%d extra argument%s in Sprintf", i, (i > 1) ?
"s" :
"");
14333 (yyval.
c) = (yyvsp[(3) - (6)].
c);
14337 (yyval.
c) = (
char *)
Malloc((strlen(tmpstring) + 1) *
sizeof(
char));
14338 strcpy((yyval.
c), tmpstring);
14339 Free((yyvsp[(3) - (6)].
c));
14347 #line 6593 "Gmsh.y"
14350 (yyval.
c) = (
char *)
Malloc((tmp.size() + 1) *
sizeof(
char));
14351 strcpy((yyval.
c), tmp.c_str());
14352 Free((yyvsp[(3) - (4)].
c));
14358 #line 6600 "Gmsh.y"
14361 (yyval.
c) = (
char *)
Malloc((tmp.size() + 1) *
sizeof(
char));
14362 strcpy((yyval.
c), tmp.c_str());
14368 #line 6606 "Gmsh.y"
14371 (yyval.
c) = (
char *)
Malloc((tmp.size() + 1) *
sizeof(
char));
14372 strcpy((yyval.
c), tmp.c_str());
14378 #line 6612 "Gmsh.y"
14381 (yyval.
c) = (
char *)
Malloc((tmp.size() + 1) *
sizeof(
char));
14382 strcpy((yyval.
c), tmp.c_str());
14383 Free((yyvsp[(3) - (4)].
c));
14389 #line 6619 "Gmsh.y"
14392 (yyval.
c) = (
char *)
Malloc((tmp.size() + 1) *
sizeof(
char));
14393 strcpy((yyval.
c), tmp.c_str());
14394 Free((yyvsp[(3) - (4)].
c));
14400 #line 6626 "Gmsh.y"
14408 #line 6628 "Gmsh.y"
14410 std::string val((yyvsp[(3) - (6)].
c));
14412 (yyval.
c) = (
char *)
Malloc((val.size() + 1) *
sizeof(
char));
14413 strcpy((yyval.
c), val.c_str());
14414 Free((yyvsp[(3) - (6)].
c));
14420 #line 6636 "Gmsh.y"
14423 const std::string *key_struct =
nullptr;
14433 yymsg(1,
"Unknown Struct of index %d", (
int)(yyvsp[(3) - (4)].d));
14438 (yyval.
c) = (
char *)
Malloc((out.size() + 1) *
sizeof(
char));
14439 strcpy((yyval.
c), out.c_str());
14445 #line 6660 "Gmsh.y"
14448 (yyval.
d) = (yyvsp[(2) - (2)].d);
14454 #line 6662 "Gmsh.y"
14457 Free((yyvsp[(1) - (4)].
c));
14458 (yyval.
d) = (yyvsp[(4) - (4)].d);
14464 #line 6668 "Gmsh.y"
14466 (yyval.
l) = (yyvsp[(3) - (4)].l);
14472 #line 6673 "Gmsh.y"
14474 (yyval.
l) = (yyvsp[(1) - (1)].l);
14480 #line 6675 "Gmsh.y"
14482 (yyval.
l) = (yyvsp[(1) - (1)].l);
14488 #line 6680 "Gmsh.y"
14490 (yyval.
l) = (yyvsp[(2) - (3)].l);
14496 #line 6685 "Gmsh.y"
14499 List_Add((yyval.
l), &((yyvsp[(1) - (1)].
c)));
14505 #line 6690 "Gmsh.y"
14507 (yyval.
l) = (yyvsp[(1) - (1)].l);
14513 #line 6692 "Gmsh.y"
14515 List_Add((yyval.
l), &((yyvsp[(3) - (3)].
c)));
14521 #line 6696 "Gmsh.y"
14523 for (
int i = 0; i <
List_Nbr((yyvsp[(3) - (3)].l)); i++)
14535 #line 6708 "Gmsh.y"
14539 yymsg(0,
"Unknown string variable '%s'", (yyvsp[(1) - (3)].
c));
14543 for (std::size_t i = 0; i < s.size(); i++)
14545 char *val_ =
strsave((
char *)s.at(i).c_str());
14549 Free((yyvsp[(1) - (3)].
c));
14555 #line 6722 "Gmsh.y"
14563 #line 6726 "Gmsh.y"
14566 (yyvsp[(5) - (7)].
c));
14572 #line 6733 "Gmsh.y"
14575 sprintf(tmpstr,
"_%d", (
int)(yyvsp[(4) - (5)].d));
14576 (yyval.
c) = (
char *)
Malloc((strlen((yyvsp[(1) - (5)].
c)) + strlen(tmpstr) + 1) *
sizeof(
char));
14577 strcpy((yyval.
c), (yyvsp[(1) - (5)].
c));
14578 strcat((yyval.
c), tmpstr);
14579 Free((yyvsp[(1) - (5)].
c));
14585 #line 6741 "Gmsh.y"
14588 sprintf(tmpstr,
"_%d", (
int)(yyvsp[(4) - (5)].d));
14589 (yyval.
c) = (
char *)
Malloc((strlen((yyvsp[(1) - (5)].
c)) + strlen(tmpstr) + 1) *
sizeof(
char));
14590 strcpy((yyval.
c), (yyvsp[(1) - (5)].
c));
14591 strcat((yyval.
c), tmpstr);
14592 Free((yyvsp[(1) - (5)].
c));
14598 #line 6749 "Gmsh.y"
14601 sprintf(tmpstr,
"_%d", (
int)(yyvsp[(7) - (8)].d));
14602 (yyval.
c) = (
char *)
Malloc((strlen((yyvsp[(3) - (8)].
c)) + strlen(tmpstr) + 1) *
sizeof(
char));
14603 strcpy((yyval.
c), (yyvsp[(3) - (8)].
c));
14604 strcat((yyval.
c), tmpstr);
14605 Free((yyvsp[(3) - (8)].
c));
14611 #line 6760 "Gmsh.y"
14613 (yyval.
c) = (yyvsp[(1) - (1)].
c);
14619 #line 6762 "Gmsh.y"
14621 (yyval.
c) = (yyvsp[(1) - (1)].
c);
14627 #line 6765 "Gmsh.y"
14629 (yyval.
c) = (yyvsp[(3) - (4)].
c);
14635 #line 15039 "Gmsh.tab.cpp"
14654 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
14669 #if !YYERROR_VERBOSE
14679 if (
yymsg != yymsgbuf)
14687 yymsg_alloc =
sizeof yymsgbuf;
14691 if (0 < yysize && yysize <= yymsg_alloc)
14700 goto yyexhaustedlab;
14706 if (yyerrstatus == 3)
14819 while (yyssp !=
yyss)
14828 #if YYERROR_VERBOSE
14829 if (
yymsg != yymsgbuf)
14833 return YYID(yyresult);
14836 #line 6768 "Gmsh.y"
14846 s.
value.resize(index + 1, 0.);
14847 s.
value[index] = value;
14850 yymsg(0,
"Unknown variable '%s'", name.c_str());
14857 if ((
int)s.
value.size() < index + 1)
14858 s.
value.resize(index + 1, 0.);
14859 switch (assignType)
14862 s.
value[index] = value;
14865 s.
value[index] += value;
14868 s.
value[index] -= value;
14871 s.
value[index] *= value;
14875 s.
value[index] /= value;
14877 yymsg(0,
"Division by zero in '%s[%d] /= %g'", name.c_str(), index, value);
14882 yymsg(0,
"Variable '%s' is not a list", name.c_str());
14890 yymsg(0,
"Incompatible array dimensions in affectation");
14900 for (
int i = 0; i <
List_Nbr(indices); i++)
14902 int index = (int)(*(
double *)
List_Pointer(indices, i));
14903 s.
value.resize(index + 1, 0.);
14908 yymsg(0,
"Unknown variable '%s'", name.c_str());
14915 for (
int i = 0; i <
List_Nbr(indices); i++)
14917 int index = (int)(*(
double *)
List_Pointer(indices, i));
14919 if ((
int)s.
value.size() < index + 1)
14920 s.
value.resize(index + 1, 0.);
14921 switch (assignType)
14924 s.
value[index] = d;
14927 s.
value[index] += d;
14930 s.
value[index] -= d;
14933 s.
value[index] *= d;
14937 s.
value[index] /= d;
14939 yymsg(0,
"Division by zero in '%s[%d] /= %g'", name.c_str(), index, d);
14945 yymsg(0,
"Variable '%s' is not a list", name.c_str());
14953 yymsg(0,
"Unknown variable '%s'", name.c_str());
14959 if ((
int)s.
value.size() < index + 1)
14960 s.
value.resize(index + 1, 0.);
14961 s.
value[index] += value;
14964 yymsg(0,
"Variable '%s' is not a list", name.c_str());
14972 int numFormats = 0;
14973 for (std::size_t i = 0; i < strlen(format); i++)
14974 if (format[i] ==
'%')
14978 strcpy(buffer, format);
14979 for (
int i = 0; i <
List_Nbr(list); i++)
14984 sprintf(tmp,
" [%d]%g", i, d);
14985 strcat(buffer, tmp);
14990 char tmp1[256], tmp2[256];
14994 while (j < (
int)strlen(format) && format[j] !=
'%')
14996 strncpy(buffer, format, j);
14998 for (
int i = 0; i <
List_Nbr(list); i++)
15002 if (j < (
int)strlen(format))
15004 if (format[j] ==
'%')
15006 strcat(buffer,
"%");
15009 while (j < (
int)strlen(format) && format[j] !=
'%')
15013 strncpy(tmp1, &(format[k]), j - k);
15014 tmp1[j - k] =
'\0';
15015 sprintf(tmp2, tmp1, *(
double *)
List_Pointer(list, i));
15016 strcat(buffer, tmp2);
15022 if (j != (
int)strlen(format))
15031 vec.push_back(
"//");
15032 vec.push_back(
"// Numbers");
15033 vec.push_back(
"//");
15038 std::ostringstream sstream;
15039 sstream.precision(12);
15040 sstream << it->first;
15043 sstream <<
"[] = {";
15044 for (std::size_t i = 0; i < s.
value.size(); i++)
15048 sstream << s.
value[i];
15053 sstream <<
" = " << s.
value[0];
15055 vec.push_back(sstream.str());
15059 vec.push_back(
"//");
15060 vec.push_back(
"// Strings");
15061 vec.push_back(
"//");
15065 if (it->second.size() == 1)
15066 vec.push_back(it->first +
" = \"" + it->second[0] +
"\";");
15069 std::string s = it->first +
"[] = Str({";
15070 for (std::size_t i = 0; i < it->second.size(); i++)
15074 s += std::string(
"\"") + it->second[i] +
"\"";
15084 vec.push_back(
"//");
15085 vec.push_back(
"// Structures");
15086 vec.push_back(
"//");
15088 std::vector<std::string> strs;
15090 vec.insert(vec.end(), strs.begin(), strs.end());
15099 for (
int i = 0; i < M; i++)
15105 for (
int i = 0; i < M; i++)
15115 for (
int i = 0; i <
List_Nbr(list); i++)
15127 for (
int i = 0; i <
List_Nbr(list); i++)
15131 v.push_back((
int)d);
15141 for (
int i = 0; i <
List_Nbr(list); i++)
15151 for (
int i = 0; i <
List_Nbr(list); i++)
15155 int dim = s.
Type / 100 - 1;
15156 if (dim >= 0 && dim <= 3)
15157 v.push_back(std::make_pair(dim, s.
Num));
15163 for (std::size_t i = 0; i < v.size(); i++)
15165 int dim = v[i].first;
15166 int tag = v[i].second;
15188 va_start(args, fmt);
15189 vsprintf(tmp, fmt, args);
15200 else if (level == 1)
15225 if (!target || !source)
15227 Msg::Error(
"Could not find surface %d or %d for periodic copy", iTarget, iSource);
15240 Msg::Info(
"Encoding periodic connection between %d and %d", iTarget, iSource);
15241 for (
auto sIter = edgeCounterparts.begin(); sIter != edgeCounterparts.end(); ++sIter)
15243 Msg::Info(
"%d - %d", sIter->first, sIter->second);
15248 if (!target || !source)
15250 Msg::Error(
"Could not find surface %d or %d for periodic copy", iTarget, iSource);
15265 if (!target || !source)
15267 Msg::Error(
"Could not find curve %d or %d for periodic copy", iTarget, iSource);
15270 if (affineTransform.size() >= 12)
15276 target->
setMeshMaster(source, iSource * iTarget < 0 ? -1 : 1);
15281 std::vector<double> &tfo)
15283 tfo.resize(16, 0.0);
15285 double ca = cos(
angle);
15286 double sa = sin(
angle);
15288 double ux = axis.
x();
15289 double uy = axis.
y();
15290 double uz = axis.
z();
15294 tfo[0 * 4 + 0] = ca + ux * ux * (1. - ca);
15295 tfo[0 * 4 + 1] = ux * uy * (1. - ca) - uz * sa;
15296 tfo[0 * 4 + 2] = ux * uz * (1. - ca) + uy * sa;
15298 tfo[1 * 4 + 0] = ux * uy * (1. - ca) + uz * sa;
15299 tfo[1 * 4 + 1] = ca + uy * uy * (1. - ca);
15300 tfo[1 * 4 + 2] = uy * uz * (1. - ca) - ux * sa;
15302 tfo[2 * 4 + 0] = ux * uz * (1. - ca) - uy * sa;
15303 tfo[2 * 4 + 1] = uy * uz * (1. - ca) + ux * sa;
15304 tfo[2 * 4 + 2] = ca + uz * uz * (1. - ca);
15307 for (
size_t i = 0; i < 3; i++, idx++)
15309 int tIdx = i * 4 + 3;
15310 tfo[tIdx] = origin[i] + translation[i];
15311 for (
int j = 0; j < 3; j++, idx++)
15312 tfo[tIdx] -= tfo[idx] * origin[j];
15315 for (
int i = 0; i < 4; i++)
15332 yymsg(0,
"Unknown model surface with tag %d", tag2);
15335 for (std::size_t i = 0; i <
tags.size(); i++)
15343 yymsg(0,
"Unknown model point %d",
tags[i]);
15351 yymsg(0,
"Unknown model curve %d",
tags[i]);
15355 else if (dim2 == 3)
15360 yymsg(0,
"Unknown model volume with tag %d", tag2);
15363 for (std::size_t i = 0; i <
tags.size(); i++)
15371 yymsg(0,
"Unknown model point with tag %d",
tags[i]);
15379 yymsg(0,
"Unknown model curve with tag %d",
tags[i]);
15387 yymsg(0,
"Unknown model surface with tag %d",
tags[i]);
15400 for (std::size_t i = 0; i < dimTags.size(); i++)
15402 int dim = dimTags[i].first, tag = dimTags[i].second;
15408 if (rdim < 0 || rdim == 1)
15410 if (rdim < 0 || rdim == 0)
15414 yymsg(0,
"Unknown model surface with tag %d", tag);
15416 else if (dimTags[i].first == 3)
15421 if (rdim < 0 || rdim == 2)
15423 if (rdim < 0 || rdim == 1)
15425 if (rdim < 0 || rdim == 0)
15429 yymsg(0,
"Unknown model volume with tag %d", tag);
15441 std::vector<GEntity *> entities;
15443 for (std::size_t i = 0; i < entities.size(); i++)
15445 double tag = entities[i]->tag();
15457 std::map<int, std::vector<GEntity *>> groups;
15459 for (
auto it = groups.begin(); it != groups.end(); it++)
15461 double d = it->first;
15473 std::map<int, std::vector<GEntity *>> groups;
15475 for (
int i = 0; i <
List_Nbr(in); i++)
15479 auto it = groups.find(num);
15480 if (it != groups.end())
15482 for (
unsigned j = 0; j < it->second.size(); j++)
15484 double d = it->second[j]->tag();
15500 std::vector<GEntity *> entities;
15502 for (std::size_t i = 0; i < entities.size(); i++)
15504 double d = entities[i]->tag();
15516 for (
int i = 0; i <
List_Nbr(in); i++)
15526 double tag = parent->
tag();
15541 for (
int i = 0; i <
List_Nbr(in); i++)
15551 double b[6] = {
box.min().x(),
box.min().y(),
box.min().z(),
box.max().x(),
box.max().y(),
box.max().z()};
15552 for (
int i = 0; i < 6; i++)
15564 std::vector<GEntity *> entities;
15566 for (std::size_t i = 0; i < entities.size(); i++)
15568 entities[i]->setVisibility(visible);
15572 void setVisibility(
const std::vector<std::pair<int, int>> &dimTags,
int visible,
bool recursive)
15579 for (std::size_t i = 0; i < dimTags.size(); i++)
15587 void setColor(
const std::vector<std::pair<int, int>> &dimTags,
unsigned int val,
bool recursive)
15594 for (std::size_t i = 0; i < dimTags.size(); i++)
15607 if (type_treat == 1)
15614 if (s.
value.empty())
15617 if (type_treat == 0)
15618 yymsg(0,
"Uninitialized variable '%s'", c2);
15623 else if (type_var == 2)
15626 if (index < 0 || (
int)s.
value.size() < index + 1)
15629 if (type_treat == 0)
15630 yymsg(0,
"Uninitialized variable '%s[%d]'", c2, index);
15634 out = s.
value[index];
15655 if (type_treat == 0)
15662 if (type_treat == 0)
15663 yymsg(0,
"Unknown variable '%s(.)'", c2);
15676 std::string key_member(c3);
15680 if (type_treat == 1)
15688 if (type_treat != 0)
15690 const std::string *out_dummy =
nullptr;
15697 if (type_treat == 0)
15703 if (type_treat == 0)
15704 yymsg(0,
"Index %d out of range", index);
15715 List_T *out, *val_default =
nullptr;
15716 const std::vector<double> *out_vector;
15719 std::string key_member(c3);
15723 out =
List_Create(out_vector->size(), 1,
sizeof(
double));
15724 for (std::size_t i = 0; i < out_vector->size(); i++)
15726 val_ = out_vector->at(i);
15749 std::string key_member(c3);
15770 std::string string_default(val_default ? val_default : std::string(
""));
15771 const std::string *out =
nullptr;
15772 std::string out_tmp;
15778 out = &string_default;
15779 if (type_treat == 0)
15780 yymsg(0,
"Expected single valued string variable '%s'", c2);
15790 out = &string_default;
15791 if (type_treat == 0)
15792 yymsg(0,
"Unknown string variable '%s'", c2);
15794 char *out_c = (
char *)
Malloc((out->size() + 1) *
sizeof(char));
15795 strcpy(out_c, out->c_str());
15804 std::string string_default(val_default ? val_default : std::string(
""));
15805 const std::string *out =
nullptr;
15806 std::string out_tmp;
15808 std::string key_member(c3);
15817 out = &string_default;
15820 out = &string_default;
15821 if (type_treat == 0)
15825 out = &string_default;
15826 if (type_treat == 0)
15827 yymsg(0,
"Index %d out of range", index);
15830 char *out_c = (
char *)
Malloc((out->size() + 1) *
sizeof(char));
15831 strcpy(out_c, out->c_str());
15840 List_T *out, *val_default =
nullptr;
15841 const std::vector<std::string> *out_vector;
15844 std::string key_member(c3);
15848 out =
List_Create(out_vector->size(), 1,
sizeof(
char *));
15849 for (std::size_t i = 0; i < out_vector->size(); i++)
15851 val_ =
strsave((
char *)out_vector->at(i).c_str());