From ea9197a3f52e43a258521a74ff6c886b2835c2f4 Mon Sep 17 00:00:00 2001 From: Peter van der Zee Date: Wed, 29 Jun 2016 21:28:14 +0200 Subject: [PATCH] Drop redundant space solved checks, major perf improvement Drops `config.targetedVarIndexes`. Streamlines `space.unsolvedVarIndexes` and makes it the "targeted var indexes", or every var if there aren't any. Drops a bunch of `space_isSolved` checks which turned out to be redundant. This in turn saved a lot of time and perf of the heavy curator test dropped considerably. =============================== Coverage summary ================ Statements : 92.1% ( 3896/4230 ), 21 ignored Branches : 88.47% ( 1925/2176 ), 42 ignored Functions : 94.89% ( 334/352 ), 8 ignored Lines : 91.9% ( 3210/3493 ) ================================================================= --- CHANGELOG.md | 5 +- src/config.js | 34 - src/distribution/var.js | 6 +- src/search.js | 4 +- src/solver.js | 1 - src/space.js | 89 +- tests/perf/composer/config.js | 3458 ----------------------------- tests/perf/curator/config.js | 1 - tests/perf/multiverse/config.js | 913 -------- tests/perf/tmp/config.js | 102 - tests/specs/config.spec.js | 96 - tests/specs/exports/2016-06-11.js | 224 -- tests/specs/exports/2016-06-13.js | 1 - tests/specs/exports/2016-06-18.js | 102 - tests/specs/space.spec.js | 77 +- 15 files changed, 117 insertions(+), 4996 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 319dd75..a13b1c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,10 @@ ## Unreleased -- No changes +- Drop support for getting the targeted indexes through a callback +- Eliminated something internally that was redundant and causing a big perf regression; in other words the solver should run much faster now on large data +- Internal; eliminated targetedIndexes, merged the whole thing into `space.unsolvedVarIndexes` +- Internal; eliminated duplicate `isSolved` checks ## v2.2.1: diff --git a/src/config.js b/src/config.js index 6559472..cbd2f35 100644 --- a/src/config.js +++ b/src/config.js @@ -47,7 +47,6 @@ import { domain_max, domain_min, domain_numarr, - domain_isSolved, domain_isSolvedArr, domain_intersection, domain_intersectionArrArr, @@ -75,7 +74,6 @@ function config_create() { next_var_func: 'naive', next_value_func: 'min', targetedVars: 'all', - targetedIndexes: 'all', // function, string or array. initialized by config_generateVars, will contain var index for targetedVars var_dist_options: {}, timeout_callback: undefined, @@ -103,7 +101,6 @@ function config_clone(config, newDomains) { next_var_func, next_value_func, targetedVars, - targetedIndexes, var_dist_options, timeout_callback, constant_cache, @@ -122,7 +119,6 @@ function config_clone(config, newDomains) { next_var_func, next_value_func, targetedVars: targetedVars instanceof Array ? targetedVars.slice(0) : targetedVars, - targetedIndexes: targetedIndexes instanceof Array ? targetedIndexes.slice(0) : targetedIndexes, var_dist_options: JSON.parse(JSON.stringify(var_dist_options)), // TOFIX: clone this more efficiently timeout_callback, // by reference because it's a function if passed on... @@ -354,18 +350,6 @@ function config_generateVars(config, space) { space.vardoms[varIndex] = domain_numarr(domain); } - - if (config.targetedVars === 'all') { - config.targetedIndexes = 'all'; - } else { - config.targetedIndexes = []; - for (let i = 0; i < config.targetedVars.length; ++i) { - let name = config.targetedVars[i]; - let index = allVarNames.indexOf(name); - if (index < 0) THROW('TARGETED_VARS_SHOULD_EXIST_NOW'); - config.targetedIndexes.push(index); - } - } } /** @@ -1002,24 +986,6 @@ function config_initForSpace(config, space) { config_populateVarPropHash(config); ASSERT(config._varToPropagators, 'should have generated hash'); - let targets = getAllTargetVars(space); - // a var is considered unsolved if it is in fact not solved AND it either is either explicitly targeted or constrained by at least one constraint - space.unsolvedVarIndexes = targets.filter(varIndex => !domain_isSolved(space.vardoms[varIndex]) && (config.targetedVars !== 'all' || config._varToPropagators[varIndex] || (config._constrainedAway && config._constrainedAway.indexOf(varIndex) >= 0))); -} - -function getAllTargetVars(space) { - let configTargetedIndexes = space.config.targetedIndexes; - - if (configTargetedIndexes === 'all' || !configTargetedIndexes.length) { - return space.config.all_var_names.map((n, i) => i); - } - - if (configTargetedIndexes instanceof Array) { - return configTargetedIndexes; - } - - ASSERT(typeof configTargetedIndexes === 'function', 'config.targetedIndexes should be a func at this point', configTargetedIndexes); - return configTargetedIndexes(space); } // BODY_STOP diff --git a/src/distribution/var.js b/src/distribution/var.js index a72cc09..92ff84a 100644 --- a/src/distribution/var.js +++ b/src/distribution/var.js @@ -25,11 +25,11 @@ const WORSE = 3; * @returns {number} */ function distribution_getNextVar(space) { - let targetVars = space.unsolvedVarIndexes; + let unsolvedVarIndexes = space.unsolvedVarIndexes; let configNextVarFunc = space.config.next_var_func; // if it's a function it should return the name of the next var to process if (typeof configNextVarFunc === 'function') { - return configNextVarFunc(space, targetVars); + return configNextVarFunc(space, unsolvedVarIndexes); } let distName = configNextVarFunc; @@ -52,7 +52,7 @@ function distribution_getNextVar(space) { } } - return _distribution_varFindBest(space, targetVars, isBetterVar, configVarFilter, configNextVarFunc); + return _distribution_varFindBest(space, unsolvedVarIndexes, isBetterVar, configVarFilter, configNextVarFunc); } /** diff --git a/src/search.js b/src/search.js index 2c34096..929dedc 100644 --- a/src/search.js +++ b/src/search.js @@ -4,7 +4,7 @@ import { } from './helpers'; import { space_createClone, - space_isSolved, + space_updateUnsolvedVarList, space_propagate, } from './space'; import { @@ -78,7 +78,7 @@ function search_depthFirstLoop(space, stack, state, createNextSpaceNode) { return false; } - let solved = space_isSolved(space); + let solved = space_updateUnsolvedVarList(space); if (solved) { _search_onSolve(state, space, stack); return true; diff --git a/src/solver.js b/src/solver.js index cac8d34..fed8a4e 100644 --- a/src/solver.js +++ b/src/solver.js @@ -673,7 +673,6 @@ class Solver { clone.all_constraints = ''; clone.initial_domains = ''; if (targeted !== 'all') clone.targetedVars = ''; - clone.targetedIndexes = ''; clone._propagators = ''; clone._varToPropagators = ''; diff --git a/src/space.js b/src/space.js index 3934e6a..0bc17ed 100644 --- a/src/space.js +++ b/src/space.js @@ -6,6 +6,7 @@ import { ASSERT, ASSERT_DOMAIN, + THROW, } from './helpers'; import { @@ -67,8 +68,8 @@ function space_createFromConfig(config) { function space_createClone(space) { ASSERT(space._class === '$space', 'SPACE_SHOULD_BE_SPACE'); - let unsolvedVarIndexes = space_filterUnsolvedVarIndexes(space); let vardomsCopy = space.vardoms.slice(0); + let unsolvedVarIndexes = space.unsolvedVarIndexes.slice(0); // note: the list should have been updated before cloning // only for debugging let _depth; @@ -103,22 +104,12 @@ function space_toConfig(space) { return config_clone(space.config, newDomains); } -function space_filterUnsolvedVarIndexes(space) { - let unsolvedVarIndexes = []; - let vardoms = space.vardoms; - for (let i = 0; i < space.unsolvedVarIndexes.length; ++i) { - let varIndex = space.unsolvedVarIndexes[i]; - if (!domain_isSolved(vardoms[varIndex])) unsolvedVarIndexes.push(varIndex); - } - return unsolvedVarIndexes; -} - /** * Concept of a space that holds config, some named domains (referred to as "vars"), and some propagators * * @param {$config} config * @param {$domain[]} vardoms Maps 1:1 to config.all_var_names - * @param {string[]} unsolvedVarIndexes Note: Indexes to the config.all_var_names array + * @param {number[]} unsolvedVarIndexes Note: Indexes to the config.all_var_names array * @param {number} _depth * @param {number} _child * @param {string} _path @@ -133,7 +124,6 @@ function space_createNew(config, vardoms, unsolvedVarIndexes, _depth, _child, _p config, - // TODO: should we track all_vars all_unsolved_vars AND target_vars target_unsolved_vars? because i think so. vardoms, unsolvedVarIndexes, @@ -157,8 +147,44 @@ function space_createNew(config, vardoms, unsolvedVarIndexes, _depth, _child, _p function space_initFromConfig(space) { let config = space.config; ASSERT(config, 'should have a config'); + ASSERT(config._class === '$config', 'should be a config'); config_initForSpace(config, space); + initializeUnsolvedVars(space, config); +} +/** + * Initialized space.unsolvedVarIndexes with either the explicitly targeted var indexes + * or any index that is currently unsolved and either constrained or marked as such + * + * @param {$space} space + * @param {$config} config + */ +function initializeUnsolvedVars(space, config) { + let unsolvedVarIndexes = space.unsolvedVarIndexes; + let targetVarNames = config.targetedVars; + let vardoms = space.vardoms; + + ASSERT(unsolvedVarIndexes.length === 0, 'should be initialized with empty list'); + + if (targetVarNames === 'all') { + for (let varIndex = 0, n = vardoms.length; varIndex < n; ++varIndex) { + if (!domain_isSolved(vardoms[varIndex])) { + if (config._varToPropagators[varIndex] || (config._constrainedAway && config._constrainedAway.indexOf(varIndex) >= 0)) { + unsolvedVarIndexes.push(varIndex); + } + } + } + } else { + let allVarNames = space.config.all_var_names; + for (let i = 0, n = targetVarNames.length; i < n; ++i) { + let varName = targetVarNames[i]; + let varIndex = allVarNames.indexOf(varName); + if (varIndex < 0) THROW('E_TARGETED_VARS_SHOULD_EXIST_NOW'); + if (!domain_isSolved(vardoms[varIndex])) { + unsolvedVarIndexes.push(varIndex); + } + } + } } /** @@ -290,42 +316,15 @@ function space_abortSearch(space) { * @param {$space} space * @returns {boolean} */ -function space_isSolved(space) { - ASSERT(space._class === '$space', 'SPACE_SHOULD_BE_SPACE'); - let targetedIndexes = space.config.targetedIndexes; - - if (targetedIndexes === 'all' || !targetedIndexes.length) return _space_isSolvedForAll(space); - return _space_isSolvedForSome(space, targetedIndexes); -} -function _space_isSolvedForSome(space, targetedIndexes) { - ASSERT(space._class === '$space', 'SPACE_SHOULD_BE_SPACE'); - ASSERT(targetedIndexes !== 'all' && targetedIndexes.length, 'REQUIRES_SOME_TARGETS'); - - let unsolvedVarIndexes = space.unsolvedVarIndexes; - - let j = 0; - for (let i = 0; i < unsolvedVarIndexes.length; i++) { - let varIndex = unsolvedVarIndexes[i]; - if (targetedIndexes.indexOf(varIndex) >= 0) { - let domain = space.vardoms[varIndex]; - ASSERT_DOMAIN(domain); - - if (!domain_isSolved(domain)) { - unsolvedVarIndexes[j++] = varIndex; - } - } - } - unsolvedVarIndexes.length = j; - return j === 0; -} -function _space_isSolvedForAll(space) { +function space_updateUnsolvedVarList(space) { ASSERT(space._class === '$space', 'SPACE_SHOULD_BE_SPACE'); let unsolvedVarIndexes = space.unsolvedVarIndexes; + let vardoms = space.vardoms; let j = 0; - for (let i = 0; i < unsolvedVarIndexes.length; i++) { + for (let i = 0, n = unsolvedVarIndexes.length; i < n; i++) { let varIndex = unsolvedVarIndexes[i]; - let domain = space.vardoms[varIndex]; + let domain = vardoms[varIndex]; ASSERT_DOMAIN(domain); if (!domain_isSolved(domain)) { @@ -385,7 +384,7 @@ export { space_createRoot, space_getVarSolveState, space_initFromConfig, - space_isSolved, + space_updateUnsolvedVarList, space_propagate, space_solution, space_toConfig, diff --git a/tests/perf/composer/config.js b/tests/perf/composer/config.js index f45413d..d3fe497 100644 --- a/tests/perf/composer/config.js +++ b/tests/perf/composer/config.js @@ -3482,3464 +3482,6 @@ var config = module.exports = { '9562', '9563', '9564'], - targetedIndexes: [1, - 25, - 92, - 93, - 3, - 1637, - 1640, - 1643, - 1646, - 1649, - 1652, - 1655, - 1658, - 1661, - 1664, - 1667, - 1670, - 1673, - 1676, - 1679, - 1682, - 1685, - 1688, - 1691, - 1694, - 1697, - 1700, - 3, - 25, - 92, - 93, - 2, - 26, - 29, - 32, - 35, - 38, - 41, - 44, - 47, - 50, - 53, - 56, - 59, - 62, - 65, - 68, - 71, - 74, - 77, - 80, - 83, - 86, - 89, - 96, - 163, - 164, - 95, - 1724, - 1727, - 1730, - 1733, - 1736, - 1739, - 1742, - 1745, - 1748, - 1751, - 1754, - 1757, - 1760, - 1763, - 1766, - 1769, - 1772, - 1775, - 1778, - 1781, - 1784, - 1787, - 95, - 96, - 163, - 164, - 94, - 97, - 100, - 103, - 106, - 109, - 112, - 115, - 118, - 121, - 124, - 127, - 130, - 133, - 136, - 139, - 142, - 145, - 148, - 151, - 154, - 157, - 160, - 167, - 234, - 235, - 166, - 1811, - 1814, - 1817, - 1820, - 1823, - 1826, - 1829, - 1832, - 1835, - 1838, - 1841, - 1844, - 1847, - 1850, - 1853, - 1856, - 1859, - 1862, - 1865, - 1868, - 1871, - 1874, - 166, - 167, - 234, - 235, - 165, - 168, - 171, - 174, - 177, - 180, - 183, - 186, - 189, - 192, - 195, - 198, - 201, - 204, - 207, - 210, - 213, - 216, - 219, - 222, - 225, - 228, - 231, - 238, - 305, - 306, - 237, - 1898, - 1901, - 1904, - 1907, - 1910, - 1913, - 1916, - 1919, - 1922, - 1925, - 1928, - 1931, - 1934, - 1937, - 1940, - 1943, - 1946, - 1949, - 1952, - 1955, - 1958, - 1961, - 237, - 238, - 305, - 306, - 236, - 239, - 242, - 245, - 248, - 251, - 254, - 257, - 260, - 263, - 266, - 269, - 272, - 275, - 278, - 281, - 284, - 287, - 290, - 293, - 296, - 299, - 302, - 309, - 376, - 377, - 308, - 1985, - 1988, - 1991, - 1994, - 1997, - 2000, - 2003, - 2006, - 2009, - 2012, - 2015, - 2018, - 2021, - 2024, - 2027, - 2030, - 2033, - 2036, - 2039, - 2042, - 2045, - 2048, - 308, - 309, - 376, - 377, - 307, - 310, - 313, - 316, - 319, - 322, - 325, - 328, - 331, - 334, - 337, - 340, - 343, - 346, - 349, - 352, - 355, - 358, - 361, - 364, - 367, - 370, - 373, - 380, - 447, - 448, - 379, - 2072, - 2075, - 2078, - 2081, - 2084, - 2087, - 2090, - 2093, - 2096, - 2099, - 2102, - 2105, - 2108, - 2111, - 2114, - 2117, - 2120, - 2123, - 2126, - 2129, - 2132, - 2135, - 379, - 380, - 447, - 448, - 378, - 381, - 384, - 387, - 390, - 393, - 396, - 399, - 402, - 405, - 408, - 411, - 414, - 417, - 420, - 423, - 426, - 429, - 432, - 435, - 438, - 441, - 444, - 451, - 518, - 519, - 450, - 2159, - 2162, - 2165, - 2168, - 2171, - 2174, - 2177, - 2180, - 2183, - 2186, - 2189, - 2192, - 2195, - 2198, - 2201, - 2204, - 2207, - 2210, - 2213, - 2216, - 2219, - 2222, - 450, - 451, - 518, - 519, - 449, - 452, - 455, - 458, - 461, - 464, - 467, - 470, - 473, - 476, - 479, - 482, - 485, - 488, - 491, - 494, - 497, - 500, - 503, - 506, - 509, - 512, - 515, - 522, - 589, - 590, - 521, - 2246, - 2249, - 2252, - 2255, - 2258, - 2261, - 2264, - 2267, - 2270, - 2273, - 2276, - 2279, - 2282, - 2285, - 2288, - 2291, - 2294, - 2297, - 2300, - 2303, - 2306, - 2309, - 521, - 522, - 589, - 590, - 520, - 523, - 526, - 529, - 532, - 535, - 538, - 541, - 544, - 547, - 550, - 553, - 556, - 559, - 562, - 565, - 568, - 571, - 574, - 577, - 580, - 583, - 586, - 593, - 660, - 661, - 592, - 2333, - 2336, - 2339, - 2342, - 2345, - 2348, - 2351, - 2354, - 2357, - 2360, - 2363, - 2366, - 2369, - 2372, - 2375, - 2378, - 2381, - 2384, - 2387, - 2390, - 2393, - 2396, - 592, - 593, - 660, - 661, - 591, - 594, - 597, - 600, - 603, - 606, - 609, - 612, - 615, - 618, - 621, - 624, - 627, - 630, - 633, - 636, - 639, - 642, - 645, - 648, - 651, - 654, - 657, - 664, - 731, - 732, - 663, - 2420, - 2423, - 2426, - 2429, - 2432, - 2435, - 2438, - 2441, - 2444, - 2447, - 2450, - 2453, - 2456, - 2459, - 2462, - 2465, - 2468, - 2471, - 2474, - 2477, - 2480, - 2483, - 663, - 664, - 731, - 732, - 662, - 665, - 668, - 671, - 674, - 677, - 680, - 683, - 686, - 689, - 692, - 695, - 698, - 701, - 704, - 707, - 710, - 713, - 716, - 719, - 722, - 725, - 728, - 735, - 802, - 803, - 734, - 2507, - 2510, - 2513, - 2516, - 2519, - 2522, - 2525, - 2528, - 2531, - 2534, - 2537, - 2540, - 2543, - 2546, - 2549, - 2552, - 2555, - 2558, - 2561, - 2564, - 2567, - 2570, - 734, - 735, - 802, - 803, - 733, - 736, - 739, - 742, - 745, - 748, - 751, - 754, - 757, - 760, - 763, - 766, - 769, - 772, - 775, - 778, - 781, - 784, - 787, - 790, - 793, - 796, - 799, - 806, - 873, - 874, - 805, - 2594, - 2597, - 2600, - 2603, - 2606, - 2609, - 2612, - 2615, - 2618, - 2621, - 2624, - 2627, - 2630, - 2633, - 2636, - 2639, - 2642, - 2645, - 2648, - 2651, - 2654, - 2657, - 805, - 806, - 873, - 874, - 804, - 807, - 810, - 813, - 816, - 819, - 822, - 825, - 828, - 831, - 834, - 837, - 840, - 843, - 846, - 849, - 852, - 855, - 858, - 861, - 864, - 867, - 870, - 877, - 944, - 945, - 876, - 2681, - 2684, - 2687, - 2690, - 2693, - 2696, - 2699, - 2702, - 2705, - 2708, - 2711, - 2714, - 2717, - 2720, - 2723, - 2726, - 2729, - 2732, - 2735, - 2738, - 2741, - 2744, - 876, - 877, - 944, - 945, - 875, - 878, - 881, - 884, - 887, - 890, - 893, - 896, - 899, - 902, - 905, - 908, - 911, - 914, - 917, - 920, - 923, - 926, - 929, - 932, - 935, - 938, - 941, - 948, - 1015, - 1016, - 947, - 2768, - 2771, - 2774, - 2777, - 2780, - 2783, - 2786, - 2789, - 2792, - 2795, - 2798, - 2801, - 2804, - 2807, - 2810, - 2813, - 2816, - 2819, - 2822, - 2825, - 2828, - 2831, - 947, - 948, - 1015, - 1016, - 946, - 949, - 952, - 955, - 958, - 961, - 964, - 967, - 970, - 973, - 976, - 979, - 982, - 985, - 988, - 991, - 994, - 997, - 1000, - 1003, - 1006, - 1009, - 1012, - 1019, - 1086, - 1087, - 1018, - 2855, - 2858, - 2861, - 2864, - 2867, - 2870, - 2873, - 2876, - 2879, - 2882, - 2885, - 2888, - 2891, - 2894, - 2897, - 2900, - 2903, - 2906, - 2909, - 2912, - 2915, - 2918, - 1018, - 1019, - 1086, - 1087, - 1017, - 1020, - 1023, - 1026, - 1029, - 1032, - 1035, - 1038, - 1041, - 1044, - 1047, - 1050, - 1053, - 1056, - 1059, - 1062, - 1065, - 1068, - 1071, - 1074, - 1077, - 1080, - 1083, - 1090, - 1157, - 1158, - 1089, - 2942, - 2945, - 2948, - 2951, - 2954, - 2957, - 2960, - 2963, - 2966, - 2969, - 2972, - 2975, - 2978, - 2981, - 2984, - 2987, - 2990, - 2993, - 2996, - 2999, - 3002, - 3005, - 1089, - 1090, - 1157, - 1158, - 1088, - 1091, - 1094, - 1097, - 1100, - 1103, - 1106, - 1109, - 1112, - 1115, - 1118, - 1121, - 1124, - 1127, - 1130, - 1133, - 1136, - 1139, - 1142, - 1145, - 1148, - 1151, - 1154, - 1161, - 1228, - 1229, - 1160, - 3029, - 3032, - 3035, - 3038, - 3041, - 3044, - 3047, - 3050, - 3053, - 3056, - 3059, - 3062, - 3065, - 3068, - 3071, - 3074, - 3077, - 3080, - 3083, - 3086, - 3089, - 3092, - 1160, - 1161, - 1228, - 1229, - 1159, - 1162, - 1165, - 1168, - 1171, - 1174, - 1177, - 1180, - 1183, - 1186, - 1189, - 1192, - 1195, - 1198, - 1201, - 1204, - 1207, - 1210, - 1213, - 1216, - 1219, - 1222, - 1225, - 3, - 95, - 166, - 237, - 308, - 379, - 450, - 521, - 592, - 663, - 734, - 805, - 876, - 947, - 1018, - 1089, - 1160, - 1230, - 1231, - 1232, - 1233, - 1234, - 1235, - 1236, - 1237, - 1238, - 1239, - 1240, - 1241, - 1242, - 1243, - 1244, - 1245, - 1246, - 1247, - 1248, - 1249, - 1250, - 1251, - 1252, - 1253, - 1254, - 1255, - 1256, - 1257, - 1258, - 1259, - 1260, - 1261, - 1262, - 1263, - 1264, - 1265, - 1266, - 1267, - 1268, - 1269, - 1270, - 1271, - 1272, - 1273, - 1274, - 1275, - 1276, - 1277, - 1278, - 1279, - 1280, - 1281, - 1282, - 1283, - 1284, - 1285, - 1286, - 1287, - 1288, - 1289, - 1290, - 1291, - 1292, - 1293, - 1294, - 1295, - 1296, - 1297, - 1298, - 1299, - 1300, - 1301, - 1302, - 1303, - 1304, - 1305, - 1306, - 1307, - 1308, - 1309, - 1310, - 1311, - 1312, - 1313, - 1314, - 1315, - 1316, - 1317, - 1318, - 1319, - 1320, - 1321, - 1322, - 1323, - 1324, - 1325, - 1326, - 1327, - 1328, - 1329, - 1330, - 1331, - 1332, - 1333, - 1334, - 1335, - 1336, - 1337, - 1338, - 1339, - 1340, - 1341, - 1342, - 1343, - 1344, - 1345, - 1346, - 1347, - 1348, - 1349, - 1350, - 1351, - 1352, - 1353, - 1354, - 1355, - 1356, - 1357, - 1358, - 1359, - 1360, - 1361, - 1362, - 1363, - 1364, - 1365, - 1366, - 1367, - 1368, - 1369, - 1370, - 1371, - 1372, - 1373, - 1374, - 1375, - 1376, - 1377, - 1378, - 1379, - 1380, - 1381, - 1382, - 1383, - 1384, - 1385, - 1386, - 1387, - 1388, - 1389, - 1390, - 1391, - 1392, - 1393, - 1394, - 1395, - 1396, - 1397, - 1398, - 1399, - 1400, - 1401, - 1402, - 1403, - 1404, - 1405, - 1406, - 1407, - 1408, - 1409, - 1410, - 1411, - 1412, - 1413, - 1414, - 1415, - 1416, - 1417, - 1418, - 1419, - 1420, - 1421, - 1422, - 1423, - 1424, - 1425, - 1426, - 1427, - 1428, - 1429, - 1430, - 1431, - 1432, - 1433, - 1434, - 1435, - 1436, - 1437, - 1438, - 1439, - 1440, - 1441, - 1442, - 1443, - 1444, - 1445, - 1446, - 1447, - 1448, - 1449, - 1450, - 1451, - 1452, - 1453, - 1454, - 1455, - 1456, - 1457, - 1458, - 1459, - 1460, - 1461, - 1462, - 1463, - 1464, - 1465, - 1466, - 1467, - 1468, - 1469, - 1470, - 1471, - 1472, - 1473, - 1474, - 1475, - 1476, - 1477, - 1478, - 1479, - 1480, - 1481, - 1482, - 1483, - 1484, - 1485, - 1486, - 1487, - 1488, - 1489, - 1490, - 1491, - 1492, - 1493, - 1494, - 1495, - 1496, - 1497, - 1498, - 1499, - 1500, - 1501, - 1502, - 1503, - 1504, - 1505, - 1506, - 1507, - 1508, - 1509, - 1510, - 1511, - 1512, - 1513, - 1514, - 1515, - 1516, - 1517, - 1518, - 1519, - 1520, - 1521, - 1522, - 1523, - 1524, - 1525, - 1526, - 1527, - 1528, - 1529, - 1530, - 1531, - 1532, - 1533, - 1534, - 1535, - 1536, - 1537, - 1538, - 1539, - 1540, - 1541, - 1542, - 1543, - 1544, - 1545, - 1546, - 1547, - 1548, - 1549, - 1550, - 1551, - 1552, - 1553, - 1554, - 1555, - 1556, - 1557, - 1558, - 1559, - 1560, - 1561, - 1562, - 1563, - 1564, - 1565, - 1566, - 1567, - 1568, - 1569, - 1570, - 1571, - 1572, - 1573, - 1574, - 1575, - 1576, - 1577, - 1578, - 1579, - 1580, - 1581, - 1582, - 1583, - 1584, - 1585, - 1586, - 1587, - 1588, - 1589, - 1590, - 1591, - 1592, - 1593, - 1594, - 1595, - 1596, - 1597, - 1598, - 1599, - 1600, - 1601, - 1602, - 1603, - 1605, - 1607, - 1609, - 1611, - 1613, - 1615, - 1617, - 1619, - 1621, - 1623, - 1625, - 1627, - 1629, - 1631, - 1633, - 1635, - 1636, - 1703, - 1790, - 1877, - 1964, - 2051, - 2138, - 2225, - 2312, - 2399, - 2486, - 2573, - 2660, - 2747, - 2834, - 2921, - 3008, - 3095, - 3117, - 3118, - 3119, - 3120, - 3121, - 3122, - 3123, - 3124, - 3125, - 3126, - 3127, - 3128, - 3129, - 3130, - 3131, - 3132, - 3133, - 3151, - 3152, - 3153, - 3154, - 3155, - 3156, - 3157, - 3158, - 3159, - 3160, - 3161, - 3162, - 3163, - 3164, - 3165, - 3166, - 3167, - 3185, - 3186, - 3187, - 3188, - 3189, - 3190, - 3191, - 3192, - 3193, - 3194, - 3195, - 3196, - 3197, - 3198, - 3199, - 3200, - 3201, - 3219, - 3220, - 3221, - 3222, - 3223, - 3224, - 3225, - 3226, - 3227, - 3228, - 3229, - 3230, - 3231, - 3232, - 3233, - 3234, - 3235, - 3253, - 3254, - 3255, - 3256, - 3257, - 3258, - 3259, - 3260, - 3261, - 3262, - 3263, - 3264, - 3265, - 3266, - 3267, - 3268, - 3269, - 3287, - 3288, - 3289, - 3290, - 3291, - 3292, - 3293, - 3294, - 3295, - 3296, - 3297, - 3298, - 3299, - 3300, - 3301, - 3302, - 3303, - 3321, - 3322, - 3323, - 3324, - 3325, - 3326, - 3327, - 3328, - 3329, - 3330, - 3331, - 3332, - 3333, - 3334, - 3335, - 3336, - 3337, - 3355, - 3356, - 3357, - 3358, - 3359, - 3360, - 3361, - 3362, - 3363, - 3364, - 3365, - 3366, - 3367, - 3368, - 3369, - 3370, - 3371, - 3389, - 3390, - 3391, - 3392, - 3393, - 3394, - 3395, - 3396, - 3397, - 3398, - 3399, - 3400, - 3401, - 3402, - 3403, - 3404, - 3405, - 3406, - 3407, - 3408, - 3409, - 3410, - 3411, - 3412, - 3413, - 3414, - 3415, - 3416, - 3417, - 3418, - 3419, - 3420, - 3421, - 3422, - 3424, - 3426, - 3428, - 3430, - 3432, - 3434, - 3436, - 3438, - 3440, - 3442, - 3444, - 3446, - 3448, - 3450, - 3452, - 3454, - 3456, - 3457, - 3458, - 3459, - 3460, - 3461, - 3462, - 3463, - 3464, - 3465, - 3466, - 3467, - 3468, - 3469, - 3470, - 3471, - 3472, - 3473, - 3474, - 3475, - 3476, - 3477, - 3478, - 3479, - 3480, - 3481, - 3482, - 3483, - 3484, - 3485, - 3486, - 3487, - 3488, - 3489, - 3490, - 3492, - 3494, - 3496, - 3498, - 3500, - 3502, - 3504, - 3506, - 3508, - 3510, - 3512, - 3514, - 3516, - 3518, - 3520, - 3522, - 3524, - 3526, - 3528, - 3530, - 3532, - 3534, - 3536, - 3538, - 3540, - 3542, - 3544, - 3546, - 3548, - 3550, - 3552, - 3554, - 3556, - 3558, - 3559, - 3560, - 3561, - 3562, - 3563, - 3564, - 3565, - 3566, - 3567, - 3568, - 3569, - 3570, - 3571, - 3572, - 3573, - 3574, - 3590, - 3606, - 3622, - 3638, - 3654, - 3670, - 3686, - 3702, - 3718, - 3734, - 3750, - 3766, - 3782, - 3798, - 3814, - 3830, - 3846, - 3847, - 3848, - 3849, - 3850, - 3851, - 3852, - 3853, - 3854, - 3855, - 3856, - 3857, - 3858, - 3859, - 3860, - 3861, - 3862, - 3863, - 3866, - 3869, - 3872, - 3875, - 3878, - 3881, - 3884, - 3887, - 3890, - 3893, - 3896, - 3899, - 3902, - 3905, - 3908, - 3911, - 3914, - 3950, - 3952, - 3954, - 3956, - 3958, - 3960, - 3962, - 3964, - 3966, - 3968, - 3970, - 3972, - 3974, - 3976, - 3978, - 3980, - 3982, - 3984, - 3986, - 3988, - 3990, - 3992, - 3994, - 3996, - 3998, - 4000, - 4002, - 4004, - 4006, - 4008, - 4010, - 4012, - 4014, - 4016, - 4018, - 4020, - 4022, - 4024, - 4026, - 4028, - 4030, - 4032, - 4034, - 4036, - 4038, - 4040, - 4042, - 4044, - 4046, - 4048, - 4050, - 4052, - 4054, - 4056, - 4058, - 4060, - 4062, - 4064, - 4066, - 4068, - 4070, - 4072, - 4074, - 4076, - 4078, - 4080, - 4082, - 4084, - 4086, - 4088, - 4090, - 4092, - 4094, - 4096, - 4098, - 4100, - 4102, - 4104, - 4106, - 4108, - 4110, - 4112, - 4114, - 4116, - 4118, - 4120, - 4122, - 4124, - 4126, - 4128, - 4130, - 4132, - 4134, - 4136, - 4138, - 4140, - 4142, - 4144, - 4146, - 4148, - 4150, - 4152, - 4154, - 4156, - 4158, - 4160, - 4162, - 4164, - 4166, - 4168, - 4170, - 4172, - 4174, - 4176, - 4178, - 4180, - 4182, - 4184, - 4186, - 4188, - 4190, - 4192, - 4194, - 4196, - 4198, - 4200, - 4202, - 4204, - 4206, - 4208, - 4210, - 4212, - 4214, - 4216, - 4218, - 4220, - 4222, - 4224, - 4226, - 4228, - 4230, - 4232, - 4234, - 4236, - 4238, - 4240, - 4242, - 4244, - 4246, - 4248, - 4250, - 4252, - 4254, - 4255, - 4270, - 4285, - 4300, - 4315, - 4330, - 4345, - 4360, - 4375, - 4390, - 4405, - 4420, - 4435, - 4450, - 4465, - 4480, - 4495, - 4510, - 4511, - 4512, - 4513, - 4514, - 4515, - 4516, - 4517, - 4518, - 4519, - 4520, - 4521, - 4522, - 4523, - 4524, - 4525, - 4526, - 4527, - 4530, - 4533, - 4536, - 4539, - 4542, - 4545, - 4548, - 4551, - 4554, - 4557, - 4560, - 4563, - 4566, - 4569, - 4572, - 4575, - 4578, - 4614, - 4616, - 4618, - 4620, - 4622, - 4624, - 4626, - 4628, - 4630, - 4632, - 4634, - 4636, - 4638, - 4640, - 4642, - 4644, - 4646, - 4648, - 4650, - 4652, - 4654, - 4656, - 4658, - 4660, - 4662, - 4664, - 4666, - 4668, - 4670, - 4672, - 4674, - 4676, - 4678, - 4680, - 4682, - 4684, - 4686, - 4688, - 4690, - 4692, - 4694, - 4696, - 4698, - 4700, - 4702, - 4704, - 4706, - 4708, - 4710, - 4712, - 4714, - 4716, - 4718, - 4720, - 4722, - 4724, - 4726, - 4728, - 4730, - 4732, - 4734, - 4736, - 4738, - 4740, - 4742, - 4744, - 4746, - 4747, - 4748, - 4749, - 4750, - 4751, - 4752, - 4753, - 4754, - 4755, - 4756, - 4757, - 4758, - 4759, - 4760, - 4761, - 4762, - 4763, - 4766, - 4769, - 4772, - 4775, - 4778, - 4781, - 4784, - 4787, - 4790, - 4793, - 4796, - 4799, - 4802, - 4805, - 4808, - 4811, - 4814, - 4850, - 4852, - 4854, - 4856, - 4858, - 4860, - 4862, - 4864, - 4866, - 4868, - 4870, - 4872, - 4874, - 4876, - 4878, - 4880, - 4882, - 4884, - 4886, - 4888, - 4890, - 4892, - 4894, - 4896, - 4898, - 4900, - 4902, - 4904, - 4906, - 4908, - 4910, - 4912, - 4914, - 4916, - 4918, - 4920, - 4922, - 4924, - 4926, - 4928, - 4930, - 4932, - 4934, - 4936, - 4938, - 4940, - 4942, - 4944, - 4946, - 4948, - 4950, - 4952, - 4954, - 4956, - 4958, - 4960, - 4962, - 4964, - 4966, - 4968, - 4970, - 4972, - 4974, - 4976, - 4978, - 4980, - 4982, - 4984, - 4986, - 4988, - 4990, - 4992, - 4994, - 4996, - 4998, - 5000, - 5002, - 5004, - 5006, - 5008, - 5010, - 5012, - 5014, - 5016, - 5018, - 5020, - 5022, - 5024, - 5026, - 5028, - 5030, - 5032, - 5034, - 5036, - 5038, - 5040, - 5042, - 5044, - 5046, - 5048, - 5050, - 5052, - 5054, - 5056, - 5058, - 5060, - 5062, - 5064, - 5066, - 5068, - 5070, - 5072, - 5074, - 5076, - 5078, - 5080, - 5082, - 5084, - 5086, - 5088, - 5090, - 5092, - 5094, - 5096, - 5098, - 5100, - 5102, - 5104, - 5106, - 5108, - 5110, - 5112, - 5114, - 5116, - 5118, - 5120, - 5122, - 5124, - 5126, - 5128, - 5130, - 5132, - 5134, - 5136, - 5138, - 5140, - 5142, - 5144, - 5146, - 5148, - 5150, - 5152, - 5154, - 5156, - 5158, - 5160, - 5162, - 5164, - 5166, - 5168, - 5170, - 5172, - 5174, - 5176, - 5178, - 5180, - 5182, - 5184, - 5186, - 5188, - 5190, - 5192, - 5194, - 5196, - 5198, - 5200, - 5202, - 5204, - 5206, - 5208, - 5210, - 5212, - 5214, - 5216, - 5218, - 5220, - 5222, - 5224, - 5226, - 5228, - 5230, - 5232, - 5234, - 5236, - 5238, - 5240, - 5242, - 5244, - 5246, - 5248, - 5250, - 5252, - 5254, - 5256, - 5272, - 5288, - 5304, - 5320, - 5336, - 5352, - 5368, - 5384, - 5400, - 5416, - 5432, - 5448, - 5464, - 5480, - 5496, - 5512, - 5528, - 5529, - 5530, - 5531, - 5532, - 5533, - 5534, - 5535, - 5536, - 5537, - 5538, - 5539, - 5540, - 5541, - 5542, - 5543, - 5544, - 5545, - 5548, - 5551, - 5554, - 5557, - 5560, - 5563, - 5566, - 5569, - 5572, - 5575, - 5578, - 5581, - 5584, - 5587, - 5590, - 5593, - 5596, - 5632, - 5634, - 5636, - 5638, - 5640, - 5642, - 5644, - 5646, - 5648, - 5650, - 5652, - 5654, - 5656, - 5658, - 5660, - 5662, - 5664, - 5666, - 5668, - 5670, - 5672, - 5674, - 5676, - 5678, - 5680, - 5682, - 5684, - 5686, - 5688, - 5690, - 5692, - 5694, - 5696, - 5698, - 5700, - 5702, - 5704, - 5706, - 5708, - 5710, - 5712, - 5714, - 5716, - 5718, - 5720, - 5722, - 5724, - 5726, - 5728, - 5730, - 5732, - 5734, - 5736, - 5738, - 5740, - 5742, - 5744, - 5746, - 5748, - 5750, - 5752, - 5754, - 5756, - 5758, - 5760, - 5762, - 5764, - 5766, - 5768, - 5770, - 5772, - 5774, - 5776, - 5778, - 5780, - 5782, - 5784, - 5786, - 5788, - 5790, - 5792, - 5794, - 5796, - 5798, - 5800, - 5802, - 5804, - 5806, - 5808, - 5810, - 5812, - 5814, - 5816, - 5818, - 5820, - 5822, - 5824, - 5826, - 5828, - 5830, - 5832, - 5834, - 5847, - 5860, - 5873, - 5886, - 5899, - 5912, - 5925, - 5938, - 5951, - 5964, - 5977, - 5990, - 6003, - 6016, - 6029, - 6042, - 6055, - 6056, - 6057, - 6058, - 6059, - 6060, - 6061, - 6062, - 6063, - 6064, - 6065, - 6066, - 6067, - 6068, - 6069, - 6070, - 6071, - 6072, - 6075, - 6078, - 6081, - 6084, - 6087, - 6090, - 6093, - 6096, - 6099, - 6102, - 6105, - 6108, - 6111, - 6114, - 6117, - 6120, - 6123, - 6159, - 6161, - 6163, - 6165, - 6167, - 6169, - 6171, - 6173, - 6175, - 6177, - 6179, - 6181, - 6183, - 6185, - 6187, - 6189, - 6191, - 6193, - 6195, - 6197, - 6199, - 6201, - 6203, - 6205, - 6207, - 6209, - 6211, - 6213, - 6215, - 6217, - 6219, - 6221, - 6223, - 6225, - 6227, - 6229, - 6231, - 6233, - 6235, - 6237, - 6239, - 6241, - 6243, - 6245, - 6247, - 6249, - 6251, - 6253, - 6255, - 6257, - 6259, - 6267, - 6275, - 6283, - 6291, - 6299, - 6307, - 6315, - 6323, - 6331, - 6339, - 6347, - 6355, - 6363, - 6371, - 6379, - 6387, - 6395, - 6396, - 6397, - 6398, - 6399, - 6400, - 6401, - 6402, - 6403, - 6404, - 6405, - 6406, - 6407, - 6408, - 6409, - 6410, - 6411, - 6412, - 6415, - 6418, - 6421, - 6424, - 6427, - 6430, - 6433, - 6436, - 6439, - 6442, - 6445, - 6448, - 6451, - 6454, - 6457, - 6460, - 6463, - 6499, - 6501, - 6503, - 6505, - 6507, - 6509, - 6511, - 6513, - 6515, - 6517, - 6519, - 6521, - 6523, - 6525, - 6527, - 6529, - 6531, - 6533, - 6535, - 6537, - 6539, - 6541, - 6543, - 6545, - 6547, - 6549, - 6551, - 6553, - 6555, - 6557, - 6559, - 6561, - 6563, - 6565, - 6567, - 6569, - 6571, - 6573, - 6575, - 6577, - 6579, - 6581, - 6583, - 6585, - 6587, - 6589, - 6591, - 6593, - 6595, - 6597, - 6599, - 6601, - 6603, - 6605, - 6607, - 6609, - 6611, - 6613, - 6615, - 6617, - 6619, - 6621, - 6623, - 6625, - 6627, - 6629, - 6631, - 6634, - 6637, - 6640, - 6643, - 6646, - 6649, - 6652, - 6655, - 6658, - 6661, - 6664, - 6667, - 6670, - 6673, - 6676, - 6679, - 6682, - 6718, - 6720, - 6722, - 6724, - 6726, - 6728, - 6730, - 6732, - 6734, - 6736, - 6738, - 6740, - 6742, - 6744, - 6746, - 6748, - 6750, - 6752, - 6754, - 6756, - 6758, - 6760, - 6762, - 6764, - 6766, - 6768, - 6770, - 6772, - 6774, - 6776, - 6778, - 6780, - 6782, - 6784, - 6786, - 6788, - 6790, - 6792, - 6794, - 6796, - 6798, - 6800, - 6802, - 6804, - 6806, - 6808, - 6810, - 6812, - 6814, - 6816, - 6818, - 6821, - 6824, - 6827, - 6830, - 6833, - 6836, - 6839, - 6842, - 6845, - 6848, - 6851, - 6854, - 6857, - 6860, - 6863, - 6864, - 6865, - 6866, - 6867, - 6868, - 6869, - 6870, - 6871, - 6872, - 6873, - 6874, - 6875, - 6876, - 6877, - 6878, - 6879, - 6880, - 6883, - 6886, - 6889, - 6892, - 6895, - 6898, - 6901, - 6904, - 6907, - 6910, - 6913, - 6916, - 6919, - 6922, - 6925, - 6928, - 6931, - 6967, - 6969, - 6971, - 6973, - 6975, - 6977, - 6979, - 6981, - 6983, - 6985, - 6987, - 6989, - 6991, - 6993, - 6995, - 6997, - 6999, - 7001, - 7003, - 7005, - 7007, - 7009, - 7011, - 7013, - 7015, - 7017, - 7019, - 7021, - 7023, - 7025, - 7027, - 7029, - 7031, - 7033, - 7035, - 7037, - 7039, - 7041, - 7043, - 7045, - 7047, - 7049, - 7051, - 7053, - 7055, - 7057, - 7059, - 7061, - 7063, - 7065, - 7067, - 7081, - 7095, - 7109, - 7123, - 7137, - 7151, - 7165, - 7179, - 7193, - 7207, - 7221, - 7235, - 7249, - 7263, - 7277, - 7291, - 7305, - 7306, - 7307, - 7308, - 7309, - 7310, - 7311, - 7312, - 7313, - 7314, - 7315, - 7316, - 7317, - 7318, - 7319, - 7320, - 7321, - 7322, - 7324, - 7326, - 7328, - 7330, - 7332, - 7334, - 7336, - 7338, - 7340, - 7342, - 7344, - 7346, - 7348, - 7350, - 7352, - 7354, - 7357, - 7360, - 7363, - 7366, - 7369, - 7372, - 7375, - 7378, - 7381, - 7384, - 7387, - 7390, - 7393, - 7396, - 7399, - 7402, - 7405, - 7441, - 7443, - 7445, - 7447, - 7449, - 7451, - 7453, - 7455, - 7457, - 7459, - 7461, - 7463, - 7465, - 7467, - 7469, - 7471, - 7473, - 7475, - 7477, - 7479, - 7481, - 7483, - 7485, - 7487, - 7489, - 7491, - 7493, - 7495, - 7497, - 7499, - 7501, - 7503, - 7505, - 7507, - 7509, - 7511, - 7513, - 7515, - 7517, - 7519, - 7521, - 7523, - 7525, - 7527, - 7529, - 7531, - 7533, - 7535, - 7537, - 7539, - 7541, - 7544, - 7547, - 7550, - 7553, - 7556, - 7559, - 7562, - 7565, - 7568, - 7571, - 7574, - 7577, - 7580, - 7583, - 7586, - 7589, - 7592, - 7628, - 7630, - 7632, - 7634, - 7636, - 7638, - 7640, - 7642, - 7644, - 7646, - 7648, - 7650, - 7652, - 7654, - 7656, - 7658, - 7660, - 7662, - 7664, - 7666, - 7668, - 7670, - 7672, - 7674, - 7676, - 7678, - 7680, - 7682, - 7684, - 7686, - 7688, - 7690, - 7692, - 7694, - 7696, - 7698, - 7700, - 7702, - 7704, - 7706, - 7708, - 7710, - 7712, - 7714, - 7716, - 7718, - 7720, - 7722, - 7724, - 7726, - 7728, - 7743, - 7758, - 7773, - 7788, - 7803, - 7818, - 7833, - 7848, - 7863, - 7878, - 7893, - 7908, - 7923, - 7938, - 7953, - 7968, - 7983, - 7984, - 7985, - 7986, - 7987, - 7988, - 7989, - 7990, - 7991, - 7992, - 7993, - 7994, - 7995, - 7996, - 7997, - 7998, - 7999, - 8000, - 8003, - 8006, - 8009, - 8012, - 8015, - 8018, - 8021, - 8024, - 8027, - 8030, - 8033, - 8036, - 8039, - 8042, - 8045, - 8048, - 8051, - 8087, - 8089, - 8091, - 8093, - 8095, - 8097, - 8099, - 8101, - 8103, - 8105, - 8107, - 8109, - 8111, - 8113, - 8115, - 8117, - 8119, - 8121, - 8123, - 8125, - 8127, - 8129, - 8131, - 8133, - 8135, - 8137, - 8139, - 8141, - 8143, - 8145, - 8147, - 8149, - 8151, - 8153, - 8155, - 8157, - 8159, - 8161, - 8163, - 8165, - 8167, - 8169, - 8171, - 8173, - 8175, - 8177, - 8179, - 8181, - 8183, - 8185, - 8187, - 8189, - 8191, - 8193, - 8195, - 8197, - 8199, - 8201, - 8203, - 8205, - 8207, - 8209, - 8211, - 8213, - 8215, - 8217, - 8219, - 8221, - 8223, - 8225, - 8227, - 8229, - 8231, - 8233, - 8235, - 8237, - 8239, - 8241, - 8243, - 8245, - 8247, - 8249, - 8251, - 8253, - 8255, - 8257, - 8259, - 8261, - 8263, - 8265, - 8267, - 8269, - 8271, - 8273, - 8275, - 8277, - 8279, - 8281, - 8283, - 8285, - 8287, - 8289, - 8291, - 8293, - 8295, - 8297, - 8299, - 8301, - 8303, - 8305, - 8307, - 8309, - 8311, - 8313, - 8315, - 8317, - 8319, - 8321, - 8323, - 8325, - 8327, - 8329, - 8331, - 8333, - 8335, - 8337, - 8339, - 8341, - 8343, - 8345, - 8347, - 8349, - 8351, - 8353, - 8355, - 8357, - 8359, - 8361, - 8363, - 8365, - 8367, - 8369, - 8371, - 8373, - 8375, - 8377, - 8379, - 8381, - 8383, - 8385, - 8387, - 8389, - 8391, - 8393, - 8395, - 8397, - 8399, - 8401, - 8403, - 8405, - 8407, - 8409, - 8411, - 8413, - 8415, - 8417, - 8419, - 8421, - 8423, - 8425, - 8427, - 8429, - 8431, - 8433, - 8435, - 8437, - 8439, - 8441, - 8443, - 8445, - 8447, - 8449, - 8451, - 8453, - 8455, - 8457, - 8459, - 8461, - 8463, - 8465, - 8467, - 8469, - 8471, - 8473, - 8475, - 8477, - 8479, - 8481, - 8483, - 8485, - 8487, - 8489, - 8491, - 8493, - 8509, - 8525, - 8541, - 8557, - 8573, - 8589, - 8605, - 8621, - 8637, - 8653, - 8669, - 8685, - 8701, - 8717, - 8733, - 8749, - 8765, - 8766, - 8767, - 8768, - 8769, - 8770, - 8771, - 8772, - 8773, - 8774, - 8775, - 8776, - 8777, - 8778, - 8779, - 8780, - 8781, - 8782, - 8785, - 8788, - 8791, - 8794, - 8797, - 8800, - 8803, - 8806, - 8809, - 8812, - 8815, - 8818, - 8821, - 8824, - 8827, - 8830, - 8833, - 8869, - 8871, - 8873, - 8875, - 8877, - 8879, - 8881, - 8883, - 8885, - 8887, - 8889, - 8891, - 8893, - 8895, - 8897, - 8899, - 8901, - 8903, - 8905, - 8907, - 8909, - 8911, - 8913, - 8915, - 8917, - 8919, - 8921, - 8923, - 8925, - 8927, - 8929, - 8931, - 8933, - 8935, - 8937, - 8939, - 8941, - 8943, - 8945, - 8947, - 8949, - 8951, - 8953, - 8955, - 8957, - 8959, - 8961, - 8963, - 8965, - 8967, - 8969, - 8971, - 8973, - 8975, - 8977, - 8979, - 8981, - 8983, - 8985, - 8987, - 8989, - 8991, - 8993, - 8995, - 8997, - 8999, - 9001, - 9003, - 9004, - 9005, - 9006, - 9007, - 9008, - 9009, - 9010, - 9011, - 9012, - 9013, - 9014, - 9015, - 9016, - 9017, - 9018, - 9019, - 9020, - 9023, - 9026, - 9029, - 9032, - 9035, - 9038, - 9041, - 9044, - 9047, - 9050, - 9053, - 9056, - 9059, - 9062, - 9065, - 9068, - 9071, - 9106, - 9107, - 9108, - 9109, - 9110, - 9111, - 9112, - 9113, - 9114, - 9115, - 9116, - 9117, - 9118, - 9119, - 9120, - 9121, - 9122, - 9124, - 9126, - 9128, - 9130, - 9132, - 9134, - 9136, - 9138, - 9140, - 9142, - 9144, - 9146, - 9148, - 9150, - 9152, - 9154, - 9156, - 9192, - 9194, - 9196, - 9198, - 9200, - 9202, - 9204, - 9206, - 9208, - 9210, - 9212, - 9214, - 9216, - 9218, - 9220, - 9222, - 9224, - 9226, - 9228, - 9230, - 9232, - 9234, - 9236, - 9238, - 9240, - 9242, - 9244, - 9246, - 9248, - 9250, - 9252, - 9254, - 9256, - 9292, - 9294, - 9296, - 9298, - 9300, - 9302, - 9304, - 9306, - 9308, - 9310, - 9312, - 9314, - 9316, - 9318, - 9320, - 9322, - 9358, - 9360, - 9362, - 9364, - 9366, - 9368, - 9370, - 9372, - 9374, - 9376, - 9378, - 9380, - 9382, - 9384, - 9386, - 9388, - 9390, - 9393, - 9396, - 9399, - 9402, - 9405, - 9408, - 9411, - 9414, - 9417, - 9420, - 9423, - 9426, - 9429, - 9432, - 9435, - 9472, - 9475, - 9478, - 9481, - 9484, - 9487, - 9490, - 9493, - 9496, - 9499, - 9502, - 9505, - 9508, - 9511, - 9514, - 25, - 96, - 167, - 238, - 309, - 380, - 451, - 522, - 593, - 664, - 735, - 806, - 877, - 948, - 1019, - 1090, - 1161, - 3116, - 9549, - 9550, - 9551, - 9552, - 9553, - 9554, - 9555, - 9556, - 9557, - 9558, - 9559, - 9560, - 9561, - 9562, - 9563, - 9564], var_dist_options: { COMPONENT: { matrix: [{vector: [100000, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, diff --git a/tests/perf/curator/config.js b/tests/perf/curator/config.js index 58f7b88..10f25a1 100644 --- a/tests/perf/curator/config.js +++ b/tests/perf/curator/config.js @@ -25,7 +25,6 @@ var config = module.exports = { next_var_func: 'naive', next_value_func: 'min', targetedVars: ['_ROOT_BRANCH_', 'COMPONENT', 'COMPONENT_START', 'COMPONENT_END', 'ITEM', 'verse-val($item-capacity)&col=0&count=0', 'verse-val($item-capacity)&col=0&count=1', 'verse-val($item-capacity)&col=0&count=2', 'verse-val($item-capacity)&col=0&count=3', 'verse-val($item-capacity)&col=0&count=4', 'verse-val($item-capacity)&col=0&count=5', 'verse-val($item-capacity)&col=0&count=6', 'verse-val($item-capacity)&col=0&count=7', 'verse-val($item-capacity)&col=0&count=8', 'verse-val($item-capacity)&col=0&count=9', 'verse-val($item-capacity)&col=0&count=10', 'verse-val($item-capacity)&col=0&count=11', 'verse-val($item-capacity)&col=0&count=12', 'verse-val($item-capacity)&col=0&count=13', 'verse-val($item-capacity)&col=0&count=14', 'verse-val($item-capacity)&col=0&count=15', 'verse-val($item-capacity)&col=0&count=16', 'verse-val($item-capacity)&col=0&count=17', 'verse-val($item-capacity)&col=0&count=18', 'verse-val($item-capacity)&col=0&count=19', 'verse-val($item-capacity)&col=0&count=20', 'verse-val($item-capacity)&col=0&count=21', 'verse-val($item-capacity)&col=0&count=22', 'verse-val($item-capacity)&col=0&count=23', 'verse-val($item-capacity)&col=0&count=24', 'verse-val($item-capacity)&col=0&count=25', 'verse-val($item-capacity)&col=0&count=26', 'verse-val($item-capacity)&col=0&count=27', 'verse-val($item-capacity)&col=0&count=28', 'verse-val($item-capacity)&col=0&count=29', 'verse-val($item-capacity)&col=0&count=30', 'verse-val($item-capacity)&col=0&count=31', 'verse-val($item-capacity)&col=0&count=32', 'verse-val($item-capacity)&col=0&count=33', 'verse-val($item-capacity)&col=0&count=34', 'verse-val($item-capacity)&col=0&count=35', 'verse-val($item-capacity)&col=0&count=36', 'verse-val($item-capacity)&col=0&count=37', 'verse-val($item-capacity)&col=0&count=38', 'verse-val($item-capacity)&col=0&count=39', 'verse-val($item-capacity)&col=0&count=40', 'ITEM', 'COMPONENT', 'COMPONENT_START', 'COMPONENT_END', 'SECTION', 'inlets', 'inlets&n=1', 'inlets&n=2', 'inlets&n=3', 'inlets&n=4', 'inlets&n=5', 'inlets&n=6', 'inlets&n=7', 'inlets&n=8', 'inlets&n=9', 'inlets&n=10', 'inlets&n=11', 'inlets&n=12', 'inlets&n=13', 'inlets&n=14', 'inlets&n=15', 'inlets&n=16', 'inlets&n=17', 'inlets&n=18', 'inlets&n=19', 'inlets&n=20', 'inlets&n=21', 'inlets&n=22', 'inlets&n=23', 'inlets&n=24', 'inlets&n=25', 'inlets&n=26', 'inlets&n=27', 'inlets&n=28', 'inlets&n=29', 'inlets&n=30', 'inlets&n=31', 'inlets&n=32', 'inlets&n=33', 'inlets&n=34', 'inlets&n=35', 'inlets&n=36', 'inlets&n=37', 'inlets&n=38', 'inlets&n=39', 'inlets&n=40', 'COMPONENT&n=1', 'COMPONENT_START&n=1', 'COMPONENT_END&n=1', 'ITEM&n=1', 'verse-val($item-capacity)&col=1&count=0', 'verse-val($item-capacity)&col=1&count=1', 'verse-val($item-capacity)&col=1&count=2', 'verse-val($item-capacity)&col=1&count=3', 'verse-val($item-capacity)&col=1&count=4', 'verse-val($item-capacity)&col=1&count=5', 'verse-val($item-capacity)&col=1&count=6', 'verse-val($item-capacity)&col=1&count=7', 'verse-val($item-capacity)&col=1&count=8', 'verse-val($item-capacity)&col=1&count=9', 'verse-val($item-capacity)&col=1&count=10', 'verse-val($item-capacity)&col=1&count=11', 'verse-val($item-capacity)&col=1&count=12', 'verse-val($item-capacity)&col=1&count=13', 'verse-val($item-capacity)&col=1&count=14', 'verse-val($item-capacity)&col=1&count=15', 'verse-val($item-capacity)&col=1&count=16', 'verse-val($item-capacity)&col=1&count=17', 'verse-val($item-capacity)&col=1&count=18', 'verse-val($item-capacity)&col=1&count=19', 'verse-val($item-capacity)&col=1&count=20', 'verse-val($item-capacity)&col=1&count=21', 'verse-val($item-capacity)&col=1&count=22', 'verse-val($item-capacity)&col=1&count=23', 'verse-val($item-capacity)&col=1&count=24', 'verse-val($item-capacity)&col=1&count=25', 'verse-val($item-capacity)&col=1&count=26', 'verse-val($item-capacity)&col=1&count=27', 'verse-val($item-capacity)&col=1&count=28', 'verse-val($item-capacity)&col=1&count=29', 'verse-val($item-capacity)&col=1&count=30', 'verse-val($item-capacity)&col=1&count=31', 'verse-val($item-capacity)&col=1&count=32', 'verse-val($item-capacity)&col=1&count=33', 'verse-val($item-capacity)&col=1&count=34', 'verse-val($item-capacity)&col=1&count=35', 'verse-val($item-capacity)&col=1&count=36', 'verse-val($item-capacity)&col=1&count=37', 'verse-val($item-capacity)&col=1&count=38', 'verse-val($item-capacity)&col=1&count=39', 'verse-val($item-capacity)&col=1&count=40', 'ITEM&n=1', 'COMPONENT&n=1', 'COMPONENT_START&n=1', 'COMPONENT_END&n=1', 'SECTION&n=1', 'inlets&n=41', 'inlets&n=42', 'inlets&n=43', 'inlets&n=44', 'inlets&n=45', 'inlets&n=46', 'inlets&n=47', 'inlets&n=48', 'inlets&n=49', 'inlets&n=50', 'inlets&n=51', 'inlets&n=52', 'inlets&n=53', 'inlets&n=54', 'inlets&n=55', 'inlets&n=56', 'inlets&n=57', 'inlets&n=58', 'inlets&n=59', 'inlets&n=60', 'inlets&n=61', 'inlets&n=62', 'inlets&n=63', 'inlets&n=64', 'inlets&n=65', 'inlets&n=66', 'inlets&n=67', 'inlets&n=68', 'inlets&n=69', 'inlets&n=70', 'inlets&n=71', 'inlets&n=72', 'inlets&n=73', 'inlets&n=74', 'inlets&n=75', 'inlets&n=76', 'inlets&n=77', 'inlets&n=78', 'inlets&n=79', 'inlets&n=80', 'inlets&n=81', 'COMPONENT&n=2', 'COMPONENT_START&n=2', 'COMPONENT_END&n=2', 'ITEM&n=2', 'verse-val($item-capacity)&col=2&count=0', 'verse-val($item-capacity)&col=2&count=1', 'verse-val($item-capacity)&col=2&count=2', 'verse-val($item-capacity)&col=2&count=3', 'verse-val($item-capacity)&col=2&count=4', 'verse-val($item-capacity)&col=2&count=5', 'verse-val($item-capacity)&col=2&count=6', 'verse-val($item-capacity)&col=2&count=7', 'verse-val($item-capacity)&col=2&count=8', 'verse-val($item-capacity)&col=2&count=9', 'verse-val($item-capacity)&col=2&count=10', 'verse-val($item-capacity)&col=2&count=11', 'verse-val($item-capacity)&col=2&count=12', 'verse-val($item-capacity)&col=2&count=13', 'verse-val($item-capacity)&col=2&count=14', 'verse-val($item-capacity)&col=2&count=15', 'verse-val($item-capacity)&col=2&count=16', 'verse-val($item-capacity)&col=2&count=17', 'verse-val($item-capacity)&col=2&count=18', 'verse-val($item-capacity)&col=2&count=19', 'verse-val($item-capacity)&col=2&count=20', 'verse-val($item-capacity)&col=2&count=21', 'verse-val($item-capacity)&col=2&count=22', 'verse-val($item-capacity)&col=2&count=23', 'verse-val($item-capacity)&col=2&count=24', 'verse-val($item-capacity)&col=2&count=25', 'verse-val($item-capacity)&col=2&count=26', 'verse-val($item-capacity)&col=2&count=27', 'verse-val($item-capacity)&col=2&count=28', 'verse-val($item-capacity)&col=2&count=29', 'verse-val($item-capacity)&col=2&count=30', 'verse-val($item-capacity)&col=2&count=31', 'verse-val($item-capacity)&col=2&count=32', 'verse-val($item-capacity)&col=2&count=33', 'verse-val($item-capacity)&col=2&count=34', 'verse-val($item-capacity)&col=2&count=35', 'verse-val($item-capacity)&col=2&count=36', 'verse-val($item-capacity)&col=2&count=37', 'verse-val($item-capacity)&col=2&count=38', 'verse-val($item-capacity)&col=2&count=39', 'verse-val($item-capacity)&col=2&count=40', 'ITEM&n=2', 'COMPONENT&n=2', 'COMPONENT_START&n=2', 'COMPONENT_END&n=2', 'SECTION&n=2', 'inlets&n=82', 'inlets&n=83', 'inlets&n=84', 'inlets&n=85', 'inlets&n=86', 'inlets&n=87', 'inlets&n=88', 'inlets&n=89', 'inlets&n=90', 'inlets&n=91', 'inlets&n=92', 'inlets&n=93', 'inlets&n=94', 'inlets&n=95', 'inlets&n=96', 'inlets&n=97', 'inlets&n=98', 'inlets&n=99', 'inlets&n=100', 'inlets&n=101', 'inlets&n=102', 'inlets&n=103', 'inlets&n=104', 'inlets&n=105', 'inlets&n=106', 'inlets&n=107', 'inlets&n=108', 'inlets&n=109', 'inlets&n=110', 'inlets&n=111', 'inlets&n=112', 'inlets&n=113', 'inlets&n=114', 'inlets&n=115', 'inlets&n=116', 'inlets&n=117', 'inlets&n=118', 'inlets&n=119', 'inlets&n=120', 'inlets&n=121', 'inlets&n=122', 'COMPONENT&n=3', 'COMPONENT_START&n=3', 'COMPONENT_END&n=3', 'ITEM&n=3', 'verse-val($item-capacity)&col=3&count=0', 'verse-val($item-capacity)&col=3&count=1', 'verse-val($item-capacity)&col=3&count=2', 'verse-val($item-capacity)&col=3&count=3', 'verse-val($item-capacity)&col=3&count=4', 'verse-val($item-capacity)&col=3&count=5', 'verse-val($item-capacity)&col=3&count=6', 'verse-val($item-capacity)&col=3&count=7', 'verse-val($item-capacity)&col=3&count=8', 'verse-val($item-capacity)&col=3&count=9', 'verse-val($item-capacity)&col=3&count=10', 'verse-val($item-capacity)&col=3&count=11', 'verse-val($item-capacity)&col=3&count=12', 'verse-val($item-capacity)&col=3&count=13', 'verse-val($item-capacity)&col=3&count=14', 'verse-val($item-capacity)&col=3&count=15', 'verse-val($item-capacity)&col=3&count=16', 'verse-val($item-capacity)&col=3&count=17', 'verse-val($item-capacity)&col=3&count=18', 'verse-val($item-capacity)&col=3&count=19', 'verse-val($item-capacity)&col=3&count=20', 'verse-val($item-capacity)&col=3&count=21', 'verse-val($item-capacity)&col=3&count=22', 'verse-val($item-capacity)&col=3&count=23', 'verse-val($item-capacity)&col=3&count=24', 'verse-val($item-capacity)&col=3&count=25', 'verse-val($item-capacity)&col=3&count=26', 'verse-val($item-capacity)&col=3&count=27', 'verse-val($item-capacity)&col=3&count=28', 'verse-val($item-capacity)&col=3&count=29', 'verse-val($item-capacity)&col=3&count=30', 'verse-val($item-capacity)&col=3&count=31', 'verse-val($item-capacity)&col=3&count=32', 'verse-val($item-capacity)&col=3&count=33', 'verse-val($item-capacity)&col=3&count=34', 'verse-val($item-capacity)&col=3&count=35', 'verse-val($item-capacity)&col=3&count=36', 'verse-val($item-capacity)&col=3&count=37', 'verse-val($item-capacity)&col=3&count=38', 'verse-val($item-capacity)&col=3&count=39', 'verse-val($item-capacity)&col=3&count=40', 'ITEM&n=3', 'COMPONENT&n=3', 'COMPONENT_START&n=3', 'COMPONENT_END&n=3', 'SECTION&n=3', 'inlets&n=123', 'inlets&n=124', 'inlets&n=125', 'inlets&n=126', 'inlets&n=127', 'inlets&n=128', 'inlets&n=129', 'inlets&n=130', 'inlets&n=131', 'inlets&n=132', 'inlets&n=133', 'inlets&n=134', 'inlets&n=135', 'inlets&n=136', 'inlets&n=137', 'inlets&n=138', 'inlets&n=139', 'inlets&n=140', 'inlets&n=141', 'inlets&n=142', 'inlets&n=143', 'inlets&n=144', 'inlets&n=145', 'inlets&n=146', 'inlets&n=147', 'inlets&n=148', 'inlets&n=149', 'inlets&n=150', 'inlets&n=151', 'inlets&n=152', 'inlets&n=153', 'inlets&n=154', 'inlets&n=155', 'inlets&n=156', 'inlets&n=157', 'inlets&n=158', 'inlets&n=159', 'inlets&n=160', 'inlets&n=161', 'inlets&n=162', 'inlets&n=163', 'COMPONENT&n=4', 'COMPONENT_START&n=4', 'COMPONENT_END&n=4', 'ITEM&n=4', 'verse-val($item-capacity)&col=4&count=0', 'verse-val($item-capacity)&col=4&count=1', 'verse-val($item-capacity)&col=4&count=2', 'verse-val($item-capacity)&col=4&count=3', 'verse-val($item-capacity)&col=4&count=4', 'verse-val($item-capacity)&col=4&count=5', 'verse-val($item-capacity)&col=4&count=6', 'verse-val($item-capacity)&col=4&count=7', 'verse-val($item-capacity)&col=4&count=8', 'verse-val($item-capacity)&col=4&count=9', 'verse-val($item-capacity)&col=4&count=10', 'verse-val($item-capacity)&col=4&count=11', 'verse-val($item-capacity)&col=4&count=12', 'verse-val($item-capacity)&col=4&count=13', 'verse-val($item-capacity)&col=4&count=14', 'verse-val($item-capacity)&col=4&count=15', 'verse-val($item-capacity)&col=4&count=16', 'verse-val($item-capacity)&col=4&count=17', 'verse-val($item-capacity)&col=4&count=18', 'verse-val($item-capacity)&col=4&count=19', 'verse-val($item-capacity)&col=4&count=20', 'verse-val($item-capacity)&col=4&count=21', 'verse-val($item-capacity)&col=4&count=22', 'verse-val($item-capacity)&col=4&count=23', 'verse-val($item-capacity)&col=4&count=24', 'verse-val($item-capacity)&col=4&count=25', 'verse-val($item-capacity)&col=4&count=26', 'verse-val($item-capacity)&col=4&count=27', 'verse-val($item-capacity)&col=4&count=28', 'verse-val($item-capacity)&col=4&count=29', 'verse-val($item-capacity)&col=4&count=30', 'verse-val($item-capacity)&col=4&count=31', 'verse-val($item-capacity)&col=4&count=32', 'verse-val($item-capacity)&col=4&count=33', 'verse-val($item-capacity)&col=4&count=34', 'verse-val($item-capacity)&col=4&count=35', 'verse-val($item-capacity)&col=4&count=36', 'verse-val($item-capacity)&col=4&count=37', 'verse-val($item-capacity)&col=4&count=38', 'verse-val($item-capacity)&col=4&count=39', 'verse-val($item-capacity)&col=4&count=40', 'ITEM&n=4', 'COMPONENT&n=4', 'COMPONENT_START&n=4', 'COMPONENT_END&n=4', 'SECTION&n=4', 'inlets&n=164', 'inlets&n=165', 'inlets&n=166', 'inlets&n=167', 'inlets&n=168', 'inlets&n=169', 'inlets&n=170', 'inlets&n=171', 'inlets&n=172', 'inlets&n=173', 'inlets&n=174', 'inlets&n=175', 'inlets&n=176', 'inlets&n=177', 'inlets&n=178', 'inlets&n=179', 'inlets&n=180', 'inlets&n=181', 'inlets&n=182', 'inlets&n=183', 'inlets&n=184', 'inlets&n=185', 'inlets&n=186', 'inlets&n=187', 'inlets&n=188', 'inlets&n=189', 'inlets&n=190', 'inlets&n=191', 'inlets&n=192', 'inlets&n=193', 'inlets&n=194', 'inlets&n=195', 'inlets&n=196', 'inlets&n=197', 'inlets&n=198', 'inlets&n=199', 'inlets&n=200', 'inlets&n=201', 'inlets&n=202', 'inlets&n=203', 'inlets&n=204', 'COMPONENT&n=5', 'COMPONENT_START&n=5', 'COMPONENT_END&n=5', 'ITEM&n=5', 'verse-val($item-capacity)&col=5&count=0', 'verse-val($item-capacity)&col=5&count=1', 'verse-val($item-capacity)&col=5&count=2', 'verse-val($item-capacity)&col=5&count=3', 'verse-val($item-capacity)&col=5&count=4', 'verse-val($item-capacity)&col=5&count=5', 'verse-val($item-capacity)&col=5&count=6', 'verse-val($item-capacity)&col=5&count=7', 'verse-val($item-capacity)&col=5&count=8', 'verse-val($item-capacity)&col=5&count=9', 'verse-val($item-capacity)&col=5&count=10', 'verse-val($item-capacity)&col=5&count=11', 'verse-val($item-capacity)&col=5&count=12', 'verse-val($item-capacity)&col=5&count=13', 'verse-val($item-capacity)&col=5&count=14', 'verse-val($item-capacity)&col=5&count=15', 'verse-val($item-capacity)&col=5&count=16', 'verse-val($item-capacity)&col=5&count=17', 'verse-val($item-capacity)&col=5&count=18', 'verse-val($item-capacity)&col=5&count=19', 'verse-val($item-capacity)&col=5&count=20', 'verse-val($item-capacity)&col=5&count=21', 'verse-val($item-capacity)&col=5&count=22', 'verse-val($item-capacity)&col=5&count=23', 'verse-val($item-capacity)&col=5&count=24', 'verse-val($item-capacity)&col=5&count=25', 'verse-val($item-capacity)&col=5&count=26', 'verse-val($item-capacity)&col=5&count=27', 'verse-val($item-capacity)&col=5&count=28', 'verse-val($item-capacity)&col=5&count=29', 'verse-val($item-capacity)&col=5&count=30', 'verse-val($item-capacity)&col=5&count=31', 'verse-val($item-capacity)&col=5&count=32', 'verse-val($item-capacity)&col=5&count=33', 'verse-val($item-capacity)&col=5&count=34', 'verse-val($item-capacity)&col=5&count=35', 'verse-val($item-capacity)&col=5&count=36', 'verse-val($item-capacity)&col=5&count=37', 'verse-val($item-capacity)&col=5&count=38', 'verse-val($item-capacity)&col=5&count=39', 'verse-val($item-capacity)&col=5&count=40', 'ITEM&n=5', 'COMPONENT&n=5', 'COMPONENT_START&n=5', 'COMPONENT_END&n=5', 'SECTION&n=5', 'inlets&n=205', 'inlets&n=206', 'inlets&n=207', 'inlets&n=208', 'inlets&n=209', 'inlets&n=210', 'inlets&n=211', 'inlets&n=212', 'inlets&n=213', 'inlets&n=214', 'inlets&n=215', 'inlets&n=216', 'inlets&n=217', 'inlets&n=218', 'inlets&n=219', 'inlets&n=220', 'inlets&n=221', 'inlets&n=222', 'inlets&n=223', 'inlets&n=224', 'inlets&n=225', 'inlets&n=226', 'inlets&n=227', 'inlets&n=228', 'inlets&n=229', 'inlets&n=230', 'inlets&n=231', 'inlets&n=232', 'inlets&n=233', 'inlets&n=234', 'inlets&n=235', 'inlets&n=236', 'inlets&n=237', 'inlets&n=238', 'inlets&n=239', 'inlets&n=240', 'inlets&n=241', 'inlets&n=242', 'inlets&n=243', 'inlets&n=244', 'inlets&n=245', 'COMPONENT&n=6', 'COMPONENT_START&n=6', 'COMPONENT_END&n=6', 'ITEM&n=6', 'verse-val($item-capacity)&col=6&count=0', 'verse-val($item-capacity)&col=6&count=1', 'verse-val($item-capacity)&col=6&count=2', 'verse-val($item-capacity)&col=6&count=3', 'verse-val($item-capacity)&col=6&count=4', 'verse-val($item-capacity)&col=6&count=5', 'verse-val($item-capacity)&col=6&count=6', 'verse-val($item-capacity)&col=6&count=7', 'verse-val($item-capacity)&col=6&count=8', 'verse-val($item-capacity)&col=6&count=9', 'verse-val($item-capacity)&col=6&count=10', 'verse-val($item-capacity)&col=6&count=11', 'verse-val($item-capacity)&col=6&count=12', 'verse-val($item-capacity)&col=6&count=13', 'verse-val($item-capacity)&col=6&count=14', 'verse-val($item-capacity)&col=6&count=15', 'verse-val($item-capacity)&col=6&count=16', 'verse-val($item-capacity)&col=6&count=17', 'verse-val($item-capacity)&col=6&count=18', 'verse-val($item-capacity)&col=6&count=19', 'verse-val($item-capacity)&col=6&count=20', 'verse-val($item-capacity)&col=6&count=21', 'verse-val($item-capacity)&col=6&count=22', 'verse-val($item-capacity)&col=6&count=23', 'verse-val($item-capacity)&col=6&count=24', 'verse-val($item-capacity)&col=6&count=25', 'verse-val($item-capacity)&col=6&count=26', 'verse-val($item-capacity)&col=6&count=27', 'verse-val($item-capacity)&col=6&count=28', 'verse-val($item-capacity)&col=6&count=29', 'verse-val($item-capacity)&col=6&count=30', 'verse-val($item-capacity)&col=6&count=31', 'verse-val($item-capacity)&col=6&count=32', 'verse-val($item-capacity)&col=6&count=33', 'verse-val($item-capacity)&col=6&count=34', 'verse-val($item-capacity)&col=6&count=35', 'verse-val($item-capacity)&col=6&count=36', 'verse-val($item-capacity)&col=6&count=37', 'verse-val($item-capacity)&col=6&count=38', 'verse-val($item-capacity)&col=6&count=39', 'verse-val($item-capacity)&col=6&count=40', 'ITEM&n=6', 'COMPONENT&n=6', 'COMPONENT_START&n=6', 'COMPONENT_END&n=6', 'SECTION&n=6', 'inlets&n=246', 'inlets&n=247', 'inlets&n=248', 'inlets&n=249', 'inlets&n=250', 'inlets&n=251', 'inlets&n=252', 'inlets&n=253', 'inlets&n=254', 'inlets&n=255', 'inlets&n=256', 'inlets&n=257', 'inlets&n=258', 'inlets&n=259', 'inlets&n=260', 'inlets&n=261', 'inlets&n=262', 'inlets&n=263', 'inlets&n=264', 'inlets&n=265', 'inlets&n=266', 'inlets&n=267', 'inlets&n=268', 'inlets&n=269', 'inlets&n=270', 'inlets&n=271', 'inlets&n=272', 'inlets&n=273', 'inlets&n=274', 'inlets&n=275', 'inlets&n=276', 'inlets&n=277', 'inlets&n=278', 'inlets&n=279', 'inlets&n=280', 'inlets&n=281', 'inlets&n=282', 'inlets&n=283', 'inlets&n=284', 'inlets&n=285', 'inlets&n=286', 'COMPONENT&n=7', 'COMPONENT_START&n=7', 'COMPONENT_END&n=7', 'ITEM&n=7', 'verse-val($item-capacity)&col=7&count=0', 'verse-val($item-capacity)&col=7&count=1', 'verse-val($item-capacity)&col=7&count=2', 'verse-val($item-capacity)&col=7&count=3', 'verse-val($item-capacity)&col=7&count=4', 'verse-val($item-capacity)&col=7&count=5', 'verse-val($item-capacity)&col=7&count=6', 'verse-val($item-capacity)&col=7&count=7', 'verse-val($item-capacity)&col=7&count=8', 'verse-val($item-capacity)&col=7&count=9', 'verse-val($item-capacity)&col=7&count=10', 'verse-val($item-capacity)&col=7&count=11', 'verse-val($item-capacity)&col=7&count=12', 'verse-val($item-capacity)&col=7&count=13', 'verse-val($item-capacity)&col=7&count=14', 'verse-val($item-capacity)&col=7&count=15', 'verse-val($item-capacity)&col=7&count=16', 'verse-val($item-capacity)&col=7&count=17', 'verse-val($item-capacity)&col=7&count=18', 'verse-val($item-capacity)&col=7&count=19', 'verse-val($item-capacity)&col=7&count=20', 'verse-val($item-capacity)&col=7&count=21', 'verse-val($item-capacity)&col=7&count=22', 'verse-val($item-capacity)&col=7&count=23', 'verse-val($item-capacity)&col=7&count=24', 'verse-val($item-capacity)&col=7&count=25', 'verse-val($item-capacity)&col=7&count=26', 'verse-val($item-capacity)&col=7&count=27', 'verse-val($item-capacity)&col=7&count=28', 'verse-val($item-capacity)&col=7&count=29', 'verse-val($item-capacity)&col=7&count=30', 'verse-val($item-capacity)&col=7&count=31', 'verse-val($item-capacity)&col=7&count=32', 'verse-val($item-capacity)&col=7&count=33', 'verse-val($item-capacity)&col=7&count=34', 'verse-val($item-capacity)&col=7&count=35', 'verse-val($item-capacity)&col=7&count=36', 'verse-val($item-capacity)&col=7&count=37', 'verse-val($item-capacity)&col=7&count=38', 'verse-val($item-capacity)&col=7&count=39', 'verse-val($item-capacity)&col=7&count=40', 'ITEM&n=7', 'COMPONENT&n=7', 'COMPONENT_START&n=7', 'COMPONENT_END&n=7', 'SECTION&n=7', 'inlets&n=287', 'inlets&n=288', 'inlets&n=289', 'inlets&n=290', 'inlets&n=291', 'inlets&n=292', 'inlets&n=293', 'inlets&n=294', 'inlets&n=295', 'inlets&n=296', 'inlets&n=297', 'inlets&n=298', 'inlets&n=299', 'inlets&n=300', 'inlets&n=301', 'inlets&n=302', 'inlets&n=303', 'inlets&n=304', 'inlets&n=305', 'inlets&n=306', 'inlets&n=307', 'inlets&n=308', 'inlets&n=309', 'inlets&n=310', 'inlets&n=311', 'inlets&n=312', 'inlets&n=313', 'inlets&n=314', 'inlets&n=315', 'inlets&n=316', 'inlets&n=317', 'inlets&n=318', 'inlets&n=319', 'inlets&n=320', 'inlets&n=321', 'inlets&n=322', 'inlets&n=323', 'inlets&n=324', 'inlets&n=325', 'inlets&n=326', 'inlets&n=327', 'COMPONENT&n=8', 'COMPONENT_START&n=8', 'COMPONENT_END&n=8', 'ITEM&n=8', 'verse-val($item-capacity)&col=8&count=0', 'verse-val($item-capacity)&col=8&count=1', 'verse-val($item-capacity)&col=8&count=2', 'verse-val($item-capacity)&col=8&count=3', 'verse-val($item-capacity)&col=8&count=4', 'verse-val($item-capacity)&col=8&count=5', 'verse-val($item-capacity)&col=8&count=6', 'verse-val($item-capacity)&col=8&count=7', 'verse-val($item-capacity)&col=8&count=8', 'verse-val($item-capacity)&col=8&count=9', 'verse-val($item-capacity)&col=8&count=10', 'verse-val($item-capacity)&col=8&count=11', 'verse-val($item-capacity)&col=8&count=12', 'verse-val($item-capacity)&col=8&count=13', 'verse-val($item-capacity)&col=8&count=14', 'verse-val($item-capacity)&col=8&count=15', 'verse-val($item-capacity)&col=8&count=16', 'verse-val($item-capacity)&col=8&count=17', 'verse-val($item-capacity)&col=8&count=18', 'verse-val($item-capacity)&col=8&count=19', 'verse-val($item-capacity)&col=8&count=20', 'verse-val($item-capacity)&col=8&count=21', 'verse-val($item-capacity)&col=8&count=22', 'verse-val($item-capacity)&col=8&count=23', 'verse-val($item-capacity)&col=8&count=24', 'verse-val($item-capacity)&col=8&count=25', 'verse-val($item-capacity)&col=8&count=26', 'verse-val($item-capacity)&col=8&count=27', 'verse-val($item-capacity)&col=8&count=28', 'verse-val($item-capacity)&col=8&count=29', 'verse-val($item-capacity)&col=8&count=30', 'verse-val($item-capacity)&col=8&count=31', 'verse-val($item-capacity)&col=8&count=32', 'verse-val($item-capacity)&col=8&count=33', 'verse-val($item-capacity)&col=8&count=34', 'verse-val($item-capacity)&col=8&count=35', 'verse-val($item-capacity)&col=8&count=36', 'verse-val($item-capacity)&col=8&count=37', 'verse-val($item-capacity)&col=8&count=38', 'verse-val($item-capacity)&col=8&count=39', 'verse-val($item-capacity)&col=8&count=40', 'ITEM&n=8', 'COMPONENT&n=8', 'COMPONENT_START&n=8', 'COMPONENT_END&n=8', 'SECTION&n=8', 'inlets&n=328', 'inlets&n=329', 'inlets&n=330', 'inlets&n=331', 'inlets&n=332', 'inlets&n=333', 'inlets&n=334', 'inlets&n=335', 'inlets&n=336', 'inlets&n=337', 'inlets&n=338', 'inlets&n=339', 'inlets&n=340', 'inlets&n=341', 'inlets&n=342', 'inlets&n=343', 'inlets&n=344', 'inlets&n=345', 'inlets&n=346', 'inlets&n=347', 'inlets&n=348', 'inlets&n=349', 'inlets&n=350', 'inlets&n=351', 'inlets&n=352', 'inlets&n=353', 'inlets&n=354', 'inlets&n=355', 'inlets&n=356', 'inlets&n=357', 'inlets&n=358', 'inlets&n=359', 'inlets&n=360', 'inlets&n=361', 'inlets&n=362', 'inlets&n=363', 'inlets&n=364', 'inlets&n=365', 'inlets&n=366', 'inlets&n=367', 'inlets&n=368', 'COMPONENT&n=9', 'COMPONENT_START&n=9', 'COMPONENT_END&n=9', 'ITEM&n=9', 'verse-val($item-capacity)&col=9&count=0', 'verse-val($item-capacity)&col=9&count=1', 'verse-val($item-capacity)&col=9&count=2', 'verse-val($item-capacity)&col=9&count=3', 'verse-val($item-capacity)&col=9&count=4', 'verse-val($item-capacity)&col=9&count=5', 'verse-val($item-capacity)&col=9&count=6', 'verse-val($item-capacity)&col=9&count=7', 'verse-val($item-capacity)&col=9&count=8', 'verse-val($item-capacity)&col=9&count=9', 'verse-val($item-capacity)&col=9&count=10', 'verse-val($item-capacity)&col=9&count=11', 'verse-val($item-capacity)&col=9&count=12', 'verse-val($item-capacity)&col=9&count=13', 'verse-val($item-capacity)&col=9&count=14', 'verse-val($item-capacity)&col=9&count=15', 'verse-val($item-capacity)&col=9&count=16', 'verse-val($item-capacity)&col=9&count=17', 'verse-val($item-capacity)&col=9&count=18', 'verse-val($item-capacity)&col=9&count=19', 'verse-val($item-capacity)&col=9&count=20', 'verse-val($item-capacity)&col=9&count=21', 'verse-val($item-capacity)&col=9&count=22', 'verse-val($item-capacity)&col=9&count=23', 'verse-val($item-capacity)&col=9&count=24', 'verse-val($item-capacity)&col=9&count=25', 'verse-val($item-capacity)&col=9&count=26', 'verse-val($item-capacity)&col=9&count=27', 'verse-val($item-capacity)&col=9&count=28', 'verse-val($item-capacity)&col=9&count=29', 'verse-val($item-capacity)&col=9&count=30', 'verse-val($item-capacity)&col=9&count=31', 'verse-val($item-capacity)&col=9&count=32', 'verse-val($item-capacity)&col=9&count=33', 'verse-val($item-capacity)&col=9&count=34', 'verse-val($item-capacity)&col=9&count=35', 'verse-val($item-capacity)&col=9&count=36', 'verse-val($item-capacity)&col=9&count=37', 'verse-val($item-capacity)&col=9&count=38', 'verse-val($item-capacity)&col=9&count=39', 'verse-val($item-capacity)&col=9&count=40', 'ITEM&n=9', 'COMPONENT&n=9', 'COMPONENT_START&n=9', 'COMPONENT_END&n=9', 'SECTION&n=9', 'inlets&n=369', 'inlets&n=370', 'inlets&n=371', 'inlets&n=372', 'inlets&n=373', 'inlets&n=374', 'inlets&n=375', 'inlets&n=376', 'inlets&n=377', 'inlets&n=378', 'inlets&n=379', 'inlets&n=380', 'inlets&n=381', 'inlets&n=382', 'inlets&n=383', 'inlets&n=384', 'inlets&n=385', 'inlets&n=386', 'inlets&n=387', 'inlets&n=388', 'inlets&n=389', 'inlets&n=390', 'inlets&n=391', 'inlets&n=392', 'inlets&n=393', 'inlets&n=394', 'inlets&n=395', 'inlets&n=396', 'inlets&n=397', 'inlets&n=398', 'inlets&n=399', 'inlets&n=400', 'inlets&n=401', 'inlets&n=402', 'inlets&n=403', 'inlets&n=404', 'inlets&n=405', 'inlets&n=406', 'inlets&n=407', 'inlets&n=408', 'inlets&n=409', 'COMPONENT&n=10', 'COMPONENT_START&n=10', 'COMPONENT_END&n=10', 'ITEM&n=10', 'verse-val($item-capacity)&col=10&count=0', 'verse-val($item-capacity)&col=10&count=1', 'verse-val($item-capacity)&col=10&count=2', 'verse-val($item-capacity)&col=10&count=3', 'verse-val($item-capacity)&col=10&count=4', 'verse-val($item-capacity)&col=10&count=5', 'verse-val($item-capacity)&col=10&count=6', 'verse-val($item-capacity)&col=10&count=7', 'verse-val($item-capacity)&col=10&count=8', 'verse-val($item-capacity)&col=10&count=9', 'verse-val($item-capacity)&col=10&count=10', 'verse-val($item-capacity)&col=10&count=11', 'verse-val($item-capacity)&col=10&count=12', 'verse-val($item-capacity)&col=10&count=13', 'verse-val($item-capacity)&col=10&count=14', 'verse-val($item-capacity)&col=10&count=15', 'verse-val($item-capacity)&col=10&count=16', 'verse-val($item-capacity)&col=10&count=17', 'verse-val($item-capacity)&col=10&count=18', 'verse-val($item-capacity)&col=10&count=19', 'verse-val($item-capacity)&col=10&count=20', 'verse-val($item-capacity)&col=10&count=21', 'verse-val($item-capacity)&col=10&count=22', 'verse-val($item-capacity)&col=10&count=23', 'verse-val($item-capacity)&col=10&count=24', 'verse-val($item-capacity)&col=10&count=25', 'verse-val($item-capacity)&col=10&count=26', 'verse-val($item-capacity)&col=10&count=27', 'verse-val($item-capacity)&col=10&count=28', 'verse-val($item-capacity)&col=10&count=29', 'verse-val($item-capacity)&col=10&count=30', 'verse-val($item-capacity)&col=10&count=31', 'verse-val($item-capacity)&col=10&count=32', 'verse-val($item-capacity)&col=10&count=33', 'verse-val($item-capacity)&col=10&count=34', 'verse-val($item-capacity)&col=10&count=35', 'verse-val($item-capacity)&col=10&count=36', 'verse-val($item-capacity)&col=10&count=37', 'verse-val($item-capacity)&col=10&count=38', 'verse-val($item-capacity)&col=10&count=39', 'verse-val($item-capacity)&col=10&count=40', 'ITEM&n=10', 'COMPONENT&n=10', 'COMPONENT_START&n=10', 'COMPONENT_END&n=10', 'SECTION&n=10', 'inlets&n=410', 'inlets&n=411', 'inlets&n=412', 'inlets&n=413', 'inlets&n=414', 'inlets&n=415', 'inlets&n=416', 'inlets&n=417', 'inlets&n=418', 'inlets&n=419', 'inlets&n=420', 'inlets&n=421', 'inlets&n=422', 'inlets&n=423', 'inlets&n=424', 'inlets&n=425', 'inlets&n=426', 'inlets&n=427', 'inlets&n=428', 'inlets&n=429', 'inlets&n=430', 'inlets&n=431', 'inlets&n=432', 'inlets&n=433', 'inlets&n=434', 'inlets&n=435', 'inlets&n=436', 'inlets&n=437', 'inlets&n=438', 'inlets&n=439', 'inlets&n=440', 'inlets&n=441', 'inlets&n=442', 'inlets&n=443', 'inlets&n=444', 'inlets&n=445', 'inlets&n=446', 'inlets&n=447', 'inlets&n=448', 'inlets&n=449', 'inlets&n=450', 'COMPONENT&n=11', 'COMPONENT_START&n=11', 'COMPONENT_END&n=11', 'ITEM&n=11', 'verse-val($item-capacity)&col=11&count=0', 'verse-val($item-capacity)&col=11&count=1', 'verse-val($item-capacity)&col=11&count=2', 'verse-val($item-capacity)&col=11&count=3', 'verse-val($item-capacity)&col=11&count=4', 'verse-val($item-capacity)&col=11&count=5', 'verse-val($item-capacity)&col=11&count=6', 'verse-val($item-capacity)&col=11&count=7', 'verse-val($item-capacity)&col=11&count=8', 'verse-val($item-capacity)&col=11&count=9', 'verse-val($item-capacity)&col=11&count=10', 'verse-val($item-capacity)&col=11&count=11', 'verse-val($item-capacity)&col=11&count=12', 'verse-val($item-capacity)&col=11&count=13', 'verse-val($item-capacity)&col=11&count=14', 'verse-val($item-capacity)&col=11&count=15', 'verse-val($item-capacity)&col=11&count=16', 'verse-val($item-capacity)&col=11&count=17', 'verse-val($item-capacity)&col=11&count=18', 'verse-val($item-capacity)&col=11&count=19', 'verse-val($item-capacity)&col=11&count=20', 'verse-val($item-capacity)&col=11&count=21', 'verse-val($item-capacity)&col=11&count=22', 'verse-val($item-capacity)&col=11&count=23', 'verse-val($item-capacity)&col=11&count=24', 'verse-val($item-capacity)&col=11&count=25', 'verse-val($item-capacity)&col=11&count=26', 'verse-val($item-capacity)&col=11&count=27', 'verse-val($item-capacity)&col=11&count=28', 'verse-val($item-capacity)&col=11&count=29', 'verse-val($item-capacity)&col=11&count=30', 'verse-val($item-capacity)&col=11&count=31', 'verse-val($item-capacity)&col=11&count=32', 'verse-val($item-capacity)&col=11&count=33', 'verse-val($item-capacity)&col=11&count=34', 'verse-val($item-capacity)&col=11&count=35', 'verse-val($item-capacity)&col=11&count=36', 'verse-val($item-capacity)&col=11&count=37', 'verse-val($item-capacity)&col=11&count=38', 'verse-val($item-capacity)&col=11&count=39', 'verse-val($item-capacity)&col=11&count=40', 'ITEM&n=11', 'COMPONENT&n=11', 'COMPONENT_START&n=11', 'COMPONENT_END&n=11', 'SECTION&n=11', 'inlets&n=451', 'inlets&n=452', 'inlets&n=453', 'inlets&n=454', 'inlets&n=455', 'inlets&n=456', 'inlets&n=457', 'inlets&n=458', 'inlets&n=459', 'inlets&n=460', 'inlets&n=461', 'inlets&n=462', 'inlets&n=463', 'inlets&n=464', 'inlets&n=465', 'inlets&n=466', 'inlets&n=467', 'inlets&n=468', 'inlets&n=469', 'inlets&n=470', 'inlets&n=471', 'inlets&n=472', 'inlets&n=473', 'inlets&n=474', 'inlets&n=475', 'inlets&n=476', 'inlets&n=477', 'inlets&n=478', 'inlets&n=479', 'inlets&n=480', 'inlets&n=481', 'inlets&n=482', 'inlets&n=483', 'inlets&n=484', 'inlets&n=485', 'inlets&n=486', 'inlets&n=487', 'inlets&n=488', 'inlets&n=489', 'inlets&n=490', 'inlets&n=491', 'COMPONENT&n=12', 'COMPONENT_START&n=12', 'COMPONENT_END&n=12', 'ITEM&n=12', 'verse-val($item-capacity)&col=12&count=0', 'verse-val($item-capacity)&col=12&count=1', 'verse-val($item-capacity)&col=12&count=2', 'verse-val($item-capacity)&col=12&count=3', 'verse-val($item-capacity)&col=12&count=4', 'verse-val($item-capacity)&col=12&count=5', 'verse-val($item-capacity)&col=12&count=6', 'verse-val($item-capacity)&col=12&count=7', 'verse-val($item-capacity)&col=12&count=8', 'verse-val($item-capacity)&col=12&count=9', 'verse-val($item-capacity)&col=12&count=10', 'verse-val($item-capacity)&col=12&count=11', 'verse-val($item-capacity)&col=12&count=12', 'verse-val($item-capacity)&col=12&count=13', 'verse-val($item-capacity)&col=12&count=14', 'verse-val($item-capacity)&col=12&count=15', 'verse-val($item-capacity)&col=12&count=16', 'verse-val($item-capacity)&col=12&count=17', 'verse-val($item-capacity)&col=12&count=18', 'verse-val($item-capacity)&col=12&count=19', 'verse-val($item-capacity)&col=12&count=20', 'verse-val($item-capacity)&col=12&count=21', 'verse-val($item-capacity)&col=12&count=22', 'verse-val($item-capacity)&col=12&count=23', 'verse-val($item-capacity)&col=12&count=24', 'verse-val($item-capacity)&col=12&count=25', 'verse-val($item-capacity)&col=12&count=26', 'verse-val($item-capacity)&col=12&count=27', 'verse-val($item-capacity)&col=12&count=28', 'verse-val($item-capacity)&col=12&count=29', 'verse-val($item-capacity)&col=12&count=30', 'verse-val($item-capacity)&col=12&count=31', 'verse-val($item-capacity)&col=12&count=32', 'verse-val($item-capacity)&col=12&count=33', 'verse-val($item-capacity)&col=12&count=34', 'verse-val($item-capacity)&col=12&count=35', 'verse-val($item-capacity)&col=12&count=36', 'verse-val($item-capacity)&col=12&count=37', 'verse-val($item-capacity)&col=12&count=38', 'verse-val($item-capacity)&col=12&count=39', 'verse-val($item-capacity)&col=12&count=40', 'ITEM&n=12', 'COMPONENT&n=12', 'COMPONENT_START&n=12', 'COMPONENT_END&n=12', 'SECTION&n=12', 'inlets&n=492', 'inlets&n=493', 'inlets&n=494', 'inlets&n=495', 'inlets&n=496', 'inlets&n=497', 'inlets&n=498', 'inlets&n=499', 'inlets&n=500', 'inlets&n=501', 'inlets&n=502', 'inlets&n=503', 'inlets&n=504', 'inlets&n=505', 'inlets&n=506', 'inlets&n=507', 'inlets&n=508', 'inlets&n=509', 'inlets&n=510', 'inlets&n=511', 'inlets&n=512', 'inlets&n=513', 'inlets&n=514', 'inlets&n=515', 'inlets&n=516', 'inlets&n=517', 'inlets&n=518', 'inlets&n=519', 'inlets&n=520', 'inlets&n=521', 'inlets&n=522', 'inlets&n=523', 'inlets&n=524', 'inlets&n=525', 'inlets&n=526', 'inlets&n=527', 'inlets&n=528', 'inlets&n=529', 'inlets&n=530', 'inlets&n=531', 'inlets&n=532', 'COMPONENT&n=13', 'COMPONENT_START&n=13', 'COMPONENT_END&n=13', 'ITEM&n=13', 'verse-val($item-capacity)&col=13&count=0', 'verse-val($item-capacity)&col=13&count=1', 'verse-val($item-capacity)&col=13&count=2', 'verse-val($item-capacity)&col=13&count=3', 'verse-val($item-capacity)&col=13&count=4', 'verse-val($item-capacity)&col=13&count=5', 'verse-val($item-capacity)&col=13&count=6', 'verse-val($item-capacity)&col=13&count=7', 'verse-val($item-capacity)&col=13&count=8', 'verse-val($item-capacity)&col=13&count=9', 'verse-val($item-capacity)&col=13&count=10', 'verse-val($item-capacity)&col=13&count=11', 'verse-val($item-capacity)&col=13&count=12', 'verse-val($item-capacity)&col=13&count=13', 'verse-val($item-capacity)&col=13&count=14', 'verse-val($item-capacity)&col=13&count=15', 'verse-val($item-capacity)&col=13&count=16', 'verse-val($item-capacity)&col=13&count=17', 'verse-val($item-capacity)&col=13&count=18', 'verse-val($item-capacity)&col=13&count=19', 'verse-val($item-capacity)&col=13&count=20', 'verse-val($item-capacity)&col=13&count=21', 'verse-val($item-capacity)&col=13&count=22', 'verse-val($item-capacity)&col=13&count=23', 'verse-val($item-capacity)&col=13&count=24', 'verse-val($item-capacity)&col=13&count=25', 'verse-val($item-capacity)&col=13&count=26', 'verse-val($item-capacity)&col=13&count=27', 'verse-val($item-capacity)&col=13&count=28', 'verse-val($item-capacity)&col=13&count=29', 'verse-val($item-capacity)&col=13&count=30', 'verse-val($item-capacity)&col=13&count=31', 'verse-val($item-capacity)&col=13&count=32', 'verse-val($item-capacity)&col=13&count=33', 'verse-val($item-capacity)&col=13&count=34', 'verse-val($item-capacity)&col=13&count=35', 'verse-val($item-capacity)&col=13&count=36', 'verse-val($item-capacity)&col=13&count=37', 'verse-val($item-capacity)&col=13&count=38', 'verse-val($item-capacity)&col=13&count=39', 'verse-val($item-capacity)&col=13&count=40', 'ITEM&n=13', 'COMPONENT&n=13', 'COMPONENT_START&n=13', 'COMPONENT_END&n=13', 'SECTION&n=13', 'inlets&n=533', 'inlets&n=534', 'inlets&n=535', 'inlets&n=536', 'inlets&n=537', 'inlets&n=538', 'inlets&n=539', 'inlets&n=540', 'inlets&n=541', 'inlets&n=542', 'inlets&n=543', 'inlets&n=544', 'inlets&n=545', 'inlets&n=546', 'inlets&n=547', 'inlets&n=548', 'inlets&n=549', 'inlets&n=550', 'inlets&n=551', 'inlets&n=552', 'inlets&n=553', 'inlets&n=554', 'inlets&n=555', 'inlets&n=556', 'inlets&n=557', 'inlets&n=558', 'inlets&n=559', 'inlets&n=560', 'inlets&n=561', 'inlets&n=562', 'inlets&n=563', 'inlets&n=564', 'inlets&n=565', 'inlets&n=566', 'inlets&n=567', 'inlets&n=568', 'inlets&n=569', 'inlets&n=570', 'inlets&n=571', 'inlets&n=572', 'inlets&n=573', 'COMPONENT&n=14', 'COMPONENT_START&n=14', 'COMPONENT_END&n=14', 'ITEM&n=14', 'verse-val($item-capacity)&col=14&count=0', 'verse-val($item-capacity)&col=14&count=1', 'verse-val($item-capacity)&col=14&count=2', 'verse-val($item-capacity)&col=14&count=3', 'verse-val($item-capacity)&col=14&count=4', 'verse-val($item-capacity)&col=14&count=5', 'verse-val($item-capacity)&col=14&count=6', 'verse-val($item-capacity)&col=14&count=7', 'verse-val($item-capacity)&col=14&count=8', 'verse-val($item-capacity)&col=14&count=9', 'verse-val($item-capacity)&col=14&count=10', 'verse-val($item-capacity)&col=14&count=11', 'verse-val($item-capacity)&col=14&count=12', 'verse-val($item-capacity)&col=14&count=13', 'verse-val($item-capacity)&col=14&count=14', 'verse-val($item-capacity)&col=14&count=15', 'verse-val($item-capacity)&col=14&count=16', 'verse-val($item-capacity)&col=14&count=17', 'verse-val($item-capacity)&col=14&count=18', 'verse-val($item-capacity)&col=14&count=19', 'verse-val($item-capacity)&col=14&count=20', 'verse-val($item-capacity)&col=14&count=21', 'verse-val($item-capacity)&col=14&count=22', 'verse-val($item-capacity)&col=14&count=23', 'verse-val($item-capacity)&col=14&count=24', 'verse-val($item-capacity)&col=14&count=25', 'verse-val($item-capacity)&col=14&count=26', 'verse-val($item-capacity)&col=14&count=27', 'verse-val($item-capacity)&col=14&count=28', 'verse-val($item-capacity)&col=14&count=29', 'verse-val($item-capacity)&col=14&count=30', 'verse-val($item-capacity)&col=14&count=31', 'verse-val($item-capacity)&col=14&count=32', 'verse-val($item-capacity)&col=14&count=33', 'verse-val($item-capacity)&col=14&count=34', 'verse-val($item-capacity)&col=14&count=35', 'verse-val($item-capacity)&col=14&count=36', 'verse-val($item-capacity)&col=14&count=37', 'verse-val($item-capacity)&col=14&count=38', 'verse-val($item-capacity)&col=14&count=39', 'verse-val($item-capacity)&col=14&count=40', 'ITEM&n=14', 'COMPONENT&n=14', 'COMPONENT_START&n=14', 'COMPONENT_END&n=14', 'SECTION&n=14', 'inlets&n=574', 'inlets&n=575', 'inlets&n=576', 'inlets&n=577', 'inlets&n=578', 'inlets&n=579', 'inlets&n=580', 'inlets&n=581', 'inlets&n=582', 'inlets&n=583', 'inlets&n=584', 'inlets&n=585', 'inlets&n=586', 'inlets&n=587', 'inlets&n=588', 'inlets&n=589', 'inlets&n=590', 'inlets&n=591', 'inlets&n=592', 'inlets&n=593', 'inlets&n=594', 'inlets&n=595', 'inlets&n=596', 'inlets&n=597', 'inlets&n=598', 'inlets&n=599', 'inlets&n=600', 'inlets&n=601', 'inlets&n=602', 'inlets&n=603', 'inlets&n=604', 'inlets&n=605', 'inlets&n=606', 'inlets&n=607', 'inlets&n=608', 'inlets&n=609', 'inlets&n=610', 'inlets&n=611', 'inlets&n=612', 'inlets&n=613', 'inlets&n=614', 'COMPONENT&n=15', 'COMPONENT_START&n=15', 'COMPONENT_END&n=15', 'ITEM&n=15', 'verse-val($item-capacity)&col=15&count=0', 'verse-val($item-capacity)&col=15&count=1', 'verse-val($item-capacity)&col=15&count=2', 'verse-val($item-capacity)&col=15&count=3', 'verse-val($item-capacity)&col=15&count=4', 'verse-val($item-capacity)&col=15&count=5', 'verse-val($item-capacity)&col=15&count=6', 'verse-val($item-capacity)&col=15&count=7', 'verse-val($item-capacity)&col=15&count=8', 'verse-val($item-capacity)&col=15&count=9', 'verse-val($item-capacity)&col=15&count=10', 'verse-val($item-capacity)&col=15&count=11', 'verse-val($item-capacity)&col=15&count=12', 'verse-val($item-capacity)&col=15&count=13', 'verse-val($item-capacity)&col=15&count=14', 'verse-val($item-capacity)&col=15&count=15', 'verse-val($item-capacity)&col=15&count=16', 'verse-val($item-capacity)&col=15&count=17', 'verse-val($item-capacity)&col=15&count=18', 'verse-val($item-capacity)&col=15&count=19', 'verse-val($item-capacity)&col=15&count=20', 'verse-val($item-capacity)&col=15&count=21', 'verse-val($item-capacity)&col=15&count=22', 'verse-val($item-capacity)&col=15&count=23', 'verse-val($item-capacity)&col=15&count=24', 'verse-val($item-capacity)&col=15&count=25', 'verse-val($item-capacity)&col=15&count=26', 'verse-val($item-capacity)&col=15&count=27', 'verse-val($item-capacity)&col=15&count=28', 'verse-val($item-capacity)&col=15&count=29', 'verse-val($item-capacity)&col=15&count=30', 'verse-val($item-capacity)&col=15&count=31', 'verse-val($item-capacity)&col=15&count=32', 'verse-val($item-capacity)&col=15&count=33', 'verse-val($item-capacity)&col=15&count=34', 'verse-val($item-capacity)&col=15&count=35', 'verse-val($item-capacity)&col=15&count=36', 'verse-val($item-capacity)&col=15&count=37', 'verse-val($item-capacity)&col=15&count=38', 'verse-val($item-capacity)&col=15&count=39', 'verse-val($item-capacity)&col=15&count=40', 'ITEM&n=15', 'COMPONENT&n=15', 'COMPONENT_START&n=15', 'COMPONENT_END&n=15', 'SECTION&n=15', 'inlets&n=615', 'inlets&n=616', 'inlets&n=617', 'inlets&n=618', 'inlets&n=619', 'inlets&n=620', 'inlets&n=621', 'inlets&n=622', 'inlets&n=623', 'inlets&n=624', 'inlets&n=625', 'inlets&n=626', 'inlets&n=627', 'inlets&n=628', 'inlets&n=629', 'inlets&n=630', 'inlets&n=631', 'inlets&n=632', 'inlets&n=633', 'inlets&n=634', 'inlets&n=635', 'inlets&n=636', 'inlets&n=637', 'inlets&n=638', 'inlets&n=639', 'inlets&n=640', 'inlets&n=641', 'inlets&n=642', 'inlets&n=643', 'inlets&n=644', 'inlets&n=645', 'inlets&n=646', 'inlets&n=647', 'inlets&n=648', 'inlets&n=649', 'inlets&n=650', 'inlets&n=651', 'inlets&n=652', 'inlets&n=653', 'inlets&n=654', 'inlets&n=655', 'COMPONENT&n=16', 'COMPONENT_START&n=16', 'COMPONENT_END&n=16', 'ITEM&n=16', 'verse-val($item-capacity)&col=16&count=0', 'verse-val($item-capacity)&col=16&count=1', 'verse-val($item-capacity)&col=16&count=2', 'verse-val($item-capacity)&col=16&count=3', 'verse-val($item-capacity)&col=16&count=4', 'verse-val($item-capacity)&col=16&count=5', 'verse-val($item-capacity)&col=16&count=6', 'verse-val($item-capacity)&col=16&count=7', 'verse-val($item-capacity)&col=16&count=8', 'verse-val($item-capacity)&col=16&count=9', 'verse-val($item-capacity)&col=16&count=10', 'verse-val($item-capacity)&col=16&count=11', 'verse-val($item-capacity)&col=16&count=12', 'verse-val($item-capacity)&col=16&count=13', 'verse-val($item-capacity)&col=16&count=14', 'verse-val($item-capacity)&col=16&count=15', 'verse-val($item-capacity)&col=16&count=16', 'verse-val($item-capacity)&col=16&count=17', 'verse-val($item-capacity)&col=16&count=18', 'verse-val($item-capacity)&col=16&count=19', 'verse-val($item-capacity)&col=16&count=20', 'verse-val($item-capacity)&col=16&count=21', 'verse-val($item-capacity)&col=16&count=22', 'verse-val($item-capacity)&col=16&count=23', 'verse-val($item-capacity)&col=16&count=24', 'verse-val($item-capacity)&col=16&count=25', 'verse-val($item-capacity)&col=16&count=26', 'verse-val($item-capacity)&col=16&count=27', 'verse-val($item-capacity)&col=16&count=28', 'verse-val($item-capacity)&col=16&count=29', 'verse-val($item-capacity)&col=16&count=30', 'verse-val($item-capacity)&col=16&count=31', 'verse-val($item-capacity)&col=16&count=32', 'verse-val($item-capacity)&col=16&count=33', 'verse-val($item-capacity)&col=16&count=34', 'verse-val($item-capacity)&col=16&count=35', 'verse-val($item-capacity)&col=16&count=36', 'verse-val($item-capacity)&col=16&count=37', 'verse-val($item-capacity)&col=16&count=38', 'verse-val($item-capacity)&col=16&count=39', 'verse-val($item-capacity)&col=16&count=40', 'ITEM&n=16', 'COMPONENT&n=16', 'COMPONENT_START&n=16', 'COMPONENT_END&n=16', 'SECTION&n=16', 'inlets&n=656', 'inlets&n=657', 'inlets&n=658', 'inlets&n=659', 'inlets&n=660', 'inlets&n=661', 'inlets&n=662', 'inlets&n=663', 'inlets&n=664', 'inlets&n=665', 'inlets&n=666', 'inlets&n=667', 'inlets&n=668', 'inlets&n=669', 'inlets&n=670', 'inlets&n=671', 'inlets&n=672', 'inlets&n=673', 'inlets&n=674', 'inlets&n=675', 'inlets&n=676', 'inlets&n=677', 'inlets&n=678', 'inlets&n=679', 'inlets&n=680', 'inlets&n=681', 'inlets&n=682', 'inlets&n=683', 'inlets&n=684', 'inlets&n=685', 'inlets&n=686', 'inlets&n=687', 'inlets&n=688', 'inlets&n=689', 'inlets&n=690', 'inlets&n=691', 'inlets&n=692', 'inlets&n=693', 'inlets&n=694', 'inlets&n=695', 'inlets&n=696', 'COMPONENT&n=17', 'COMPONENT_START&n=17', 'COMPONENT_END&n=17', 'ITEM&n=17', 'verse-val($item-capacity)&col=17&count=0', 'verse-val($item-capacity)&col=17&count=1', 'verse-val($item-capacity)&col=17&count=2', 'verse-val($item-capacity)&col=17&count=3', 'verse-val($item-capacity)&col=17&count=4', 'verse-val($item-capacity)&col=17&count=5', 'verse-val($item-capacity)&col=17&count=6', 'verse-val($item-capacity)&col=17&count=7', 'verse-val($item-capacity)&col=17&count=8', 'verse-val($item-capacity)&col=17&count=9', 'verse-val($item-capacity)&col=17&count=10', 'verse-val($item-capacity)&col=17&count=11', 'verse-val($item-capacity)&col=17&count=12', 'verse-val($item-capacity)&col=17&count=13', 'verse-val($item-capacity)&col=17&count=14', 'verse-val($item-capacity)&col=17&count=15', 'verse-val($item-capacity)&col=17&count=16', 'verse-val($item-capacity)&col=17&count=17', 'verse-val($item-capacity)&col=17&count=18', 'verse-val($item-capacity)&col=17&count=19', 'verse-val($item-capacity)&col=17&count=20', 'verse-val($item-capacity)&col=17&count=21', 'verse-val($item-capacity)&col=17&count=22', 'verse-val($item-capacity)&col=17&count=23', 'verse-val($item-capacity)&col=17&count=24', 'verse-val($item-capacity)&col=17&count=25', 'verse-val($item-capacity)&col=17&count=26', 'verse-val($item-capacity)&col=17&count=27', 'verse-val($item-capacity)&col=17&count=28', 'verse-val($item-capacity)&col=17&count=29', 'verse-val($item-capacity)&col=17&count=30', 'verse-val($item-capacity)&col=17&count=31', 'verse-val($item-capacity)&col=17&count=32', 'verse-val($item-capacity)&col=17&count=33', 'verse-val($item-capacity)&col=17&count=34', 'verse-val($item-capacity)&col=17&count=35', 'verse-val($item-capacity)&col=17&count=36', 'verse-val($item-capacity)&col=17&count=37', 'verse-val($item-capacity)&col=17&count=38', 'verse-val($item-capacity)&col=17&count=39', 'verse-val($item-capacity)&col=17&count=40', 'ITEM&n=17', 'COMPONENT&n=17', 'COMPONENT_START&n=17', 'COMPONENT_END&n=17', 'SECTION&n=17', 'inlets&n=697', 'inlets&n=698', 'inlets&n=699', 'inlets&n=700', 'inlets&n=701', 'inlets&n=702', 'inlets&n=703', 'inlets&n=704', 'inlets&n=705', 'inlets&n=706', 'inlets&n=707', 'inlets&n=708', 'inlets&n=709', 'inlets&n=710', 'inlets&n=711', 'inlets&n=712', 'inlets&n=713', 'inlets&n=714', 'inlets&n=715', 'inlets&n=716', 'inlets&n=717', 'inlets&n=718', 'inlets&n=719', 'inlets&n=720', 'inlets&n=721', 'inlets&n=722', 'inlets&n=723', 'inlets&n=724', 'inlets&n=725', 'inlets&n=726', 'inlets&n=727', 'inlets&n=728', 'inlets&n=729', 'inlets&n=730', 'inlets&n=731', 'inlets&n=732', 'inlets&n=733', 'inlets&n=734', 'inlets&n=735', 'inlets&n=736', 'inlets&n=737', 'ITEM', 'ITEM&n=1', 'ITEM&n=2', 'ITEM&n=3', 'ITEM&n=4', 'ITEM&n=5', 'ITEM&n=6', 'ITEM&n=7', 'ITEM&n=8', 'ITEM&n=9', 'ITEM&n=10', 'ITEM&n=11', 'ITEM&n=12', 'ITEM&n=13', 'ITEM&n=14', 'ITEM&n=15', 'ITEM&n=16', 'ITEM&n=17', '2346', '2347', '2348', '2349', '2350', '2351', '2352', '2353', '2354', '2355', '2356', '2357', '2358', '2359', '2360', '2361', '2362', '2363', '2364', '2365', '2366', '2367', '2368', '2369', '2370', '2371', '2372', '2373', '2374', '2375', '2376', '2377', '2378', '2379', '2380', '2381', '2382', '2383', '2384', '2385', '2386', '2387', '2388', '2389', '2390', '2391', '2392', '2393', '2394', '2395', '2396', '2397', '2398', '2399', '2400', '2401', '2402', '2403', '2404', '2405', '2406', '2407', '2408', '2409', '2410', '2411', '2412', '2413', '2414', '2415', '2416', '2417', '2418', '2419', '2420', '2421', '2422', '2423', '2424', '2425', '2426', '2427', '2428', '2429', '2430', '2431', '2432', '2433', '2434', '2435', '2436', '2437', '2438', '2439', '2440', '2441', '2442', '2443', '2444', '2445', '2446', '2447', '2448', '2449', '2450', '2451', '2452', '2453', '2454', '2455', '2456', '2457', '2458', '2459', '2460', '2461', '2462', '2463', '2464', '2465', '2466', '2467', '2468', '2469', '2470', '2471', '2472', '2473', '2474', '2475', '2476', '2477', '2478', '2479', '2480', '2481', '2482', '2483', '2484', '2485', '2486', '2487', '2488', '2489', '2490', '2491', '2492', '2493', '2494', '2495', '2496', '2497', '2498', '2499', '2500', '2501', '2502', '2503', '2504', '2505', '2506', '2507', '2508', '2509', '2510', '2511', '2512', '2513', '2514', '2515', '2516', '2517', '2518', '2519', '2520', '2521', '2522', '2523', '2524', '2525', '2526', '2527', '2528', '2529', '2530', '2531', '2532', '2533', '2534', '2535', '2536', '2537', '2538', '2539', '2540', '2541', '2542', '2543', '2544', '2545', '2546', '2547', '2548', '2549', '2550', '2551', '2552', '2553', '2554', '2555', '2556', '2557', '2558', '2559', '2560', '2561', '2562', '2563', '2564', '2565', '2566', '2567', '2568', '2569', '2570', '2571', '2572', '2573', '2574', '2575', '2576', '2577', '2578', '2579', '2580', '2581', '2582', '2583', '2584', '2585', '2586', '2587', '2588', '2589', '2590', '2591', '2592', '2593', '2594', '2595', '2596', '2597', '2598', '2599', '2600', '2601', '2602', '2603', '2604', '2605', '2606', '2607', '2608', '2609', '2610', '2611', '2612', '2613', '2614', '2615', '2616', '2617', '2618', '2619', '2620', '2621', '2622', '2623', '2624', '2625', '2626', '2627', '2628', '2629', '2630', '2631', '2632', '2633', '2634', '2635', '2636', '2637', '2638', '2639', '2640', '2641', '2642', '2643', '2644', '2645', '2646', '2647', '2648', '2649', '2650', '2651', '2652', '2653', '2654', '2655', '2656', '2657', '2658', '2659', '2660', '2661', '2662', '2663', '2664', '2665', '2666', '2667', '2668', '2669', '2670', '2671', '2672', '2673', '2674', '2675', '2676', '2677', '2678', '2679', '2680', '2681', '2682', '2683', '2684', '2685', '2686', '2687', '2688', '2689', '2690', '2691', '2692', '2693', '2694', '2695', '2696', '2697', '2698', '2699', '2700', '2701', '2702', '2703', '2704', '2705', '2706', '2707', '2708', '2709', '2710', '2711', '2712', '2713', '2714', '2715', '2716', '2717', '2718', '2719', '2720', '2721', '2722', '2723', '2724', '2725', '2726', '2727', '2728', '2729', '2730', '2731', '2732', '2733', '2734', '2735', '2736', '2737', '2738', '2739', '2740', '2741', '2742', '2743', '2744', '2745', '2746', '2747', '2748', '2749', '2750', '2751', '2752', '2753', '2754', '2755', '2756', '2757', '2758', '2759', '2760', '2761', '2762', '2763', '2764', '2765', '2766', '2767', '2768', '2769', '2770', '2771', '2772', '2773', '2774', '2775', '2776', '2777', '2778', '2779', '2780', '2781', '2782', '2783', '2784', '2785', '2786', '2787', '2788', '2789', '2790', '2791', '2792', '2793', '2794', '2795', '2796', '2797', '2798', '2799', '2800', '2801', '2802', '2803', '2804', '2805', '2806', '2807', '2808', '2809', '2810', '2811', '2812', '2813', '2814', '2815', '2816', '2817', '2818', '2819', '2820', '2821', '2822', '2823', '2824', '2825', '2826', '2827', '2828', '2829', '2830', '2831', '2832', '2833', '2834', '2835', '2836', '2837', '2838', '2839', '2840', '2841', '2842', '2843', '2844', '2845', '2846', '2847', '2848', '2849', '2850', '2851', '2852', '2853', '2854', '2855', '2856', '2857', '2858', '2859', '2860', '2861', '2862', '2863', '2864', '2865', '2866', '2867', '2868', '2869', '2870', '2871', '2872', '2873', '2874', '2875', '2876', '2877', '2878', '2879', '2880', '2881', '2882', '2883', '2884', '2885', '2886', '2887', '2888', '2889', '2890', '2891', '2892', '2893', '2894', '2895', '2896', '2897', '2898', '2899', '2900', '2901', '2902', '2903', '2904', '2905', '2906', '2907', '2908', '2909', '2910', '2911', '2912', '2913', '2914', '2915', '2916', '2917', '2918', '2919', '2920', '2921', '2922', '2923', '2924', '2925', '2926', '2927', '2928', '2929', '2930', '2931', '2932', '2933', '2934', '2935', '2936', '2937', '2938', '2939', '2940', '2941', '2942', '2943', '2944', '2945', '2946', '2947', '2948', '2949', '2950', '2951', '2952', '2953', '2954', '2955', '2956', '2957', '2958', '2959', '2960', '2961', '2962', '2963', '2964', '2965', '2966', '2967', '2968', '2969', '2970', '2971', '2972', '2973', '2974', '2975', '2976', '2977', '2978', '2979', '2980', '2981', '2982', '2983', '2984', '2985', '2986', '2987', '2988', '2989', '2990', '2991', '2992', '2993', '2994', '2995', '2996', '2997', '2998', '2999', '3000', '3001', '3002', '3003', '3004', '3005', '3006', '3007', '3008', '3009', '3010', '3011', '3012', '3013', '3014', '3015', '3016', '3017', '3018', '3019', '3020', '3021', '3022', '3023', '3024', '3025', '3026', '3027', '3028', '3029', '3030', '3031', '3032', '3033', '3034', '3035', '3036', '3037', '3038', '3039', '3040', '3041', '3042', '3043', '3044', '3045', '3046', '3047', '3048', '3049', '3050', '3051', '3052', '3053', '3054', '3055', '3056', '3057', '3058', '3059', '3060', '3061', '3062', '3063', '3064', '3065', '3066', '3067', '3068', '3069', '3070', '3071', '3072', '3073', '3074', '3075', '3076', '3077', '3078', '3079', '3080', '3081', '3082', '3083', '3084', '3085', '3123', '3125', '3127', '3129', '3131', '3133', '3135', '3137', '3139', '3141', '3143', '3145', '3147', '3149', '3151', '3153', '3155', '3157', '3281', '3405', '3529', '3653', '3777', '3901', '4025', '4149', '4273', '4397', '4521', '4645', '4769', '4893', '5017', '5141', '5265', '5389', '5391', '5392', '5393', '5394', '5395', '5396', '5397', '5398', '5399', '5400', '5401', '5402', '5403', '5404', '5405', '5406', '5407', '5408', '5427', '5428', '5429', '5430', '5431', '5432', '5433', '5434', '5435', '5436', '5437', '5438', '5439', '5440', '5441', '5442', '5443', '5444', '5463', '5464', '5465', '5466', '5467', '5468', '5469', '5470', '5471', '5472', '5473', '5474', '5475', '5476', '5477', '5478', '5479', '5480', '5499', '5500', '5501', '5502', '5503', '5504', '5505', '5506', '5507', '5508', '5509', '5510', '5511', '5512', '5513', '5514', '5515', '5516', '5535', '5536', '5537', '5538', '5539', '5540', '5541', '5542', '5543', '5544', '5545', '5546', '5547', '5548', '5549', '5550', '5551', '5552', '5553', '5554', '5555', '5556', '5557', '5558', '5559', '5560', '5561', '5562', '5563', '5564', '5565', '5566', '5567', '5568', '5569', '5570', '5589', '5590', '5591', '5592', '5593', '5594', '5595', '5596', '5597', '5598', '5599', '5600', '5601', '5602', '5603', '5604', '5605', '5606', '5607', '5608', '5609', '5610', '5611', '5612', '5613', '5614', '5615', '5616', '5617', '5618', '5619', '5620', '5621', '5622', '5623', '5624', '5643', '5644', '5645', '5646', '5647', '5648', '5649', '5650', '5651', '5652', '5653', '5654', '5655', '5656', '5657', '5658', '5659', '5660', '5661', '5662', '5663', '5664', '5665', '5666', '5667', '5668', '5669', '5670', '5671', '5672', '5673', '5674', '5675', '5676', '5677', '5678', '5697', '5698', '5699', '5700', '5701', '5702', '5703', '5704', '5705', '5706', '5707', '5708', '5709', '5710', '5711', '5712', '5713', '5714', '5733', '5734', '5735', '5736', '5737', '5738', '5739', '5740', '5741', '5742', '5743', '5744', '5745', '5746', '5747', '5748', '5749', '5750', '5769', '5770', '5771', '5772', '5773', '5774', '5775', '5776', '5777', '5778', '5779', '5780', '5781', '5782', '5783', '5784', '5785', '5786', '5805', '5806', '5807', '5808', '5809', '5810', '5811', '5812', '5813', '5814', '5815', '5816', '5817', '5818', '5819', '5820', '5821', '5822', '5841', '5842', '5843', '5844', '5845', '5846', '5847', '5848', '5849', '5850', '5851', '5852', '5853', '5854', '5855', '5856', '5857', '5858', '5877', '5878', '5879', '5880', '5881', '5882', '5883', '5884', '5885', '5886', '5887', '5888', '5889', '5890', '5891', '5892', '5893', '5894', '5913', '5914', '5915', '5916', '5917', '5918', '5919', '5920', '5921', '5922', '5923', '5924', '5925', '5926', '5927', '5928', '5929', '5930', '5949', '5950', '5951', '5952', '5953', '5954', '5955', '5956', '5957', '5958', '5959', '5960', '5961', '5962', '5963', '5964', '5965', '5966', '5985', '5986', '5987', '5988', '5989', '5990', '5991', '5992', '5993', '5994', '5995', '5996', '5997', '5998', '5999', '6000', '6001', '6002', '6021', '6022', '6023', '6024', '6025', '6026', '6027', '6028', '6029', '6030', '6031', '6032', '6033', '6034', '6035', '6036', '6037', '6038', '6057', '6058', '6059', '6060', '6061', '6062', '6063', '6064', '6065', '6066', '6067', '6068', '6069', '6070', '6071', '6072', '6073', '6074', '6093', '6094', '6095', '6096', '6097', '6098', '6099', '6100', '6101', '6102', '6103', '6104', '6105', '6106', '6107', '6108', '6109', '6110', '6129', '6130', '6131', '6132', '6133', '6134', '6135', '6136', '6137', '6138', '6139', '6140', '6141', '6142', '6143', '6144', '6145', '6146', '6165', '6166', '6167', '6168', '6169', '6170', '6171', '6172', '6173', '6174', '6175', '6176', '6177', '6178', '6179', '6180', '6181', '6182', '6201', '6202', '6203', '6204', '6205', '6206', '6207', '6208', '6209', '6210', '6211', '6212', '6213', '6214', '6215', '6216', '6217', '6218', '6219', '6220', '6221', '6222', '6223', '6224', '6225', '6226', '6227', '6228', '6229', '6230', '6231', '6232', '6233', '6234', '6235', '6236', '6238', '6240', '6242', '6244', '6246', '6248', '6250', '6252', '6254', '6256', '6258', '6260', '6262', '6264', '6266', '6268', '6270', '6272', '6273', '6274', '6275', '6276', '6277', '6278', '6279', '6280', '6281', '6282', '6283', '6284', '6285', '6286', '6287', '6288', '6289', '6290', '6291', '6292', '6293', '6294', '6295', '6296', '6297', '6298', '6299', '6300', '6301', '6302', '6303', '6304', '6305', '6306', '6307', '6308', '6310', '6312', '6314', '6316', '6318', '6320', '6322', '6324', '6326', '6328', '6330', '6332', '6334', '6336', '6338', '6340', '6342', '6344', '6346', '6348', '6350', '6352', '6354', '6356', '6358', '6360', '6362', '6364', '6366', '6368', '6370', '6372', '6374', '6376', '6378', '6380', '6382', '6384', '6386', '6388', '6390', '6392', '6394', '6396', '6398', '6400', '6402', '6404', '6406', '6408', '6410', '6412', '6414', '6416', '6418', '6420', '6422', '6424', '6426', '6428', '6430', '6432', '6434', '6436', '6438', '6440', '6442', '6444', '6446', '6448', '6450', '6452', '6454', '6456', '6458', '6460', '6462', '6464', '6466', '6468', '6470', '6472', '6474', '6476', '6478', '6480', '6482', '6484', '6486', '6488', '6489', '6490', '6491', '6492', '6493', '6494', '6495', '6496', '6497', '6498', '6499', '6500', '6501', '6502', '6503', '6504', '6505', '6507', '6509', '6511', '6513', '6515', '6517', '6519', '6521', '6523', '6525', '6527', '6529', '6531', '6533', '6535', '6537', '6539', '6541', '6542', '6543', '6544', '6545', '6546', '6547', '6548', '6549', '6550', '6551', '6552', '6553', '6554', '6555', '6556', '6557', '6558', '6559', '6561', '6563', '6565', '6567', '6569', '6571', '6573', '6575', '6577', '6579', '6581', '6583', '6585', '6587', '6589', '6591', '6593', '6595', '6633', '6635', '6637', '6639', '6641', '6643', '6645', '6647', '6649', '6651', '6653', '6655', '6657', '6659', '6661', '6663', '6665', '6667', '6669', '6671', '6673', '6675', '6677', '6679', '6681', '6683', '6685', '6687', '6689', '6691', '6693', '6695', '6697', '6699', '6701', '6703', '6705', '6707', '6709', '6711', '6713', '6715', '6717', '6719', '6721', '6723', '6725', '6727', '6729', '6731', '6733', '6735', '6737', '6739', '6741', '6743', '6745', '6747', '6749', '6751', '6753', '6755', '6757', '6759', '6761', '6763', '6765', '6767', '6769', '6771', '6773', '6775', '6777', '6779', '6781', '6783', '6785', '6787', '6789', '6791', '6793', '6795', '6797', '6799', '6801', '6803', '6805', '6807', '6809', '6811', '6813', '6815', '6817', '6819', '6821', '6823', '6825', '6827', '6829', '6831', '6833', '6835', '6837', '6839', '6841', '6843', '6845', '6847', '6848', '6850', '6852', '6854', '6856', '6858', '6860', '6862', '6864', '6866', '6868', '6870', '6872', '6874', '6876', '6878', '6880', '6882', '6884', '6885', '6886', '6887', '6888', '6889', '6890', '6891', '6892', '6893', '6894', '6895', '6896', '6897', '6898', '6899', '6900', '6901', '6902', '6904', '6906', '6908', '6910', '6912', '6914', '6916', '6918', '6920', '6922', '6924', '6926', '6928', '6930', '6932', '6934', '6936', '6938', '6976', '6978', '6980', '6982', '6984', '6986', '6988', '6990', '6992', '6994', '6996', '6998', '7000', '7002', '7004', '7006', '7008', '7010', '7012', '7014', '7016', '7018', '7020', '7022', '7024', '7026', '7028', '7030', '7032', '7034', '7036', '7038', '7040', '7042', '7044', '7046', '7048', '7050', '7052', '7054', '7056', '7058', '7060', '7062', '7064', '7066', '7068', '7070', '7072', '7074', '7076', '7078', '7080', '7082', '7084', '7086', '7088', '7090', '7092', '7094', '7096', '7098', '7100', '7102', '7104', '7106', '7108', '7110', '7112', '7114', '7116', '7118', '7119', '7120', '7121', '7122', '7123', '7124', '7125', '7126', '7127', '7128', '7129', '7130', '7131', '7132', '7133', '7134', '7135', '7136', '7138', '7140', '7142', '7144', '7146', '7148', '7150', '7152', '7154', '7156', '7158', '7160', '7162', '7164', '7166', '7168', '7170', '7172', '7210', '7212', '7214', '7216', '7218', '7220', '7222', '7224', '7226', '7228', '7230', '7232', '7234', '7236', '7238', '7240', '7242', '7244', '7246', '7248', '7250', '7252', '7254', '7256', '7258', '7260', '7262', '7264', '7266', '7268', '7270', '7272', '7274', '7276', '7278', '7280', '7282', '7284', '7286', '7288', '7290', '7292', '7294', '7296', '7298', '7300', '7302', '7304', '7306', '7308', '7310', '7312', '7314', '7316', '7318', '7320', '7322', '7324', '7326', '7328', '7330', '7332', '7334', '7336', '7338', '7340', '7342', '7344', '7346', '7348', '7350', '7352', '7390', '7392', '7394', '7396', '7398', '7400', '7402', '7404', '7406', '7408', '7410', '7412', '7414', '7416', '7418', '7420', '7422', '7424', '7426', '7428', '7430', '7432', '7434', '7436', '7438', '7440', '7442', '7444', '7446', '7448', '7450', '7452', '7454', '7456', '7458', '7460', '7462', '7464', '7466', '7468', '7470', '7472', '7474', '7476', '7478', '7480', '7482', '7484', '7486', '7488', '7490', '7492', '7494', '7496', '7498', '7500', '7502', '7504', '7506', '7508', '7510', '7512', '7514', '7516', '7518', '7520', '7522', '7524', '7526', '7528', '7530', '7532', '7533', '7534', '7535', '7536', '7537', '7538', '7539', '7540', '7541', '7542', '7543', '7544', '7545', '7546', '7547', '7548', '7549', '7550', '7552', '7554', '7556', '7558', '7560', '7562', '7564', '7566', '7568', '7570', '7572', '7574', '7576', '7578', '7580', '7582', '7584', '7586', '7624', '7626', '7628', '7630', '7632', '7634', '7636', '7638', '7640', '7642', '7644', '7646', '7648', '7650', '7652', '7654', '7656', '7658', '7660', '7662', '7664', '7666', '7668', '7670', '7672', '7674', '7676', '7678', '7680', '7682', '7684', '7686', '7688', '7690', '7692', '7694', '7696', '7698', '7700', '7702', '7704', '7706', '7708', '7710', '7712', '7714', '7716', '7718', '7720', '7722', '7724', '7726', '7728', '7730', '7732', '7734', '7736', '7738', '7740', '7742', '7744', '7746', '7748', '7750', '7752', '7754', '7756', '7758', '7760', '7762', '7764', '7766', '7804', '7806', '7808', '7810', '7812', '7814', '7816', '7818', '7820', '7822', '7824', '7826', '7828', '7830', '7832', '7834', '7836', '7838', '7840', '7842', '7844', '7846', '7848', '7850', '7852', '7854', '7856', '7858', '7860', '7862', '7864', '7866', '7868', '7870', '7872', '7874', '7876', '7878', '7880', '7882', '7884', '7886', '7888', '7890', '7892', '7894', '7896', '7898', '7900', '7902', '7904', '7906', '7908', '7910', '7912', '7914', '7916', '7918', '7920', '7922', '7924', '7926', '7928', '7930', '7932', '7934', '7936', '7938', '7940', '7942', '7944', '7946', '7948', '7950', '7952', '7954', '7956', '7958', '7960', '7962', '7964', '7966', '7968', '7970', '7972', '7974', '7976', '7978', '7980', '8018', '8020', '8022', '8024', '8026', '8028', '8030', '8032', '8034', '8036', '8038', '8040', '8042', '8044', '8046', '8048', '8050', '8052', '8054', '8056', '8058', '8060', '8062', '8064', '8066', '8068', '8070', '8072', '8074', '8076', '8078', '8080', '8082', '8084', '8086', '8088', '8090', '8092', '8094', '8096', '8098', '8100', '8102', '8104', '8106', '8108', '8110', '8112', '8114', '8116', '8118', '8120', '8122', '8124', '8126', '8128', '8130', '8132', '8134', '8136', '8138', '8140', '8142', '8144', '8146', '8148', '8150', '8152', '8154', '8156', '8158', '8160', '8162', '8164', '8166', '8168', '8170', '8172', '8174', '8176', '8178', '8180', '8182', '8184', '8186', '8188', '8190', '8192', '8230', '8232', '8234', '8236', '8238', '8240', '8242', '8244', '8246', '8248', '8250', '8252', '8254', '8256', '8258', '8260', '8262', '8264', '8266', '8268', '8270', '8272', '8274', '8276', '8278', '8280', '8282', '8284', '8286', '8288', '8290', '8292', '8294', '8296', '8298', '8300', '8302', '8304', '8306', '8308', '8310', '8312', '8314', '8316', '8318', '8320', '8322', '8324', '8326', '8328', '8330', '8332', '8334', '8336', '8338', '8340', '8342', '8344', '8346', '8348', '8350', '8352', '8354', '8356', '8358', '8360', '8362', '8364', '8366', '8368', '8370', '8372', '8374', '8376', '8378', '8380', '8382', '8384', '8386', '8388', '8390', '8392', '8394', '8396', '8398', '8400', '8402', '8440', '8442', '8444', '8446', '8448', '8450', '8452', '8454', '8456', '8458', '8460', '8462', '8464', '8466', '8468', '8470', '8472', '8474', '8476', '8478', '8480', '8482', '8484', '8486', '8488', '8490', '8492', '8494', '8496', '8498', '8500', '8502', '8504', '8506', '8508', '8510', '8512', '8514', '8516', '8518', '8520', '8522', '8524', '8526', '8528', '8530', '8532', '8534', '8536', '8538', '8540', '8542', '8544', '8546', '8548', '8550', '8552', '8554', '8556', '8558', '8560', '8562', '8564', '8566', '8568', '8570', '8572', '8574', '8576', '8578', '8580', '8582', '8584', '8586', '8588', '8590', '8592', '8594', '8596', '8598', '8600', '8602', '8604', '8606', '8608', '8610', '8612', '8614', '8616', '8618', '8620', '8622', '8624', '8626', '8628', '8630', '8632', '8634', '8636', '8638', '8640', '8642', '8644', '8646', '8648', '8650', '8652', '8654', '8656', '8658', '8660', '8662', '8664', '8666', '8668', '8670', '8672', '8674', '8676', '8678', '8680', '8682', '8684', '8686', '8688', '8690', '8692', '8694', '8696', '8698', '8700', '8702', '8704', '8706', '8708', '8710', '8712', '8714', '8716', '8718', '8720', '8722', '8724', '8726', '8728', '8730', '8732', '8734', '8736', '8738', '8740', '8742', '8744', '8746', '8748', '8750', '8752', '8754', '8756', '8758', '8760', '8762', '8764', '8766', '8768', '8770', '8772', '8774', '8776', '8778', '8780', '8782', '8784', '8786', '8788', '8790', '8792', '8794', '8796', '8798', '8800', '8802', '8804', '8806', '8808', '8810', '8812', '8814', '8816', '8818', '8820', '8822', '8824', '8826', '8828', '8830', '8832', '8834', '8836', '8838', '8840', '8842', '8844', '8846', '8848', '8850', '8852', '8854', '8856', '8858', '8860', '8862', '8864', '8866', '8868', '8870', '8872', '8874', '8876', '8878', '8880', '8882', '8884', '8886', '8888', '8890', '8892', '8894', '8896', '8898', '8900', '8902', '8904', '8906', '8908', '8910', '8912', '8914', '8916', '8918', '8920', '8922', '8924', '8926', '8928', '8930', '8932', '8934', '8936', '8938', '8940', '8942', '8944', '8946', '8948', '8950', '8952', '8954', '8956', '8958', '8960', '8962', '8964', '8966', '8968', '8970', '8972', '8974', '8976', '8978', '8980', '8982', '8984', '8986', '8988', '8990', '8992', '8994', '8996', '8998', '9000', '9002', '9004', '9006', '9008', '9010', '9012', '9014', '9016', '9018', '9020', '9022', '9024', '9026', '9028', '9030', '9032', '9034', '9036', '9038', '9040', '9042', '9044', '9046', '9048', '9050', '9052', '9054', '9056', '9058', '9060', '9062', '9064', '9066', '9068', '9070', '9072', '9074', '9076', '9078', '9080', '9082', '9084', '9086', '9088', '9090', '9092', '9094', '9096', '9098', '9100', '9102', '9104', '9106', '9108', '9110', '9112', '9114', '9116', '9118', '9120', '9122', '9124', '9126', '9128', '9130', '9132', '9134', '9136', '9138', '9140', '9142', '9144', '9146', '9148', '9150', '9152', '9154', '9156', '9158', '9160', '9162', '9164', '9166', '9168', '9170', '9172', '9174', '9176', '9178', '9180', '9182', '9184', '9186', '9188', '9190', '9192', '9194', '9196', '9198', '9200', '9202', '9204', '9206', '9208', '9210', '9212', '9214', '9216', '9218', '9220', '9222', '9224', '9226', '9228', '9230', '9232', '9234', '9236', '9238', '9240', '9242', '9244', '9246', '9248', '9250', '9252', '9254', '9256', '9258', '9260', '9262', '9264', '9266', '9268', '9270', '9272', '9274', '9276', '9278', '9280', '9282', '9284', '9286', '9288', '9290', '9292', '9294', '9296', '9298', '9300', '9302', '9304', '9306', '9308', '9310', '9312', '9314', '9316', '9318', '9320', '9322', '9324', '9326', '9328', '9330', '9332', '9334', '9336', '9338', '9340', '9342', '9344', '9346', '9348', '9350', '9352', '9354', '9356', '9358', '9360', '9362', '9364', '9366', '9368', '9370', '9372', '9374', '9376', '9378', '9380', '9382', '9384', '9386', '9388', '9390', '9392', '9394', '9396', '9398', '9400', '9402', '9404', '9406', '9408', '9410', '9412', '9414', '9416', '9418', '9420', '9422', '9424', '9426', '9428', '9430', '9432', '9434', '9436', '9438', '9440', '9442', '9444', '9446', '9447', '9448', '9449', '9450', '9451', '9452', '9453', '9454', '9455', '9456', '9457', '9458', '9459', '9460', '9461', '9462', '9463', '9464', '9466', '9468', '9470', '9472', '9474', '9476', '9478', '9480', '9482', '9484', '9486', '9488', '9490', '9492', '9494', '9496', '9498', '9500', '9538', '9540', '9542', '9544', '9546', '9548', '9550', '9552', '9554', '9556', '9558', '9560', '9562', '9564', '9566', '9568', '9570', '9572', '9574', '9576', '9578', '9580', '9582', '9584', '9586', '9588', '9590', '9592', '9594', '9596', '9598', '9600', '9602', '9604', '9606', '9608', '9610', '9612', '9614', '9616', '9618', '9620', '9622', '9624', '9626', '9628', '9630', '9632', '9634', '9636', '9638', '9640', '9642', '9644', '9646', '9648', '9650', '9652', '9654', '9656', '9658', '9660', '9662', '9664', '9666', '9668', '9670', '9672', '9674', '9676', '9678', '9680', '9682', '9684', '9686', '9688', '9690', '9692', '9694', '9696', '9698', '9700', '9702', '9704', '9706', '9708', '9710', '9712', '9714', '9716', '9718', '9720', '9722', '9724', '9726', '9728', '9730', '9732', '9734', '9736', '9738', '9740', '9742', '9744', '9746', '9748', '9750', '9752', '9754', '9756', '9758', '9760', '9762', '9764', '9766', '9768', '9770', '9772', '9774', '9776', '9778', '9780', '9782', '9784', '9786', '9788', '9789', '9790', '9791', '9792', '9793', '9794', '9795', '9796', '9797', '9798', '9799', '9800', '9801', '9802', '9803', '9804', '9805', '9806', '9808', '9810', '9812', '9814', '9816', '9818', '9820', '9822', '9824', '9826', '9828', '9830', '9832', '9834', '9836', '9838', '9840', '9842', '9880', '9882', '9884', '9886', '9888', '9890', '9892', '9894', '9896', '9898', '9900', '9902', '9904', '9906', '9908', '9910', '9912', '9914', '9916', '9918', '9920', '9922', '9924', '9926', '9928', '9930', '9932', '9934', '9936', '9938', '9940', '9942', '9944', '9946', '9948', '9950', '9952', '9954', '9956', '9958', '9960', '9962', '9964', '9966', '9968', '9970', '9972', '9974', '9976', '9978', '9980', '9982', '9984', '9986', '9988', '9990', '9992', '9994', '9996', '9998', '10000', '10002', '10004', '10006', '10008', '10010', '10012', '10014', '10016', '10018', '10020', '10022', '10023', '10024', '10025', '10026', '10027', '10028', '10029', '10030', '10031', '10032', '10033', '10034', '10035', '10036', '10037', '10038', '10039', '10040', '10042', '10044', '10046', '10048', '10050', '10052', '10054', '10056', '10058', '10060', '10062', '10064', '10066', '10068', '10070', '10072', '10074', '10076', '10114', '10116', '10118', '10120', '10122', '10124', '10126', '10128', '10130', '10132', '10134', '10136', '10138', '10140', '10142', '10144', '10146', '10148', '10150', '10152', '10154', '10156', '10158', '10160', '10162', '10164', '10166', '10168', '10170', '10172', '10174', '10176', '10178', '10180', '10182', '10184', '10186', '10188', '10190', '10192', '10194', '10196', '10198', '10200', '10202', '10204', '10206', '10208', '10210', '10212', '10214', '10216', '10218', '10220', '10222', '10224', '10226', '10228', '10230', '10232', '10234', '10236', '10238', '10240', '10242', '10244', '10246', '10248', '10250', '10252', '10254', '10256', '10258', '10260', '10262', '10264', '10266', '10268', '10270', '10272', '10274', '10276', '10278', '10280', '10282', '10284', '10286', '10288', '10290', '10328', '10330', '10332', '10334', '10336', '10338', '10340', '10342', '10344', '10346', '10348', '10350', '10352', '10354', '10356', '10358', '10360', '10362', '10364', '10366', '10368', '10370', '10372', '10374', '10376', '10378', '10380', '10382', '10384', '10386', '10388', '10390', '10392', '10394', '10396', '10398', '10400', '10402', '10404', '10406', '10408', '10410', '10412', '10414', '10416', '10418', '10420', '10422', '10424', '10426', '10428', '10430', '10432', '10434', '10436', '10438', '10440', '10442', '10444', '10446', '10448', '10450', '10452', '10454', '10456', '10458', '10460', '10462', '10464', '10466', '10468', '10470', '10508', '10510', '10512', '10514', '10516', '10518', '10520', '10522', '10524', '10526', '10528', '10530', '10532', '10534', '10536', '10538', '10540', '10542', '10544', '10546', '10548', '10550', '10552', '10554', '10556', '10558', '10560', '10562', '10564', '10566', '10568', '10570', '10572', '10574', '10576', '10578', '10580', '10582', '10584', '10586', '10588', '10590', '10592', '10594', '10596', '10598', '10600', '10602', '10604', '10606', '10608', '10610', '10612', '10614', '10616', '10618', '10620', '10622', '10624', '10626', '10628', '10630', '10632', '10634', '10636', '10638', '10640', '10642', '10644', '10646', '10648', '10650', '10652', '10654', '10656', '10658', '10660', '10662', '10664', '10666', '10668', '10670', '10672', '10674', '10676', '10678', '10680', '10682', '10684', '10686', '10688', '10690', '10692', '10694', '10696', '10698', '10700', '10702', '10704', '10706', '10708', '10710', '10712', '10714', '10716', '10718', '10720', '10722', '10724', '10726', '10728', '10730', '10732', '10734', '10736', '10738', '10740', '10742', '10744', '10746', '10748', '10750', '10752', '10754', '10756', '10758', '10759', '10760', '10761', '10762', '10763', '10764', '10765', '10766', '10767', '10768', '10769', '10770', '10771', '10772', '10773', '10774', '10775', '10776', '10778', '10780', '10782', '10784', '10786', '10788', '10790', '10792', '10794', '10796', '10798', '10800', '10802', '10804', '10806', '10808', '10810', '10812', '10850', '10852', '10854', '10856', '10858', '10860', '10862', '10864', '10866', '10868', '10870', '10872', '10874', '10876', '10878', '10880', '10882', '10884', '10886', '10888', '10890', '10892', '10894', '10896', '10898', '10900', '10902', '10904', '10906', '10908', '10910', '10912', '10914', '10916', '10918', '10920', '10922', '10924', '10926', '10928', '10930', '10932', '10934', '10936', '10938', '10940', '10942', '10944', '10946', '10948', '10950', '10952', '10954', '10956', '10958', '10960', '10962', '10964', '10966', '10968', '10970', '10972', '10974', '10976', '10978', '10980', '10982', '10984', '10986', '10988', '10990', '10992', '10994', '10996', '10998', '11000', '11002', '11004', '11006', '11008', '11010', '11012', '11014', '11016', '11018', '11020', '11022', '11024', '11026', '11028', '11030', '11032', '11034', '11036', '11038', '11040', '11042', '11044', '11046', '11048', '11050', '11052', '11054', '11056', '11058', '11060', '11062', '11064', '11066', '11068', '11070', '11072', '11074', '11076', '11078', '11080', '11082', '11084', '11086', '11088', '11090', '11092', '11094', '11096', '11098', '11100', '11102', '11104', '11106', '11108', '11110', '11112', '11114', '11116', '11118', '11120', '11122', '11124', '11126', '11128', '11130', '11132', '11134', '11136', '11138', '11140', '11142', '11144', '11146', '11148', '11150', '11152', '11154', '11156', '11158', '11160', '11162', '11164', '11166', '11168', '11170', '11172', '11174', '11176', '11178', '11180', '11182', '11184', '11186', '11188', '11190', '11192', '11194', '11196', '11198', '11200', '11202', '11204', '11206', '11208', '11210', '11212', '11214', '11216', '11218', '11220', '11222', '11224', '11226', '11228', '11230', '11232', '11234', '11236', '11238', '11240', '11242', '11244', '11246', '11248', '11250', '11252', '11254', '11256', '11258', '11260', '11262', '11264', '11266', '11268', '11270', '11272', '11274', '11276', '11278', '11280', '11282', '11284', '11286', '11288', '11290', '11292', '11294', '11296', '11298', '11300', '11302', '11304', '11306', '11308', '11310', '11312', '11314', '11316', '11318', '11320', '11322', '11324', '11326', '11328', '11330', '11332', '11334', '11336', '11338', '11340', '11342', '11344', '11346', '11348', '11350', '11352', '11354', '11356', '11358', '11360', '11362', '11364', '11366', '11368', '11370', '11372', '11374', '11376', '11378', '11380', '11382', '11384', '11386', '11388', '11390', '11392', '11394', '11396', '11398', '11400', '11402', '11404', '11406', '11408', '11410', '11412', '11414', '11416', '11418', '11420', '11422', '11424', '11426', '11428', '11430', '11432', '11434', '11436', '11438', '11440', '11442', '11444', '11446', '11448', '11450', '11452', '11454', '11456', '11458', '11460', '11462', '11464', '11466', '11468', '11470', '11472', '11474', '11476', '11478', '11480', '11482', '11484', '11486', '11488', '11490', '11492', '11494', '11496', '11498', '11500', '11502', '11504', '11506', '11508', '11510', '11512', '11514', '11516', '11518', '11520', '11522', '11524', '11526', '11528', '11530', '11532', '11534', '11536', '11538', '11540', '11542', '11544', '11546', '11548', '11550', '11552', '11554', '11556', '11558', '11560', '11562', '11564', '11566', '11568', '11570', '11572', '11574', '11576', '11578', '11580', '11582', '11584', '11586', '11588', '11590', '11592', '11594', '11596', '11598', '11600', '11602', '11604', '11606', '11608', '11610', '11612', '11614', '11616', '11618', '11620', '11622', '11624', '11626', '11628', '11630', '11632', '11634', '11636', '11638', '11640', '11642', '11644', '11646', '11648', '11650', '11652', '11654', '11656', '11658', '11660', '11662', '11664', '11666', '11668', '11670', '11672', '11674', '11676', '11678', '11680', '11682', '11684', '11686', '11688', '11690', '11692', '11694', '11696', '11698', '11700', '11702', '11704', '11706', '11708', '11710', '11712', '11714', '11716', '11718', '11720', '11722', '11724', '11726', '11728', '11730', '11732', '11734', '11736', '11738', '11740', '11742', '11744', '11746', '11748', '11750', '11752', '11754', '11756', '11758', '11760', '11762', '11764', '11766', '11768', '11770', '11772', '11774', '11776', '11778', '11780', '11782', '11784', '11786', '11788', '11790', '11792', '11794', '11796', '11798', '11800', '11802', '11804', '11806', '11808', '11810', '11812', '11814', '11816', '11818', '11820', '11822', '11824', '11826', '11828', '11830', '11832', '11834', '11836', '11838', '11840', '11842', '11844', '11846', '11848', '11850', '11852', '11854', '11856', '11858', '11860', '11862', '11864', '11866', '11868', '11870', '11872', '11874', '11876', '11878', '11880', '11882', '11884', '11886', '11888', '11890', '11892', '11894', '11896', '11898', '11900', '11902', '11904', '11906', '11908', '11910', '11912', '11914', '11916', '11918', '11920', '11922', '11924', '11926', '11928', '11930', '11932', '11934', '11936', '11938', '11940', '11942', '11944', '11946', '11948', '11950', '11952', '11954', '11956', '11958', '11960', '11962', '11964', '11966', '11968', '11970', '11972', '11974', '11976', '11978', '11980', '11982', '11984', '11986', '11988', '11990', '11992', '11994', '11996', '11998', '12000', '12002', '12004', '12006', '12008', '12010', '12012', '12014', '12016', '12018', '12020', '12022', '12024', '12026', '12028', '12030', '12032', '12034', '12036', '12038', '12040', '12042', '12044', '12046', '12048', '12050', '12052', '12054', '12056', '12058', '12060', '12062', '12064', '12066', '12068', '12070', '12072', '12074', '12076', '12078', '12080', '12082', '12084', '12086', '12088', '12090', '12092', '12094', '12096', '12098', '12100', '12102', '12104', '12106', '12144', '12146', '12148', '12150', '12152', '12154', '12156', '12158', '12160', '12162', '12164', '12166', '12168', '12170', '12172', '12174', '12176', '12178', '12180', '12182', '12184', '12186', '12188', '12190', '12192', '12194', '12196', '12198', '12200', '12202', '12204', '12206', '12208', '12210', '12212', '12214', '12216', '12218', '12220', '12222', '12224', '12226', '12228', '12230', '12232', '12234', '12236', '12238', '12240', '12242', '12244', '12246', '12248', '12250', '12252', '12254', '12256', '12258', '12260', '12262', '12264', '12266', '12268', '12270', '12272', '12274', '12276', '12278', '12280', '12282', '12284', '12286', '12287', '12288', '12289', '12290', '12291', '12292', '12293', '12294', '12295', '12296', '12297', '12298', '12299', '12300', '12301', '12302', '12303', '12304', '12306', '12308', '12310', '12312', '12314', '12316', '12318', '12320', '12322', '12324', '12326', '12328', '12330', '12332', '12334', '12336', '12338', '12340', '12378', '12380', '12382', '12384', '12386', '12388', '12390', '12392', '12394', '12396', '12398', '12400', '12402', '12404', '12406', '12408', '12410', '12412', '12414', '12416', '12418', '12420', '12422', '12424', '12426', '12428', '12430', '12432', '12434', '12436', '12438', '12440', '12442', '12444', '12446', '12448', '12450', '12452', '12454', '12456', '12458', '12460', '12462', '12464', '12466', '12468', '12470', '12472', '12474', '12476', '12478', '12480', '12482', '12484', '12486', '12488', '12490', '12492', '12494', '12496', '12498', '12500', '12502', '12504', '12506', '12508', '12510', '12512', '12514', '12516', '12518', '12520', '12521', '12522', '12523', '12524', '12525', '12526', '12527', '12528', '12529', '12530', '12531', '12532', '12533', '12534', '12535', '12536', '12537', '12538', '12540', '12542', '12544', '12546', '12548', '12550', '12552', '12554', '12556', '12558', '12560', '12562', '12564', '12566', '12568', '12570', '12572', '12574', '12612', '12614', '12616', '12618', '12620', '12622', '12624', '12626', '12628', '12630', '12632', '12634', '12636', '12638', '12640', '12642', '12644', '12646', '12648', '12650', '12652', '12654', '12656', '12658', '12660', '12662', '12664', '12666', '12668', '12670', '12672', '12674', '12676', '12678', '12680', '12682', '12684', '12686', '12688', '12690', '12692', '12694', '12696', '12698', '12700', '12702', '12704', '12706', '12708', '12710', '12712', '12714', '12716', '12718', '12720', '12722', '12724', '12726', '12728', '12730', '12732', '12734', '12736', '12738', '12740', '12742', '12744', '12746', '12748', '12750', '12752', '12754', '12755', '12756', '12757', '12758', '12759', '12760', '12761', '12762', '12763', '12764', '12765', '12766', '12767', '12768', '12769', '12770', '12771', '12772', '12774', '12776', '12778', '12780', '12782', '12784', '12786', '12788', '12790', '12792', '12794', '12796', '12798', '12800', '12802', '12804', '12806', '12808', '12845', '12846', '12847', '12848', '12849', '12850', '12851', '12852', '12853', '12854', '12855', '12856', '12857', '12858', '12859', '12860', '12861', '12862', '12864', '12866', '12868', '12870', '12872', '12874', '12876', '12878', '12880', '12882', '12884', '12886', '12888', '12890', '12892', '12894', '12896', '12898', '12936', '12938', '12940', '12942', '12944', '12946', '12948', '12950', '12952', '12954', '12956', '12958', '12960', '12962', '12964', '12966', '12968', '12970', '12972', '12974', '12976', '12978', '12980', '12982', '12984', '12986', '12988', '12990', '12992', '12994', '12996', '12998', '13000', '13002', '13004', '13042', '13044', '13046', '13048', '13050', '13052', '13054', '13056', '13058', '13060', '13062', '13064', '13066', '13068', '13070', '13072', '13074', '13112', '13114', '13116', '13118', '13120', '13122', '13124', '13126', '13128', '13130', '13132', '13134', '13136', '13138', '13140', '13142', '13144', '13146', '13148', '13150', '13152', '13154', '13156', '13158', '13160', '13162', '13164', '13166', '13168', '13170', '13172', '13174', '13176', '13178', '13216', '13218', '13220', '13222', '13224', '13226', '13228', '13230', '13232', '13234', '13236', '13238', '13240', '13242', '13244', '13246', '13284', '13286', '13288', '13290', '13292', '13294', '13296', '13298', '13300', '13302', '13304', '13306', '13308', '13310', '13312', '13314', '13316', '13318', '13320', '13322', '13324', '13326', '13328', '13330', '13332', '13334', '13336', '13338', '13340', '13342', '13344', '13346', '13348', '13386', '13388', '13390', '13392', '13394', '13396', '13398', '13400', '13402', '13404', '13406', '13408', '13410', '13412', '13414', 'COMPONENT', 'COMPONENT&n=1', 'COMPONENT&n=2', 'COMPONENT&n=3', 'COMPONENT&n=4', 'COMPONENT&n=5', 'COMPONENT&n=6', 'COMPONENT&n=7', 'COMPONENT&n=8', 'COMPONENT&n=9', 'COMPONENT&n=10', 'COMPONENT&n=11', 'COMPONENT&n=12', 'COMPONENT&n=13', 'COMPONENT&n=14', 'COMPONENT&n=15', 'COMPONENT&n=16', 'COMPONENT&n=17', '5390', '13451', '13452', '13453', '13454', '13455', '13456', '13457', '13458', '13459', '13460', '13461', '13462', '13463', '13464', '13465', '13466', '13467' ], - targetedIndexes: [1, 44, 168, 169, 3, 3158, 3161, 3164, 3167, 3170, 3173, 3176, 3179, 3182, 3185, 3188, 3191, 3194, 3197, 3200, 3203, 3206, 3209, 3212, 3215, 3218, 3221, 3224, 3227, 3230, 3233, 3236, 3239, 3242, 3245, 3248, 3251, 3254, 3257, 3260, 3263, 3266, 3269, 3272, 3275, 3278, 3, 44, 168, 169, 2, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 172, 296, 297, 171, 3282, 3285, 3288, 3291, 3294, 3297, 3300, 3303, 3306, 3309, 3312, 3315, 3318, 3321, 3324, 3327, 3330, 3333, 3336, 3339, 3342, 3345, 3348, 3351, 3354, 3357, 3360, 3363, 3366, 3369, 3372, 3375, 3378, 3381, 3384, 3387, 3390, 3393, 3396, 3399, 3402, 171, 172, 296, 297, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 203, 206, 209, 212, 215, 218, 221, 224, 227, 230, 233, 236, 239, 242, 245, 248, 251, 254, 257, 260, 263, 266, 269, 272, 275, 278, 281, 284, 287, 290, 293, 300, 424, 425, 299, 3406, 3409, 3412, 3415, 3418, 3421, 3424, 3427, 3430, 3433, 3436, 3439, 3442, 3445, 3448, 3451, 3454, 3457, 3460, 3463, 3466, 3469, 3472, 3475, 3478, 3481, 3484, 3487, 3490, 3493, 3496, 3499, 3502, 3505, 3508, 3511, 3514, 3517, 3520, 3523, 3526, 299, 300, 424, 425, 298, 301, 304, 307, 310, 313, 316, 319, 322, 325, 328, 331, 334, 337, 340, 343, 346, 349, 352, 355, 358, 361, 364, 367, 370, 373, 376, 379, 382, 385, 388, 391, 394, 397, 400, 403, 406, 409, 412, 415, 418, 421, 428, 552, 553, 427, 3530, 3533, 3536, 3539, 3542, 3545, 3548, 3551, 3554, 3557, 3560, 3563, 3566, 3569, 3572, 3575, 3578, 3581, 3584, 3587, 3590, 3593, 3596, 3599, 3602, 3605, 3608, 3611, 3614, 3617, 3620, 3623, 3626, 3629, 3632, 3635, 3638, 3641, 3644, 3647, 3650, 427, 428, 552, 553, 426, 429, 432, 435, 438, 441, 444, 447, 450, 453, 456, 459, 462, 465, 468, 471, 474, 477, 480, 483, 486, 489, 492, 495, 498, 501, 504, 507, 510, 513, 516, 519, 522, 525, 528, 531, 534, 537, 540, 543, 546, 549, 556, 680, 681, 555, 3654, 3657, 3660, 3663, 3666, 3669, 3672, 3675, 3678, 3681, 3684, 3687, 3690, 3693, 3696, 3699, 3702, 3705, 3708, 3711, 3714, 3717, 3720, 3723, 3726, 3729, 3732, 3735, 3738, 3741, 3744, 3747, 3750, 3753, 3756, 3759, 3762, 3765, 3768, 3771, 3774, 555, 556, 680, 681, 554, 557, 560, 563, 566, 569, 572, 575, 578, 581, 584, 587, 590, 593, 596, 599, 602, 605, 608, 611, 614, 617, 620, 623, 626, 629, 632, 635, 638, 641, 644, 647, 650, 653, 656, 659, 662, 665, 668, 671, 674, 677, 684, 808, 809, 683, 3778, 3781, 3784, 3787, 3790, 3793, 3796, 3799, 3802, 3805, 3808, 3811, 3814, 3817, 3820, 3823, 3826, 3829, 3832, 3835, 3838, 3841, 3844, 3847, 3850, 3853, 3856, 3859, 3862, 3865, 3868, 3871, 3874, 3877, 3880, 3883, 3886, 3889, 3892, 3895, 3898, 683, 684, 808, 809, 682, 685, 688, 691, 694, 697, 700, 703, 706, 709, 712, 715, 718, 721, 724, 727, 730, 733, 736, 739, 742, 745, 748, 751, 754, 757, 760, 763, 766, 769, 772, 775, 778, 781, 784, 787, 790, 793, 796, 799, 802, 805, 812, 936, 937, 811, 3902, 3905, 3908, 3911, 3914, 3917, 3920, 3923, 3926, 3929, 3932, 3935, 3938, 3941, 3944, 3947, 3950, 3953, 3956, 3959, 3962, 3965, 3968, 3971, 3974, 3977, 3980, 3983, 3986, 3989, 3992, 3995, 3998, 4001, 4004, 4007, 4010, 4013, 4016, 4019, 4022, 811, 812, 936, 937, 810, 813, 816, 819, 822, 825, 828, 831, 834, 837, 840, 843, 846, 849, 852, 855, 858, 861, 864, 867, 870, 873, 876, 879, 882, 885, 888, 891, 894, 897, 900, 903, 906, 909, 912, 915, 918, 921, 924, 927, 930, 933, 940, 1064, 1065, 939, 4026, 4029, 4032, 4035, 4038, 4041, 4044, 4047, 4050, 4053, 4056, 4059, 4062, 4065, 4068, 4071, 4074, 4077, 4080, 4083, 4086, 4089, 4092, 4095, 4098, 4101, 4104, 4107, 4110, 4113, 4116, 4119, 4122, 4125, 4128, 4131, 4134, 4137, 4140, 4143, 4146, 939, 940, 1064, 1065, 938, 941, 944, 947, 950, 953, 956, 959, 962, 965, 968, 971, 974, 977, 980, 983, 986, 989, 992, 995, 998, 1001, 1004, 1007, 1010, 1013, 1016, 1019, 1022, 1025, 1028, 1031, 1034, 1037, 1040, 1043, 1046, 1049, 1052, 1055, 1058, 1061, 1068, 1192, 1193, 1067, 4150, 4153, 4156, 4159, 4162, 4165, 4168, 4171, 4174, 4177, 4180, 4183, 4186, 4189, 4192, 4195, 4198, 4201, 4204, 4207, 4210, 4213, 4216, 4219, 4222, 4225, 4228, 4231, 4234, 4237, 4240, 4243, 4246, 4249, 4252, 4255, 4258, 4261, 4264, 4267, 4270, 1067, 1068, 1192, 1193, 1066, 1069, 1072, 1075, 1078, 1081, 1084, 1087, 1090, 1093, 1096, 1099, 1102, 1105, 1108, 1111, 1114, 1117, 1120, 1123, 1126, 1129, 1132, 1135, 1138, 1141, 1144, 1147, 1150, 1153, 1156, 1159, 1162, 1165, 1168, 1171, 1174, 1177, 1180, 1183, 1186, 1189, 1196, 1320, 1321, 1195, 4274, 4277, 4280, 4283, 4286, 4289, 4292, 4295, 4298, 4301, 4304, 4307, 4310, 4313, 4316, 4319, 4322, 4325, 4328, 4331, 4334, 4337, 4340, 4343, 4346, 4349, 4352, 4355, 4358, 4361, 4364, 4367, 4370, 4373, 4376, 4379, 4382, 4385, 4388, 4391, 4394, 1195, 1196, 1320, 1321, 1194, 1197, 1200, 1203, 1206, 1209, 1212, 1215, 1218, 1221, 1224, 1227, 1230, 1233, 1236, 1239, 1242, 1245, 1248, 1251, 1254, 1257, 1260, 1263, 1266, 1269, 1272, 1275, 1278, 1281, 1284, 1287, 1290, 1293, 1296, 1299, 1302, 1305, 1308, 1311, 1314, 1317, 1324, 1448, 1449, 1323, 4398, 4401, 4404, 4407, 4410, 4413, 4416, 4419, 4422, 4425, 4428, 4431, 4434, 4437, 4440, 4443, 4446, 4449, 4452, 4455, 4458, 4461, 4464, 4467, 4470, 4473, 4476, 4479, 4482, 4485, 4488, 4491, 4494, 4497, 4500, 4503, 4506, 4509, 4512, 4515, 4518, 1323, 1324, 1448, 1449, 1322, 1325, 1328, 1331, 1334, 1337, 1340, 1343, 1346, 1349, 1352, 1355, 1358, 1361, 1364, 1367, 1370, 1373, 1376, 1379, 1382, 1385, 1388, 1391, 1394, 1397, 1400, 1403, 1406, 1409, 1412, 1415, 1418, 1421, 1424, 1427, 1430, 1433, 1436, 1439, 1442, 1445, 1452, 1576, 1577, 1451, 4522, 4525, 4528, 4531, 4534, 4537, 4540, 4543, 4546, 4549, 4552, 4555, 4558, 4561, 4564, 4567, 4570, 4573, 4576, 4579, 4582, 4585, 4588, 4591, 4594, 4597, 4600, 4603, 4606, 4609, 4612, 4615, 4618, 4621, 4624, 4627, 4630, 4633, 4636, 4639, 4642, 1451, 1452, 1576, 1577, 1450, 1453, 1456, 1459, 1462, 1465, 1468, 1471, 1474, 1477, 1480, 1483, 1486, 1489, 1492, 1495, 1498, 1501, 1504, 1507, 1510, 1513, 1516, 1519, 1522, 1525, 1528, 1531, 1534, 1537, 1540, 1543, 1546, 1549, 1552, 1555, 1558, 1561, 1564, 1567, 1570, 1573, 1580, 1704, 1705, 1579, 4646, 4649, 4652, 4655, 4658, 4661, 4664, 4667, 4670, 4673, 4676, 4679, 4682, 4685, 4688, 4691, 4694, 4697, 4700, 4703, 4706, 4709, 4712, 4715, 4718, 4721, 4724, 4727, 4730, 4733, 4736, 4739, 4742, 4745, 4748, 4751, 4754, 4757, 4760, 4763, 4766, 1579, 1580, 1704, 1705, 1578, 1581, 1584, 1587, 1590, 1593, 1596, 1599, 1602, 1605, 1608, 1611, 1614, 1617, 1620, 1623, 1626, 1629, 1632, 1635, 1638, 1641, 1644, 1647, 1650, 1653, 1656, 1659, 1662, 1665, 1668, 1671, 1674, 1677, 1680, 1683, 1686, 1689, 1692, 1695, 1698, 1701, 1708, 1832, 1833, 1707, 4770, 4773, 4776, 4779, 4782, 4785, 4788, 4791, 4794, 4797, 4800, 4803, 4806, 4809, 4812, 4815, 4818, 4821, 4824, 4827, 4830, 4833, 4836, 4839, 4842, 4845, 4848, 4851, 4854, 4857, 4860, 4863, 4866, 4869, 4872, 4875, 4878, 4881, 4884, 4887, 4890, 1707, 1708, 1832, 1833, 1706, 1709, 1712, 1715, 1718, 1721, 1724, 1727, 1730, 1733, 1736, 1739, 1742, 1745, 1748, 1751, 1754, 1757, 1760, 1763, 1766, 1769, 1772, 1775, 1778, 1781, 1784, 1787, 1790, 1793, 1796, 1799, 1802, 1805, 1808, 1811, 1814, 1817, 1820, 1823, 1826, 1829, 1836, 1960, 1961, 1835, 4894, 4897, 4900, 4903, 4906, 4909, 4912, 4915, 4918, 4921, 4924, 4927, 4930, 4933, 4936, 4939, 4942, 4945, 4948, 4951, 4954, 4957, 4960, 4963, 4966, 4969, 4972, 4975, 4978, 4981, 4984, 4987, 4990, 4993, 4996, 4999, 5002, 5005, 5008, 5011, 5014, 1835, 1836, 1960, 1961, 1834, 1837, 1840, 1843, 1846, 1849, 1852, 1855, 1858, 1861, 1864, 1867, 1870, 1873, 1876, 1879, 1882, 1885, 1888, 1891, 1894, 1897, 1900, 1903, 1906, 1909, 1912, 1915, 1918, 1921, 1924, 1927, 1930, 1933, 1936, 1939, 1942, 1945, 1948, 1951, 1954, 1957, 1964, 2088, 2089, 1963, 5018, 5021, 5024, 5027, 5030, 5033, 5036, 5039, 5042, 5045, 5048, 5051, 5054, 5057, 5060, 5063, 5066, 5069, 5072, 5075, 5078, 5081, 5084, 5087, 5090, 5093, 5096, 5099, 5102, 5105, 5108, 5111, 5114, 5117, 5120, 5123, 5126, 5129, 5132, 5135, 5138, 1963, 1964, 2088, 2089, 1962, 1965, 1968, 1971, 1974, 1977, 1980, 1983, 1986, 1989, 1992, 1995, 1998, 2001, 2004, 2007, 2010, 2013, 2016, 2019, 2022, 2025, 2028, 2031, 2034, 2037, 2040, 2043, 2046, 2049, 2052, 2055, 2058, 2061, 2064, 2067, 2070, 2073, 2076, 2079, 2082, 2085, 2092, 2216, 2217, 2091, 5142, 5145, 5148, 5151, 5154, 5157, 5160, 5163, 5166, 5169, 5172, 5175, 5178, 5181, 5184, 5187, 5190, 5193, 5196, 5199, 5202, 5205, 5208, 5211, 5214, 5217, 5220, 5223, 5226, 5229, 5232, 5235, 5238, 5241, 5244, 5247, 5250, 5253, 5256, 5259, 5262, 2091, 2092, 2216, 2217, 2090, 2093, 2096, 2099, 2102, 2105, 2108, 2111, 2114, 2117, 2120, 2123, 2126, 2129, 2132, 2135, 2138, 2141, 2144, 2147, 2150, 2153, 2156, 2159, 2162, 2165, 2168, 2171, 2174, 2177, 2180, 2183, 2186, 2189, 2192, 2195, 2198, 2201, 2204, 2207, 2210, 2213, 2220, 2344, 2345, 2219, 5266, 5269, 5272, 5275, 5278, 5281, 5284, 5287, 5290, 5293, 5296, 5299, 5302, 5305, 5308, 5311, 5314, 5317, 5320, 5323, 5326, 5329, 5332, 5335, 5338, 5341, 5344, 5347, 5350, 5353, 5356, 5359, 5362, 5365, 5368, 5371, 5374, 5377, 5380, 5383, 5386, 2219, 2220, 2344, 2345, 2218, 2221, 2224, 2227, 2230, 2233, 2236, 2239, 2242, 2245, 2248, 2251, 2254, 2257, 2260, 2263, 2266, 2269, 2272, 2275, 2278, 2281, 2284, 2287, 2290, 2293, 2296, 2299, 2302, 2305, 2308, 2311, 2314, 2317, 2320, 2323, 2326, 2329, 2332, 2335, 2338, 2341, 3, 171, 299, 427, 555, 683, 811, 939, 1067, 1195, 1323, 1451, 1579, 1707, 1835, 1963, 2091, 2219, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3123, 3125, 3127, 3129, 3131, 3133, 3135, 3137, 3139, 3141, 3143, 3145, 3147, 3149, 3151, 3153, 3155, 3157, 3281, 3405, 3529, 3653, 3777, 3901, 4025, 4149, 4273, 4397, 4521, 4645, 4769, 4893, 5017, 5141, 5265, 5389, 5391, 5392, 5393, 5394, 5395, 5396, 5397, 5398, 5399, 5400, 5401, 5402, 5403, 5404, 5405, 5406, 5407, 5408, 5427, 5428, 5429, 5430, 5431, 5432, 5433, 5434, 5435, 5436, 5437, 5438, 5439, 5440, 5441, 5442, 5443, 5444, 5463, 5464, 5465, 5466, 5467, 5468, 5469, 5470, 5471, 5472, 5473, 5474, 5475, 5476, 5477, 5478, 5479, 5480, 5499, 5500, 5501, 5502, 5503, 5504, 5505, 5506, 5507, 5508, 5509, 5510, 5511, 5512, 5513, 5514, 5515, 5516, 5535, 5536, 5537, 5538, 5539, 5540, 5541, 5542, 5543, 5544, 5545, 5546, 5547, 5548, 5549, 5550, 5551, 5552, 5553, 5554, 5555, 5556, 5557, 5558, 5559, 5560, 5561, 5562, 5563, 5564, 5565, 5566, 5567, 5568, 5569, 5570, 5589, 5590, 5591, 5592, 5593, 5594, 5595, 5596, 5597, 5598, 5599, 5600, 5601, 5602, 5603, 5604, 5605, 5606, 5607, 5608, 5609, 5610, 5611, 5612, 5613, 5614, 5615, 5616, 5617, 5618, 5619, 5620, 5621, 5622, 5623, 5624, 5643, 5644, 5645, 5646, 5647, 5648, 5649, 5650, 5651, 5652, 5653, 5654, 5655, 5656, 5657, 5658, 5659, 5660, 5661, 5662, 5663, 5664, 5665, 5666, 5667, 5668, 5669, 5670, 5671, 5672, 5673, 5674, 5675, 5676, 5677, 5678, 5697, 5698, 5699, 5700, 5701, 5702, 5703, 5704, 5705, 5706, 5707, 5708, 5709, 5710, 5711, 5712, 5713, 5714, 5733, 5734, 5735, 5736, 5737, 5738, 5739, 5740, 5741, 5742, 5743, 5744, 5745, 5746, 5747, 5748, 5749, 5750, 5769, 5770, 5771, 5772, 5773, 5774, 5775, 5776, 5777, 5778, 5779, 5780, 5781, 5782, 5783, 5784, 5785, 5786, 5805, 5806, 5807, 5808, 5809, 5810, 5811, 5812, 5813, 5814, 5815, 5816, 5817, 5818, 5819, 5820, 5821, 5822, 5841, 5842, 5843, 5844, 5845, 5846, 5847, 5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, 5856, 5857, 5858, 5877, 5878, 5879, 5880, 5881, 5882, 5883, 5884, 5885, 5886, 5887, 5888, 5889, 5890, 5891, 5892, 5893, 5894, 5913, 5914, 5915, 5916, 5917, 5918, 5919, 5920, 5921, 5922, 5923, 5924, 5925, 5926, 5927, 5928, 5929, 5930, 5949, 5950, 5951, 5952, 5953, 5954, 5955, 5956, 5957, 5958, 5959, 5960, 5961, 5962, 5963, 5964, 5965, 5966, 5985, 5986, 5987, 5988, 5989, 5990, 5991, 5992, 5993, 5994, 5995, 5996, 5997, 5998, 5999, 6000, 6001, 6002, 6021, 6022, 6023, 6024, 6025, 6026, 6027, 6028, 6029, 6030, 6031, 6032, 6033, 6034, 6035, 6036, 6037, 6038, 6057, 6058, 6059, 6060, 6061, 6062, 6063, 6064, 6065, 6066, 6067, 6068, 6069, 6070, 6071, 6072, 6073, 6074, 6093, 6094, 6095, 6096, 6097, 6098, 6099, 6100, 6101, 6102, 6103, 6104, 6105, 6106, 6107, 6108, 6109, 6110, 6129, 6130, 6131, 6132, 6133, 6134, 6135, 6136, 6137, 6138, 6139, 6140, 6141, 6142, 6143, 6144, 6145, 6146, 6165, 6166, 6167, 6168, 6169, 6170, 6171, 6172, 6173, 6174, 6175, 6176, 6177, 6178, 6179, 6180, 6181, 6182, 6201, 6202, 6203, 6204, 6205, 6206, 6207, 6208, 6209, 6210, 6211, 6212, 6213, 6214, 6215, 6216, 6217, 6218, 6219, 6220, 6221, 6222, 6223, 6224, 6225, 6226, 6227, 6228, 6229, 6230, 6231, 6232, 6233, 6234, 6235, 6236, 6238, 6240, 6242, 6244, 6246, 6248, 6250, 6252, 6254, 6256, 6258, 6260, 6262, 6264, 6266, 6268, 6270, 6272, 6273, 6274, 6275, 6276, 6277, 6278, 6279, 6280, 6281, 6282, 6283, 6284, 6285, 6286, 6287, 6288, 6289, 6290, 6291, 6292, 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6310, 6312, 6314, 6316, 6318, 6320, 6322, 6324, 6326, 6328, 6330, 6332, 6334, 6336, 6338, 6340, 6342, 6344, 6346, 6348, 6350, 6352, 6354, 6356, 6358, 6360, 6362, 6364, 6366, 6368, 6370, 6372, 6374, 6376, 6378, 6380, 6382, 6384, 6386, 6388, 6390, 6392, 6394, 6396, 6398, 6400, 6402, 6404, 6406, 6408, 6410, 6412, 6414, 6416, 6418, 6420, 6422, 6424, 6426, 6428, 6430, 6432, 6434, 6436, 6438, 6440, 6442, 6444, 6446, 6448, 6450, 6452, 6454, 6456, 6458, 6460, 6462, 6464, 6466, 6468, 6470, 6472, 6474, 6476, 6478, 6480, 6482, 6484, 6486, 6488, 6489, 6490, 6491, 6492, 6493, 6494, 6495, 6496, 6497, 6498, 6499, 6500, 6501, 6502, 6503, 6504, 6505, 6507, 6509, 6511, 6513, 6515, 6517, 6519, 6521, 6523, 6525, 6527, 6529, 6531, 6533, 6535, 6537, 6539, 6541, 6542, 6543, 6544, 6545, 6546, 6547, 6548, 6549, 6550, 6551, 6552, 6553, 6554, 6555, 6556, 6557, 6558, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6575, 6577, 6579, 6581, 6583, 6585, 6587, 6589, 6591, 6593, 6595, 6633, 6635, 6637, 6639, 6641, 6643, 6645, 6647, 6649, 6651, 6653, 6655, 6657, 6659, 6661, 6663, 6665, 6667, 6669, 6671, 6673, 6675, 6677, 6679, 6681, 6683, 6685, 6687, 6689, 6691, 6693, 6695, 6697, 6699, 6701, 6703, 6705, 6707, 6709, 6711, 6713, 6715, 6717, 6719, 6721, 6723, 6725, 6727, 6729, 6731, 6733, 6735, 6737, 6739, 6741, 6743, 6745, 6747, 6749, 6751, 6753, 6755, 6757, 6759, 6761, 6763, 6765, 6767, 6769, 6771, 6773, 6775, 6777, 6779, 6781, 6783, 6785, 6787, 6789, 6791, 6793, 6795, 6797, 6799, 6801, 6803, 6805, 6807, 6809, 6811, 6813, 6815, 6817, 6819, 6821, 6823, 6825, 6827, 6829, 6831, 6833, 6835, 6837, 6839, 6841, 6843, 6845, 6847, 6848, 6850, 6852, 6854, 6856, 6858, 6860, 6862, 6864, 6866, 6868, 6870, 6872, 6874, 6876, 6878, 6880, 6882, 6884, 6885, 6886, 6887, 6888, 6889, 6890, 6891, 6892, 6893, 6894, 6895, 6896, 6897, 6898, 6899, 6900, 6901, 6902, 6904, 6906, 6908, 6910, 6912, 6914, 6916, 6918, 6920, 6922, 6924, 6926, 6928, 6930, 6932, 6934, 6936, 6938, 6976, 6978, 6980, 6982, 6984, 6986, 6988, 6990, 6992, 6994, 6996, 6998, 7000, 7002, 7004, 7006, 7008, 7010, 7012, 7014, 7016, 7018, 7020, 7022, 7024, 7026, 7028, 7030, 7032, 7034, 7036, 7038, 7040, 7042, 7044, 7046, 7048, 7050, 7052, 7054, 7056, 7058, 7060, 7062, 7064, 7066, 7068, 7070, 7072, 7074, 7076, 7078, 7080, 7082, 7084, 7086, 7088, 7090, 7092, 7094, 7096, 7098, 7100, 7102, 7104, 7106, 7108, 7110, 7112, 7114, 7116, 7118, 7119, 7120, 7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130, 7131, 7132, 7133, 7134, 7135, 7136, 7138, 7140, 7142, 7144, 7146, 7148, 7150, 7152, 7154, 7156, 7158, 7160, 7162, 7164, 7166, 7168, 7170, 7172, 7210, 7212, 7214, 7216, 7218, 7220, 7222, 7224, 7226, 7228, 7230, 7232, 7234, 7236, 7238, 7240, 7242, 7244, 7246, 7248, 7250, 7252, 7254, 7256, 7258, 7260, 7262, 7264, 7266, 7268, 7270, 7272, 7274, 7276, 7278, 7280, 7282, 7284, 7286, 7288, 7290, 7292, 7294, 7296, 7298, 7300, 7302, 7304, 7306, 7308, 7310, 7312, 7314, 7316, 7318, 7320, 7322, 7324, 7326, 7328, 7330, 7332, 7334, 7336, 7338, 7340, 7342, 7344, 7346, 7348, 7350, 7352, 7390, 7392, 7394, 7396, 7398, 7400, 7402, 7404, 7406, 7408, 7410, 7412, 7414, 7416, 7418, 7420, 7422, 7424, 7426, 7428, 7430, 7432, 7434, 7436, 7438, 7440, 7442, 7444, 7446, 7448, 7450, 7452, 7454, 7456, 7458, 7460, 7462, 7464, 7466, 7468, 7470, 7472, 7474, 7476, 7478, 7480, 7482, 7484, 7486, 7488, 7490, 7492, 7494, 7496, 7498, 7500, 7502, 7504, 7506, 7508, 7510, 7512, 7514, 7516, 7518, 7520, 7522, 7524, 7526, 7528, 7530, 7532, 7533, 7534, 7535, 7536, 7537, 7538, 7539, 7540, 7541, 7542, 7543, 7544, 7545, 7546, 7547, 7548, 7549, 7550, 7552, 7554, 7556, 7558, 7560, 7562, 7564, 7566, 7568, 7570, 7572, 7574, 7576, 7578, 7580, 7582, 7584, 7586, 7624, 7626, 7628, 7630, 7632, 7634, 7636, 7638, 7640, 7642, 7644, 7646, 7648, 7650, 7652, 7654, 7656, 7658, 7660, 7662, 7664, 7666, 7668, 7670, 7672, 7674, 7676, 7678, 7680, 7682, 7684, 7686, 7688, 7690, 7692, 7694, 7696, 7698, 7700, 7702, 7704, 7706, 7708, 7710, 7712, 7714, 7716, 7718, 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750, 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766, 7804, 7806, 7808, 7810, 7812, 7814, 7816, 7818, 7820, 7822, 7824, 7826, 7828, 7830, 7832, 7834, 7836, 7838, 7840, 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862, 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878, 7880, 7882, 7884, 7886, 7888, 7890, 7892, 7894, 7896, 7898, 7900, 7902, 7904, 7906, 7908, 7910, 7912, 7914, 7916, 7918, 7920, 7922, 7924, 7926, 7928, 7930, 7932, 7934, 7936, 7938, 7940, 7942, 7944, 7946, 7948, 7950, 7952, 7954, 7956, 7958, 7960, 7962, 7964, 7966, 7968, 7970, 7972, 7974, 7976, 7978, 7980, 8018, 8020, 8022, 8024, 8026, 8028, 8030, 8032, 8034, 8036, 8038, 8040, 8042, 8044, 8046, 8048, 8050, 8052, 8054, 8056, 8058, 8060, 8062, 8064, 8066, 8068, 8070, 8072, 8074, 8076, 8078, 8080, 8082, 8084, 8086, 8088, 8090, 8092, 8094, 8096, 8098, 8100, 8102, 8104, 8106, 8108, 8110, 8112, 8114, 8116, 8118, 8120, 8122, 8124, 8126, 8128, 8130, 8132, 8134, 8136, 8138, 8140, 8142, 8144, 8146, 8148, 8150, 8152, 8154, 8156, 8158, 8160, 8162, 8164, 8166, 8168, 8170, 8172, 8174, 8176, 8178, 8180, 8182, 8184, 8186, 8188, 8190, 8192, 8230, 8232, 8234, 8236, 8238, 8240, 8242, 8244, 8246, 8248, 8250, 8252, 8254, 8256, 8258, 8260, 8262, 8264, 8266, 8268, 8270, 8272, 8274, 8276, 8278, 8280, 8282, 8284, 8286, 8288, 8290, 8292, 8294, 8296, 8298, 8300, 8302, 8304, 8306, 8308, 8310, 8312, 8314, 8316, 8318, 8320, 8322, 8324, 8326, 8328, 8330, 8332, 8334, 8336, 8338, 8340, 8342, 8344, 8346, 8348, 8350, 8352, 8354, 8356, 8358, 8360, 8362, 8364, 8366, 8368, 8370, 8372, 8374, 8376, 8378, 8380, 8382, 8384, 8386, 8388, 8390, 8392, 8394, 8396, 8398, 8400, 8402, 8440, 8442, 8444, 8446, 8448, 8450, 8452, 8454, 8456, 8458, 8460, 8462, 8464, 8466, 8468, 8470, 8472, 8474, 8476, 8478, 8480, 8482, 8484, 8486, 8488, 8490, 8492, 8494, 8496, 8498, 8500, 8502, 8504, 8506, 8508, 8510, 8512, 8514, 8516, 8518, 8520, 8522, 8524, 8526, 8528, 8530, 8532, 8534, 8536, 8538, 8540, 8542, 8544, 8546, 8548, 8550, 8552, 8554, 8556, 8558, 8560, 8562, 8564, 8566, 8568, 8570, 8572, 8574, 8576, 8578, 8580, 8582, 8584, 8586, 8588, 8590, 8592, 8594, 8596, 8598, 8600, 8602, 8604, 8606, 8608, 8610, 8612, 8614, 8616, 8618, 8620, 8622, 8624, 8626, 8628, 8630, 8632, 8634, 8636, 8638, 8640, 8642, 8644, 8646, 8648, 8650, 8652, 8654, 8656, 8658, 8660, 8662, 8664, 8666, 8668, 8670, 8672, 8674, 8676, 8678, 8680, 8682, 8684, 8686, 8688, 8690, 8692, 8694, 8696, 8698, 8700, 8702, 8704, 8706, 8708, 8710, 8712, 8714, 8716, 8718, 8720, 8722, 8724, 8726, 8728, 8730, 8732, 8734, 8736, 8738, 8740, 8742, 8744, 8746, 8748, 8750, 8752, 8754, 8756, 8758, 8760, 8762, 8764, 8766, 8768, 8770, 8772, 8774, 8776, 8778, 8780, 8782, 8784, 8786, 8788, 8790, 8792, 8794, 8796, 8798, 8800, 8802, 8804, 8806, 8808, 8810, 8812, 8814, 8816, 8818, 8820, 8822, 8824, 8826, 8828, 8830, 8832, 8834, 8836, 8838, 8840, 8842, 8844, 8846, 8848, 8850, 8852, 8854, 8856, 8858, 8860, 8862, 8864, 8866, 8868, 8870, 8872, 8874, 8876, 8878, 8880, 8882, 8884, 8886, 8888, 8890, 8892, 8894, 8896, 8898, 8900, 8902, 8904, 8906, 8908, 8910, 8912, 8914, 8916, 8918, 8920, 8922, 8924, 8926, 8928, 8930, 8932, 8934, 8936, 8938, 8940, 8942, 8944, 8946, 8948, 8950, 8952, 8954, 8956, 8958, 8960, 8962, 8964, 8966, 8968, 8970, 8972, 8974, 8976, 8978, 8980, 8982, 8984, 8986, 8988, 8990, 8992, 8994, 8996, 8998, 9000, 9002, 9004, 9006, 9008, 9010, 9012, 9014, 9016, 9018, 9020, 9022, 9024, 9026, 9028, 9030, 9032, 9034, 9036, 9038, 9040, 9042, 9044, 9046, 9048, 9050, 9052, 9054, 9056, 9058, 9060, 9062, 9064, 9066, 9068, 9070, 9072, 9074, 9076, 9078, 9080, 9082, 9084, 9086, 9088, 9090, 9092, 9094, 9096, 9098, 9100, 9102, 9104, 9106, 9108, 9110, 9112, 9114, 9116, 9118, 9120, 9122, 9124, 9126, 9128, 9130, 9132, 9134, 9136, 9138, 9140, 9142, 9144, 9146, 9148, 9150, 9152, 9154, 9156, 9158, 9160, 9162, 9164, 9166, 9168, 9170, 9172, 9174, 9176, 9178, 9180, 9182, 9184, 9186, 9188, 9190, 9192, 9194, 9196, 9198, 9200, 9202, 9204, 9206, 9208, 9210, 9212, 9214, 9216, 9218, 9220, 9222, 9224, 9226, 9228, 9230, 9232, 9234, 9236, 9238, 9240, 9242, 9244, 9246, 9248, 9250, 9252, 9254, 9256, 9258, 9260, 9262, 9264, 9266, 9268, 9270, 9272, 9274, 9276, 9278, 9280, 9282, 9284, 9286, 9288, 9290, 9292, 9294, 9296, 9298, 9300, 9302, 9304, 9306, 9308, 9310, 9312, 9314, 9316, 9318, 9320, 9322, 9324, 9326, 9328, 9330, 9332, 9334, 9336, 9338, 9340, 9342, 9344, 9346, 9348, 9350, 9352, 9354, 9356, 9358, 9360, 9362, 9364, 9366, 9368, 9370, 9372, 9374, 9376, 9378, 9380, 9382, 9384, 9386, 9388, 9390, 9392, 9394, 9396, 9398, 9400, 9402, 9404, 9406, 9408, 9410, 9412, 9414, 9416, 9418, 9420, 9422, 9424, 9426, 9428, 9430, 9432, 9434, 9436, 9438, 9440, 9442, 9444, 9446, 9447, 9448, 9449, 9450, 9451, 9452, 9453, 9454, 9455, 9456, 9457, 9458, 9459, 9460, 9461, 9462, 9463, 9464, 9466, 9468, 9470, 9472, 9474, 9476, 9478, 9480, 9482, 9484, 9486, 9488, 9490, 9492, 9494, 9496, 9498, 9500, 9538, 9540, 9542, 9544, 9546, 9548, 9550, 9552, 9554, 9556, 9558, 9560, 9562, 9564, 9566, 9568, 9570, 9572, 9574, 9576, 9578, 9580, 9582, 9584, 9586, 9588, 9590, 9592, 9594, 9596, 9598, 9600, 9602, 9604, 9606, 9608, 9610, 9612, 9614, 9616, 9618, 9620, 9622, 9624, 9626, 9628, 9630, 9632, 9634, 9636, 9638, 9640, 9642, 9644, 9646, 9648, 9650, 9652, 9654, 9656, 9658, 9660, 9662, 9664, 9666, 9668, 9670, 9672, 9674, 9676, 9678, 9680, 9682, 9684, 9686, 9688, 9690, 9692, 9694, 9696, 9698, 9700, 9702, 9704, 9706, 9708, 9710, 9712, 9714, 9716, 9718, 9720, 9722, 9724, 9726, 9728, 9730, 9732, 9734, 9736, 9738, 9740, 9742, 9744, 9746, 9748, 9750, 9752, 9754, 9756, 9758, 9760, 9762, 9764, 9766, 9768, 9770, 9772, 9774, 9776, 9778, 9780, 9782, 9784, 9786, 9788, 9789, 9790, 9791, 9792, 9793, 9794, 9795, 9796, 9797, 9798, 9799, 9800, 9801, 9802, 9803, 9804, 9805, 9806, 9808, 9810, 9812, 9814, 9816, 9818, 9820, 9822, 9824, 9826, 9828, 9830, 9832, 9834, 9836, 9838, 9840, 9842, 9880, 9882, 9884, 9886, 9888, 9890, 9892, 9894, 9896, 9898, 9900, 9902, 9904, 9906, 9908, 9910, 9912, 9914, 9916, 9918, 9920, 9922, 9924, 9926, 9928, 9930, 9932, 9934, 9936, 9938, 9940, 9942, 9944, 9946, 9948, 9950, 9952, 9954, 9956, 9958, 9960, 9962, 9964, 9966, 9968, 9970, 9972, 9974, 9976, 9978, 9980, 9982, 9984, 9986, 9988, 9990, 9992, 9994, 9996, 9998, 10000, 10002, 10004, 10006, 10008, 10010, 10012, 10014, 10016, 10018, 10020, 10022, 10023, 10024, 10025, 10026, 10027, 10028, 10029, 10030, 10031, 10032, 10033, 10034, 10035, 10036, 10037, 10038, 10039, 10040, 10042, 10044, 10046, 10048, 10050, 10052, 10054, 10056, 10058, 10060, 10062, 10064, 10066, 10068, 10070, 10072, 10074, 10076, 10114, 10116, 10118, 10120, 10122, 10124, 10126, 10128, 10130, 10132, 10134, 10136, 10138, 10140, 10142, 10144, 10146, 10148, 10150, 10152, 10154, 10156, 10158, 10160, 10162, 10164, 10166, 10168, 10170, 10172, 10174, 10176, 10178, 10180, 10182, 10184, 10186, 10188, 10190, 10192, 10194, 10196, 10198, 10200, 10202, 10204, 10206, 10208, 10210, 10212, 10214, 10216, 10218, 10220, 10222, 10224, 10226, 10228, 10230, 10232, 10234, 10236, 10238, 10240, 10242, 10244, 10246, 10248, 10250, 10252, 10254, 10256, 10258, 10260, 10262, 10264, 10266, 10268, 10270, 10272, 10274, 10276, 10278, 10280, 10282, 10284, 10286, 10288, 10290, 10328, 10330, 10332, 10334, 10336, 10338, 10340, 10342, 10344, 10346, 10348, 10350, 10352, 10354, 10356, 10358, 10360, 10362, 10364, 10366, 10368, 10370, 10372, 10374, 10376, 10378, 10380, 10382, 10384, 10386, 10388, 10390, 10392, 10394, 10396, 10398, 10400, 10402, 10404, 10406, 10408, 10410, 10412, 10414, 10416, 10418, 10420, 10422, 10424, 10426, 10428, 10430, 10432, 10434, 10436, 10438, 10440, 10442, 10444, 10446, 10448, 10450, 10452, 10454, 10456, 10458, 10460, 10462, 10464, 10466, 10468, 10470, 10508, 10510, 10512, 10514, 10516, 10518, 10520, 10522, 10524, 10526, 10528, 10530, 10532, 10534, 10536, 10538, 10540, 10542, 10544, 10546, 10548, 10550, 10552, 10554, 10556, 10558, 10560, 10562, 10564, 10566, 10568, 10570, 10572, 10574, 10576, 10578, 10580, 10582, 10584, 10586, 10588, 10590, 10592, 10594, 10596, 10598, 10600, 10602, 10604, 10606, 10608, 10610, 10612, 10614, 10616, 10618, 10620, 10622, 10624, 10626, 10628, 10630, 10632, 10634, 10636, 10638, 10640, 10642, 10644, 10646, 10648, 10650, 10652, 10654, 10656, 10658, 10660, 10662, 10664, 10666, 10668, 10670, 10672, 10674, 10676, 10678, 10680, 10682, 10684, 10686, 10688, 10690, 10692, 10694, 10696, 10698, 10700, 10702, 10704, 10706, 10708, 10710, 10712, 10714, 10716, 10718, 10720, 10722, 10724, 10726, 10728, 10730, 10732, 10734, 10736, 10738, 10740, 10742, 10744, 10746, 10748, 10750, 10752, 10754, 10756, 10758, 10759, 10760, 10761, 10762, 10763, 10764, 10765, 10766, 10767, 10768, 10769, 10770, 10771, 10772, 10773, 10774, 10775, 10776, 10778, 10780, 10782, 10784, 10786, 10788, 10790, 10792, 10794, 10796, 10798, 10800, 10802, 10804, 10806, 10808, 10810, 10812, 10850, 10852, 10854, 10856, 10858, 10860, 10862, 10864, 10866, 10868, 10870, 10872, 10874, 10876, 10878, 10880, 10882, 10884, 10886, 10888, 10890, 10892, 10894, 10896, 10898, 10900, 10902, 10904, 10906, 10908, 10910, 10912, 10914, 10916, 10918, 10920, 10922, 10924, 10926, 10928, 10930, 10932, 10934, 10936, 10938, 10940, 10942, 10944, 10946, 10948, 10950, 10952, 10954, 10956, 10958, 10960, 10962, 10964, 10966, 10968, 10970, 10972, 10974, 10976, 10978, 10980, 10982, 10984, 10986, 10988, 10990, 10992, 10994, 10996, 10998, 11000, 11002, 11004, 11006, 11008, 11010, 11012, 11014, 11016, 11018, 11020, 11022, 11024, 11026, 11028, 11030, 11032, 11034, 11036, 11038, 11040, 11042, 11044, 11046, 11048, 11050, 11052, 11054, 11056, 11058, 11060, 11062, 11064, 11066, 11068, 11070, 11072, 11074, 11076, 11078, 11080, 11082, 11084, 11086, 11088, 11090, 11092, 11094, 11096, 11098, 11100, 11102, 11104, 11106, 11108, 11110, 11112, 11114, 11116, 11118, 11120, 11122, 11124, 11126, 11128, 11130, 11132, 11134, 11136, 11138, 11140, 11142, 11144, 11146, 11148, 11150, 11152, 11154, 11156, 11158, 11160, 11162, 11164, 11166, 11168, 11170, 11172, 11174, 11176, 11178, 11180, 11182, 11184, 11186, 11188, 11190, 11192, 11194, 11196, 11198, 11200, 11202, 11204, 11206, 11208, 11210, 11212, 11214, 11216, 11218, 11220, 11222, 11224, 11226, 11228, 11230, 11232, 11234, 11236, 11238, 11240, 11242, 11244, 11246, 11248, 11250, 11252, 11254, 11256, 11258, 11260, 11262, 11264, 11266, 11268, 11270, 11272, 11274, 11276, 11278, 11280, 11282, 11284, 11286, 11288, 11290, 11292, 11294, 11296, 11298, 11300, 11302, 11304, 11306, 11308, 11310, 11312, 11314, 11316, 11318, 11320, 11322, 11324, 11326, 11328, 11330, 11332, 11334, 11336, 11338, 11340, 11342, 11344, 11346, 11348, 11350, 11352, 11354, 11356, 11358, 11360, 11362, 11364, 11366, 11368, 11370, 11372, 11374, 11376, 11378, 11380, 11382, 11384, 11386, 11388, 11390, 11392, 11394, 11396, 11398, 11400, 11402, 11404, 11406, 11408, 11410, 11412, 11414, 11416, 11418, 11420, 11422, 11424, 11426, 11428, 11430, 11432, 11434, 11436, 11438, 11440, 11442, 11444, 11446, 11448, 11450, 11452, 11454, 11456, 11458, 11460, 11462, 11464, 11466, 11468, 11470, 11472, 11474, 11476, 11478, 11480, 11482, 11484, 11486, 11488, 11490, 11492, 11494, 11496, 11498, 11500, 11502, 11504, 11506, 11508, 11510, 11512, 11514, 11516, 11518, 11520, 11522, 11524, 11526, 11528, 11530, 11532, 11534, 11536, 11538, 11540, 11542, 11544, 11546, 11548, 11550, 11552, 11554, 11556, 11558, 11560, 11562, 11564, 11566, 11568, 11570, 11572, 11574, 11576, 11578, 11580, 11582, 11584, 11586, 11588, 11590, 11592, 11594, 11596, 11598, 11600, 11602, 11604, 11606, 11608, 11610, 11612, 11614, 11616, 11618, 11620, 11622, 11624, 11626, 11628, 11630, 11632, 11634, 11636, 11638, 11640, 11642, 11644, 11646, 11648, 11650, 11652, 11654, 11656, 11658, 11660, 11662, 11664, 11666, 11668, 11670, 11672, 11674, 11676, 11678, 11680, 11682, 11684, 11686, 11688, 11690, 11692, 11694, 11696, 11698, 11700, 11702, 11704, 11706, 11708, 11710, 11712, 11714, 11716, 11718, 11720, 11722, 11724, 11726, 11728, 11730, 11732, 11734, 11736, 11738, 11740, 11742, 11744, 11746, 11748, 11750, 11752, 11754, 11756, 11758, 11760, 11762, 11764, 11766, 11768, 11770, 11772, 11774, 11776, 11778, 11780, 11782, 11784, 11786, 11788, 11790, 11792, 11794, 11796, 11798, 11800, 11802, 11804, 11806, 11808, 11810, 11812, 11814, 11816, 11818, 11820, 11822, 11824, 11826, 11828, 11830, 11832, 11834, 11836, 11838, 11840, 11842, 11844, 11846, 11848, 11850, 11852, 11854, 11856, 11858, 11860, 11862, 11864, 11866, 11868, 11870, 11872, 11874, 11876, 11878, 11880, 11882, 11884, 11886, 11888, 11890, 11892, 11894, 11896, 11898, 11900, 11902, 11904, 11906, 11908, 11910, 11912, 11914, 11916, 11918, 11920, 11922, 11924, 11926, 11928, 11930, 11932, 11934, 11936, 11938, 11940, 11942, 11944, 11946, 11948, 11950, 11952, 11954, 11956, 11958, 11960, 11962, 11964, 11966, 11968, 11970, 11972, 11974, 11976, 11978, 11980, 11982, 11984, 11986, 11988, 11990, 11992, 11994, 11996, 11998, 12000, 12002, 12004, 12006, 12008, 12010, 12012, 12014, 12016, 12018, 12020, 12022, 12024, 12026, 12028, 12030, 12032, 12034, 12036, 12038, 12040, 12042, 12044, 12046, 12048, 12050, 12052, 12054, 12056, 12058, 12060, 12062, 12064, 12066, 12068, 12070, 12072, 12074, 12076, 12078, 12080, 12082, 12084, 12086, 12088, 12090, 12092, 12094, 12096, 12098, 12100, 12102, 12104, 12106, 12144, 12146, 12148, 12150, 12152, 12154, 12156, 12158, 12160, 12162, 12164, 12166, 12168, 12170, 12172, 12174, 12176, 12178, 12180, 12182, 12184, 12186, 12188, 12190, 12192, 12194, 12196, 12198, 12200, 12202, 12204, 12206, 12208, 12210, 12212, 12214, 12216, 12218, 12220, 12222, 12224, 12226, 12228, 12230, 12232, 12234, 12236, 12238, 12240, 12242, 12244, 12246, 12248, 12250, 12252, 12254, 12256, 12258, 12260, 12262, 12264, 12266, 12268, 12270, 12272, 12274, 12276, 12278, 12280, 12282, 12284, 12286, 12287, 12288, 12289, 12290, 12291, 12292, 12293, 12294, 12295, 12296, 12297, 12298, 12299, 12300, 12301, 12302, 12303, 12304, 12306, 12308, 12310, 12312, 12314, 12316, 12318, 12320, 12322, 12324, 12326, 12328, 12330, 12332, 12334, 12336, 12338, 12340, 12378, 12380, 12382, 12384, 12386, 12388, 12390, 12392, 12394, 12396, 12398, 12400, 12402, 12404, 12406, 12408, 12410, 12412, 12414, 12416, 12418, 12420, 12422, 12424, 12426, 12428, 12430, 12432, 12434, 12436, 12438, 12440, 12442, 12444, 12446, 12448, 12450, 12452, 12454, 12456, 12458, 12460, 12462, 12464, 12466, 12468, 12470, 12472, 12474, 12476, 12478, 12480, 12482, 12484, 12486, 12488, 12490, 12492, 12494, 12496, 12498, 12500, 12502, 12504, 12506, 12508, 12510, 12512, 12514, 12516, 12518, 12520, 12521, 12522, 12523, 12524, 12525, 12526, 12527, 12528, 12529, 12530, 12531, 12532, 12533, 12534, 12535, 12536, 12537, 12538, 12540, 12542, 12544, 12546, 12548, 12550, 12552, 12554, 12556, 12558, 12560, 12562, 12564, 12566, 12568, 12570, 12572, 12574, 12612, 12614, 12616, 12618, 12620, 12622, 12624, 12626, 12628, 12630, 12632, 12634, 12636, 12638, 12640, 12642, 12644, 12646, 12648, 12650, 12652, 12654, 12656, 12658, 12660, 12662, 12664, 12666, 12668, 12670, 12672, 12674, 12676, 12678, 12680, 12682, 12684, 12686, 12688, 12690, 12692, 12694, 12696, 12698, 12700, 12702, 12704, 12706, 12708, 12710, 12712, 12714, 12716, 12718, 12720, 12722, 12724, 12726, 12728, 12730, 12732, 12734, 12736, 12738, 12740, 12742, 12744, 12746, 12748, 12750, 12752, 12754, 12755, 12756, 12757, 12758, 12759, 12760, 12761, 12762, 12763, 12764, 12765, 12766, 12767, 12768, 12769, 12770, 12771, 12772, 12774, 12776, 12778, 12780, 12782, 12784, 12786, 12788, 12790, 12792, 12794, 12796, 12798, 12800, 12802, 12804, 12806, 12808, 12845, 12846, 12847, 12848, 12849, 12850, 12851, 12852, 12853, 12854, 12855, 12856, 12857, 12858, 12859, 12860, 12861, 12862, 12864, 12866, 12868, 12870, 12872, 12874, 12876, 12878, 12880, 12882, 12884, 12886, 12888, 12890, 12892, 12894, 12896, 12898, 12936, 12938, 12940, 12942, 12944, 12946, 12948, 12950, 12952, 12954, 12956, 12958, 12960, 12962, 12964, 12966, 12968, 12970, 12972, 12974, 12976, 12978, 12980, 12982, 12984, 12986, 12988, 12990, 12992, 12994, 12996, 12998, 13000, 13002, 13004, 13042, 13044, 13046, 13048, 13050, 13052, 13054, 13056, 13058, 13060, 13062, 13064, 13066, 13068, 13070, 13072, 13074, 13112, 13114, 13116, 13118, 13120, 13122, 13124, 13126, 13128, 13130, 13132, 13134, 13136, 13138, 13140, 13142, 13144, 13146, 13148, 13150, 13152, 13154, 13156, 13158, 13160, 13162, 13164, 13166, 13168, 13170, 13172, 13174, 13176, 13178, 13216, 13218, 13220, 13222, 13224, 13226, 13228, 13230, 13232, 13234, 13236, 13238, 13240, 13242, 13244, 13246, 13284, 13286, 13288, 13290, 13292, 13294, 13296, 13298, 13300, 13302, 13304, 13306, 13308, 13310, 13312, 13314, 13316, 13318, 13320, 13322, 13324, 13326, 13328, 13330, 13332, 13334, 13336, 13338, 13340, 13342, 13344, 13346, 13348, 13386, 13388, 13390, 13392, 13394, 13396, 13398, 13400, 13402, 13404, 13406, 13408, 13410, 13412, 13414, 44, 172, 300, 428, 556, 684, 812, 940, 1068, 1196, 1324, 1452, 1580, 1708, 1836, 1964, 2092, 2220, 5390, 13451, 13452, 13453, 13454, 13455, 13456, 13457, 13458, 13459, 13460, 13461, 13462, 13463, 13464, 13465, 13466, 13467], var_dist_options: { COMPONENT: { matrix: [ diff --git a/tests/perf/multiverse/config.js b/tests/perf/multiverse/config.js index 3a60d4c..b47d2a6 100644 --- a/tests/perf/multiverse/config.js +++ b/tests/perf/multiverse/config.js @@ -944,919 +944,6 @@ var config = module.exports = { '3020', '3021', '3022'], - targetedIndexes: [5, - 30, - 37, - 44, - 51, - 58, - 65, - 72, - 79, - 86, - 93, - 100, - 107, - 114, - 121, - 128, - 135, - 142, - 149, - 156, - 8, - 9, - 10, - 27, - 31, - 32, - 33, - 34, - 38, - 39, - 40, - 41, - 45, - 46, - 47, - 48, - 52, - 53, - 54, - 55, - 59, - 60, - 61, - 62, - 66, - 67, - 68, - 69, - 73, - 74, - 75, - 76, - 80, - 81, - 82, - 83, - 87, - 88, - 89, - 90, - 94, - 95, - 96, - 97, - 101, - 102, - 103, - 104, - 108, - 109, - 110, - 111, - 115, - 116, - 117, - 118, - 122, - 123, - 124, - 125, - 129, - 130, - 131, - 132, - 136, - 137, - 138, - 139, - 143, - 144, - 145, - 146, - 150, - 151, - 152, - 153, - 157, - 158, - 159, - 160, - 2120, - 2123, - 2126, - 2129, - 2135, - 2138, - 2141, - 2144, - 2150, - 2153, - 2156, - 2159, - 2165, - 2168, - 2171, - 2174, - 2180, - 2183, - 2186, - 2189, - 2195, - 2198, - 2201, - 2204, - 2210, - 2213, - 2216, - 2219, - 2225, - 2228, - 2231, - 2234, - 2240, - 2243, - 2246, - 2249, - 2255, - 2258, - 2261, - 2264, - 2270, - 2273, - 2276, - 2279, - 2285, - 2288, - 2291, - 2294, - 2300, - 2303, - 2306, - 2309, - 2315, - 2318, - 2321, - 2324, - 2330, - 2333, - 2336, - 2339, - 2345, - 2348, - 2351, - 2354, - 2360, - 2363, - 2366, - 2369, - 2375, - 2378, - 2381, - 2384, - 2390, - 2393, - 2396, - 2399, - 2405, - 2408, - 2411, - 2414, - 1, - 2, - 28, - 35, - 42, - 49, - 56, - 63, - 70, - 77, - 84, - 91, - 98, - 105, - 112, - 119, - 126, - 133, - 140, - 147, - 154, - 4, - 29, - 36, - 43, - 50, - 57, - 64, - 71, - 78, - 85, - 92, - 99, - 106, - 113, - 120, - 127, - 134, - 141, - 148, - 155, - 27, - 34, - 41, - 48, - 55, - 62, - 69, - 76, - 83, - 90, - 97, - 104, - 111, - 118, - 125, - 132, - 139, - 146, - 153, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 262, - 264, - 266, - 268, - 270, - 272, - 274, - 276, - 278, - 280, - 282, - 284, - 286, - 288, - 290, - 292, - 294, - 296, - 298, - 300, - 312, - 324, - 336, - 348, - 360, - 372, - 384, - 396, - 408, - 420, - 432, - 444, - 456, - 468, - 480, - 492, - 504, - 516, - 528, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 562, - 564, - 566, - 568, - 570, - 572, - 574, - 576, - 578, - 580, - 582, - 584, - 586, - 588, - 590, - 592, - 594, - 596, - 598, - 600, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 623, - 625, - 627, - 629, - 631, - 633, - 635, - 637, - 639, - 641, - 643, - 645, - 647, - 649, - 651, - 653, - 655, - 657, - 659, - 661, - 693, - 725, - 757, - 789, - 821, - 853, - 885, - 917, - 949, - 981, - 1013, - 1045, - 1077, - 1109, - 1141, - 1173, - 1205, - 1237, - 1269, - 1301, - 1302, - 1303, - 1304, - 1305, - 1306, - 1307, - 1308, - 1309, - 1310, - 1311, - 1312, - 1313, - 1314, - 1315, - 1316, - 1317, - 1318, - 1319, - 1320, - 1321, - 1375, - 1389, - 1403, - 1417, - 1431, - 1445, - 1459, - 1473, - 1487, - 1501, - 1515, - 1529, - 1543, - 1557, - 1571, - 1585, - 1599, - 1613, - 1627, - 1641, - 1642, - 1643, - 1644, - 1645, - 1646, - 1647, - 1648, - 1649, - 1650, - 1651, - 1652, - 1653, - 1654, - 1655, - 1656, - 1657, - 1658, - 1659, - 1660, - 1661, - 601, - 1702, - 1703, - 1704, - 1705, - 1706, - 1707, - 1708, - 1709, - 1710, - 1711, - 1712, - 1713, - 1714, - 1715, - 1716, - 1717, - 1718, - 1719, - 1720, - 1763, - 1766, - 1769, - 1772, - 1775, - 1778, - 1781, - 1784, - 1787, - 1790, - 1793, - 1796, - 1799, - 1802, - 1805, - 1808, - 1811, - 1814, - 1817, - 1820, - 1862, - 1864, - 1866, - 1868, - 1870, - 1872, - 1874, - 1876, - 1878, - 1880, - 1882, - 1884, - 1886, - 1888, - 1890, - 1892, - 1894, - 1896, - 1898, - 1900, - 1902, - 1904, - 1906, - 1908, - 1910, - 1912, - 1914, - 1916, - 1918, - 1920, - 1922, - 1924, - 1926, - 1928, - 1930, - 1932, - 1934, - 1936, - 1938, - 1940, - 1941, - 1942, - 1943, - 1944, - 1945, - 1946, - 1947, - 1948, - 1949, - 1950, - 1951, - 1952, - 1953, - 1954, - 1955, - 1956, - 1957, - 1958, - 1959, - 2132, - 2147, - 2162, - 2177, - 2192, - 2207, - 2222, - 2237, - 2252, - 2267, - 2282, - 2297, - 2312, - 2327, - 2342, - 2357, - 2372, - 2387, - 2402, - 2417, - 2420, - 2421, - 2422, - 2423, - 2424, - 2425, - 2426, - 2427, - 2428, - 2429, - 2430, - 2431, - 2432, - 2433, - 2434, - 2435, - 2436, - 2437, - 2438, - 2439, - 2440, - 2441, - 2442, - 2443, - 2444, - 2445, - 2446, - 2447, - 2448, - 2449, - 2450, - 2451, - 2452, - 2453, - 2454, - 2455, - 2456, - 2457, - 2458, - 2459, - 2461, - 2463, - 2465, - 2467, - 2469, - 2471, - 2473, - 2475, - 2477, - 2479, - 2481, - 2483, - 2485, - 2487, - 2489, - 2491, - 2493, - 2495, - 2497, - 2499, - 2540, - 2541, - 2542, - 2543, - 2544, - 2545, - 2546, - 2547, - 2548, - 2549, - 2550, - 2551, - 2552, - 2553, - 2554, - 2555, - 2556, - 2557, - 2558, - 2559, - 2561, - 2563, - 2565, - 2567, - 2569, - 2571, - 2573, - 2575, - 2577, - 2579, - 2581, - 2583, - 2585, - 2587, - 2589, - 2591, - 2593, - 2595, - 2597, - 2599, - 2601, - 2603, - 2605, - 2607, - 2609, - 2611, - 2613, - 2615, - 2617, - 2619, - 2621, - 2623, - 2625, - 2627, - 2629, - 2631, - 2633, - 2635, - 2637, - 2679, - 2681, - 2683, - 2685, - 2687, - 2689, - 2691, - 2693, - 2695, - 2697, - 2699, - 2701, - 2703, - 2705, - 2707, - 2709, - 2711, - 2713, - 2715, - 2756, - 2757, - 2758, - 2759, - 2760, - 2761, - 2762, - 2763, - 2764, - 2765, - 2766, - 2767, - 2768, - 2769, - 2770, - 2771, - 2772, - 2773, - 2774, - 2775, - 2777, - 2779, - 2781, - 2783, - 2785, - 2787, - 2789, - 2791, - 2793, - 2795, - 2797, - 2799, - 2801, - 2803, - 2805, - 2807, - 2809, - 2811, - 2813, - 2815, - 2818, - 2821, - 2824, - 2827, - 2830, - 2833, - 2836, - 2839, - 2842, - 2845, - 2848, - 2851, - 2854, - 2857, - 2860, - 2863, - 2866, - 2869, - 2912, - 2915, - 2918, - 2921, - 2924, - 2927, - 2930, - 2933, - 2936, - 2939, - 2942, - 2945, - 2948, - 2951, - 2954, - 2957, - 2960, - 2963, - 8, - 31, - 38, - 45, - 52, - 59, - 66, - 73, - 80, - 87, - 94, - 101, - 108, - 115, - 122, - 129, - 136, - 143, - 150, - 157, - 3004, - 3005, - 3006, - 3007, - 3008, - 3009, - 3010, - 3011, - 3012, - 3013, - 3014, - 3015, - 3016, - 3017, - 3018, - 3019, - 3020, - 3021, - 3022], var_dist_options: { CLUSTER: { matrix: [{vector: [1, 10000, 1, 1]}], diff --git a/tests/perf/tmp/config.js b/tests/perf/tmp/config.js index 18d32d6..662e799 100644 --- a/tests/perf/tmp/config.js +++ b/tests/perf/tmp/config.js @@ -107,108 +107,6 @@ var config = module.exports = { '270', '272', '274'], - targetedIndexes: [9, - 18, - 25, - 32, - 39, - 46, - 53, - 12, - 19, - 26, - 33, - 40, - 47, - 54, - 1, - 2, - 13, - 14, - 15, - 16, - 20, - 21, - 22, - 23, - 27, - 28, - 29, - 30, - 34, - 35, - 36, - 37, - 41, - 42, - 43, - 44, - 48, - 49, - 50, - 51, - 55, - 56, - 57, - 7, - 17, - 24, - 31, - 38, - 45, - 52, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 152, - 154, - 156, - 158, - 160, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 172, - 174, - 176, - 178, - 180, - 182, - 184, - 186, - 188, - 190, - 192, - 194, - 196, - 198, - 200, - 202, - 204, - 206, - 208, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 266, - 268, - 270, - 272, - 274], var_dist_options: { width: {list: [4, 3, 2, 1, 5, 6, 7, 8], distributor_name: 'list'}, 'width&n=1': {list: [4, 3, 2, 1, 5, 6, 7, 8], distributor_name: 'list'}, diff --git a/tests/specs/config.spec.js b/tests/specs/config.spec.js index 75cf6c9..78ba181 100644 --- a/tests/specs/config.spec.js +++ b/tests/specs/config.spec.js @@ -80,102 +80,6 @@ describe('src/config.spec', function() { expect(space.vardoms[name]).to.eql(specDomainCreateRange(32, 55)); }); - - describe('targeted vars', function() { - - it('should allow "all"', function() { - let config = config_create(); - config_addVarRange(config, 'A', 32, 55); - config_addVarRange(config, 'B', 0, 1); - config_addVarRange(config, 'C', 0, 1); - config.targetedVars = 'all'; - - let space = space_createRoot(config); - config_generateVars(config, space); - - expect(config.targetedIndexes).to.eql('all'); - }); - - it('should clobber existing value with the string "all"', function() { - let config = config_create(); - config_addVarRange(config, 'A', 32, 55); - config_addVarRange(config, 'B', 0, 1); - config_addVarRange(config, 'C', 0, 1); - config.targetedVars = 'all'; - config.targetedIndex = {}; - - let space = space_createRoot(config); - config_generateVars(config, space); - - expect(config.targetedIndexes).to.eql('all'); - }); - - it('should update targetedIndexes with the current targetedVars', function() { - let config = config_create(); - config_addVarRange(config, 'A', 32, 55); - config_addVarRange(config, 'B', 0, 1); - config.targetedVars = ['A', 'B']; - - let space = space_createRoot(config); - config_generateVars(config, space); - - expect(config.targetedIndexes).to.eql([0, 1]); - }); - - it('should not care about the order of the var names', function() { - let config = config_create(); - config_addVarRange(config, 'A', 32, 55); - config_addVarRange(config, 'B', 0, 1); - config.targetedVars = ['B', 'A']; - - let space = space_createRoot(config); - config_generateVars(config, space); - - expect(config.targetedIndexes).to.eql([1, 0]); - }); - - it('should only use vars in config.targetedVars', function() { - let config = config_create(); - config_addVarRange(config, 'A', 32, 55); - config_addVarRange(config, 'B', 0, 1); - config_addVarRange(config, 'C', 0, 1); - config.targetedVars = ['B']; - - let space = space_createRoot(config); - config_generateVars(config, space); - - expect(config.targetedIndexes).to.eql([1]); - }); - - it('should throw if var names dont exist', function() { - let config = config_create(); - config_addVarRange(config, 'A', 32, 55); - config_addVarRange(config, 'B', 0, 1); - config_addVarRange(config, 'C', 0, 1); - config.targetedVars = ['FAIL']; - - let space = space_createRoot(config); - - expect(_ => config_generateVars(config, space)).to.throw('TARGETED_VARS_SHOULD_EXIST_NOW'); - }); - - it('should clobber existing value with a new array', function() { - let config = config_create(); - config_addVarRange(config, 'A', 32, 55); - config_addVarRange(config, 'B', 0, 1); - config_addVarRange(config, 'C', 0, 1); - config.targetedVars = ['A', 'C']; - let oldArray = []; - config.targetedIndex = oldArray; - - let space = space_createRoot(config); - config_generateVars(config, space); - - expect(config.targetedIndexes).to.eql([0, 2]); - expect(config.targetedIndexes).not.to.equal(oldArray); - expect(oldArray).to.eql([]); - }); - }); }); describe('config_addVarAnonConstant', function() { diff --git a/tests/specs/exports/2016-06-11.js b/tests/specs/exports/2016-06-11.js index bd182d2..c081aa5 100644 --- a/tests/specs/exports/2016-06-11.js +++ b/tests/specs/exports/2016-06-11.js @@ -230,230 +230,6 @@ let config = { '362', '363', ], - targetedIndexes: [ - 5, - 16, - 23, - 30, - 37, - 44, - 7, - 8, - 9, - 13, - 17, - 18, - 19, - 20, - 24, - 25, - 26, - 27, - 31, - 32, - 33, - 34, - 38, - 39, - 40, - 41, - 45, - 46, - 47, - 48, - 200, - 203, - 206, - 210, - 213, - 216, - 220, - 223, - 226, - 230, - 233, - 236, - 240, - 243, - 246, - 250, - 253, - 256, - 1, - 2, - 14, - 21, - 28, - 35, - 42, - 4, - 15, - 22, - 29, - 36, - 43, - 13, - 20, - 27, - 34, - 41, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 68, - 69, - 70, - 71, - 72, - 73, - 75, - 77, - 79, - 81, - 83, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 99, - 101, - 103, - 105, - 107, - 109, - 111, - 113, - 115, - 117, - 119, - 121, - 123, - 125, - 127, - 129, - 131, - 133, - 135, - 137, - 139, - 141, - 143, - 145, - 147, - 149, - 151, - 153, - 155, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 165, - 167, - 169, - 171, - 173, - 175, - 177, - 179, - 181, - 183, - 185, - 187, - 189, - 191, - 193, - 195, - 197, - 199, - 209, - 219, - 229, - 239, - 249, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 267, - 268, - 269, - 270, - 271, - 272, - 274, - 276, - 278, - 280, - 282, - 284, - 297, - 298, - 299, - 300, - 301, - 302, - 304, - 306, - 308, - 310, - 312, - 314, - 316, - 318, - 320, - 322, - 324, - 67, - 338, - 340, - 342, - 344, - 346, - 7, - 17, - 24, - 31, - 38, - 45, - 266, - 359, - 360, - 361, - 362, - 363, - ], var_dist_options: { CLUSTER: {list: [2, 1, 3], distributor_name: 'list'}, CLUSTER_START: {list: [1, 0], distributor_name: 'list'}, diff --git a/tests/specs/exports/2016-06-13.js b/tests/specs/exports/2016-06-13.js index 1406082..9bd633c 100644 --- a/tests/specs/exports/2016-06-13.js +++ b/tests/specs/exports/2016-06-13.js @@ -7,7 +7,6 @@ let config = { next_var_func: 'naive', next_value_func: 'min', targetedVars: 'all', - targetedIndexes: 'all', var_dist_options: {}, timeout_callback: undefined, all_var_names: ['0', '_ROOT_BRANCH_', '2', 'align', '4', 'text_align', 'size', 'cols', '8', '9', '10', '11'], diff --git a/tests/specs/exports/2016-06-18.js b/tests/specs/exports/2016-06-18.js index 67d064c..31f494c 100644 --- a/tests/specs/exports/2016-06-18.js +++ b/tests/specs/exports/2016-06-18.js @@ -108,108 +108,6 @@ let config = { '270', '272', '274'], - targetedIndexes: [9, - 18, - 25, - 32, - 39, - 46, - 53, - 12, - 19, - 26, - 33, - 40, - 47, - 54, - 1, - 2, - 13, - 14, - 15, - 16, - 20, - 21, - 22, - 23, - 27, - 28, - 29, - 30, - 34, - 35, - 36, - 37, - 41, - 42, - 43, - 44, - 48, - 49, - 50, - 51, - 55, - 56, - 57, - 7, - 17, - 24, - 31, - 38, - 45, - 52, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 152, - 154, - 156, - 158, - 160, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 172, - 174, - 176, - 178, - 180, - 182, - 184, - 186, - 188, - 190, - 192, - 194, - 196, - 198, - 200, - 202, - 204, - 206, - 208, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 266, - 268, - 270, - 272, - 274], var_dist_options: { width: {list: [4, 3, 2, 1, 5, 6, 7, 8], distributor_name: 'list'}, 'width&n=1': {list: [4, 3, 2, 1, 5, 6, 7, 8], distributor_name: 'list'}, diff --git a/tests/specs/space.spec.js b/tests/specs/space.spec.js index e2a3a6e..784950a 100644 --- a/tests/specs/space.spec.js +++ b/tests/specs/space.spec.js @@ -28,7 +28,7 @@ import { //space_createFromConfig, space_createRoot, space_initFromConfig, - space_isSolved, + space_updateUnsolvedVarList, space_propagate, space_solution, space_toConfig, @@ -87,10 +87,61 @@ describe('src/space.spec', function() { }); }); + describe('targeted vars', function() { + + it('should not add unconstrained vars when targeting all', function() { + let config = config_create(); + config_addVarRange(config, 'A', 32, 55); + config_addVarRange(config, 'B', 0, 1); + config_addVarRange(config, 'C', 0, 1); + config.targetedVars = 'all'; + + let space = space_createRoot(config); + space_initFromConfig(space); + + expect(space.unsolvedVarIndexes).to.eql([]); + }); + + it('should use explicitly targeted vars regardless of being constrained', function() { + let config = config_create(); + config_addVarRange(config, 'A', 32, 55); + config_addVarRange(config, 'B', 0, 1); + config.targetedVars = ['A', 'B']; + + let space = space_createRoot(config); + space_initFromConfig(space); + + expect(space.unsolvedVarIndexes).to.eql(['A', 'B'].map(name => config.all_var_names.indexOf(name))); + }); + + it('should not care about the order of the var names', function() { + let config = config_create(); + config_addVarRange(config, 'A', 32, 55); + config_addVarRange(config, 'B', 0, 1); + config.targetedVars = ['B', 'A']; + + let space = space_createRoot(config); + space_initFromConfig(space); + + expect(space.unsolvedVarIndexes).to.eql(['B', 'A'].map(name => config.all_var_names.indexOf(name))); // fickle test :/ should just check whether all values exist, irrelevant order + }); + + it('should throw if var names dont exist', function() { + let config = config_create(); + config_addVarRange(config, 'A', 32, 55); + config_addVarRange(config, 'B', 0, 1); + config_addVarRange(config, 'C', 0, 1); + config.targetedVars = ['FAIL']; + + let space = space_createRoot(config); + expect(_ => space_initFromConfig(space)).to.throw('E_TARGETED_VARS_SHOULD_EXIST_NOW'); + }); + }); + describe('space_isSolved()', function() { it('should return true if there are no vars', function() { - expect(space_isSolved(space_createRoot())).to.equal(true); + expect(space_updateUnsolvedVarList(space_createRoot())).to.equal(true); }); it('should return true if all 1 vars are solved', function() { @@ -98,7 +149,7 @@ describe('src/space.spec', function() { config_addVarAnonConstant(space.config, 1); space_initFromConfig(space); - expect(space_isSolved(space), 'only one solved var').to.equal(true); + expect(space_updateUnsolvedVarList(space), 'only one solved var').to.equal(true); }); it('should return true if all 2 vars are solved', function() { @@ -107,7 +158,7 @@ describe('src/space.spec', function() { config_addVarAnonConstant(space.config, 1); space_initFromConfig(space); - expect(space_isSolved(space), 'two solved vars').to.equal(true); + expect(space_updateUnsolvedVarList(space), 'two solved vars').to.equal(true); }); it('should return false if one var is not solved and is targeted', function() { @@ -116,16 +167,16 @@ describe('src/space.spec', function() { space.config.targetedVars = space.config.all_var_names.slice(0); space_initFromConfig(space); - expect(space_isSolved(space), 'only one unsolved var').to.equal(false); + expect(space_updateUnsolvedVarList(space), 'only one unsolved var').to.equal(false); }); - it('should return true if one var is not solved but not targeted', function() { + it('should have no unsolved var indexes if explicitly targeting no vars', function() { let space = space_createRoot(); config_addVarAnonRange(space.config, 0, 1); space.config.targetedVars = []; space_initFromConfig(space); - expect(space_isSolved(space), 'only one unsolved var').to.equal(false); + expect(space.unsolvedVarIndexes.length, 'unsolved vars to solve').to.equal(0); }); it('should return false if at least one var of two is not solved and targeted', function() { @@ -135,7 +186,7 @@ describe('src/space.spec', function() { space.config.targetedVars = space.config.all_var_names.slice(0); space_initFromConfig(space); - expect(space_isSolved(space), 'two unsolved vars').to.equal(false); + expect(space_updateUnsolvedVarList(space), 'two unsolved vars').to.equal(false); }); it('should return false if at least one var of two is not solved and not targeted', function() { @@ -144,7 +195,7 @@ describe('src/space.spec', function() { config_addVarAnonRange(space.config, 0, 1); space_initFromConfig(space); - expect(space_isSolved(space), 'two unsolved vars').to.equal(true); + expect(space_updateUnsolvedVarList(space), 'two unsolved vars').to.equal(true); }); it('should return false if at least one var of three is not solved and all targeted', function() { @@ -155,7 +206,7 @@ describe('src/space.spec', function() { space.config.targetedVars = space.config.all_var_names.slice(0); space_initFromConfig(space); - expect(space_isSolved(space), 'two unsolved vars and a solved var').to.equal(false); + expect(space_updateUnsolvedVarList(space), 'two unsolved vars and a solved var').to.equal(false); }); it('should return false if at least one var of three is not solved and not targeted', function() { @@ -165,7 +216,7 @@ describe('src/space.spec', function() { config_addVarAnonConstant(space.config, 1); space_initFromConfig(space); - expect(space_isSolved(space), 'two unsolved vars and a solved var').to.equal(true); + expect(space_updateUnsolvedVarList(space), 'two unsolved vars and a solved var').to.equal(true); }); it('should return false if at least one var of three is not solved and only that one not is targeted', function() { @@ -176,7 +227,7 @@ describe('src/space.spec', function() { space.config.targetedVars = [A]; space_initFromConfig(space); - expect(space_isSolved(space), 'two unsolved vars and a solved var').to.equal(true); + expect(space_updateUnsolvedVarList(space), 'two unsolved vars and a solved var').to.equal(true); }); it('should return false if at least one var of three is not solved and that one is targeted', function() { @@ -187,7 +238,7 @@ describe('src/space.spec', function() { space.config.targetedVars = [A, B]; space_initFromConfig(space); - expect(space_isSolved(space), 'two unsolved vars and a solved var').to.equal(false); + expect(space_updateUnsolvedVarList(space), 'two unsolved vars and a solved var').to.equal(false); }); });