UNPKG

speckoloo

Version:
1,164 lines (1,146 loc) 27.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var cov_11oe71w7dj = function () { var path = "/home/henrique/labs/speckoloo/src/common.js", hash = "09360cc7c23e5663af9994e8777ceb224a2886fd", global = new Function('return this')(), gcv = "__coverage__", coverageData = { path: "/home/henrique/labs/speckoloo/src/common.js", statementMap: { "0": { start: { line: 1, column: 20 }, end: { line: 5, column: 6 } }, "1": { start: { line: 1, column: 35 }, end: { line: 5, column: 6 } }, "2": { start: { line: 2, column: 2 }, end: { line: 3, column: 42 } }, "3": { start: { line: 4, column: 2 }, end: { line: 4, column: 15 } }, "4": { start: { line: 7, column: 20 }, end: { line: 11, column: 6 } }, "5": { start: { line: 7, column: 35 }, end: { line: 11, column: 6 } }, "6": { start: { line: 8, column: 2 }, end: { line: 9, column: 42 } }, "7": { start: { line: 10, column: 2 }, end: { line: 10, column: 15 } }, "8": { start: { line: 13, column: 22 }, end: { line: 17, column: 6 } }, "9": { start: { line: 13, column: 42 }, end: { line: 17, column: 6 } }, "10": { start: { line: 14, column: 2 }, end: { line: 15, column: 42 } }, "11": { start: { line: 16, column: 2 }, end: { line: 16, column: 15 } }, "12": { start: { line: 19, column: 24 }, end: { line: 19, column: 30 } }, "13": { start: { line: 19, column: 29 }, end: { line: 19, column: 30 } }, "14": { start: { line: 21, column: 19 }, end: { line: 21, column: 50 } }, "15": { start: { line: 21, column: 25 }, end: { line: 21, column: 50 } }, "16": { start: { line: 21, column: 38 }, end: { line: 21, column: 50 } }, "17": { start: { line: 23, column: 28 }, end: { line: 26, column: 1 } }, "18": { start: { line: 23, column: 38 }, end: { line: 26, column: 1 } }, "19": { start: { line: 25, column: 17 }, end: { line: 25, column: 41 } }, "20": { start: { line: 28, column: 33 }, end: { line: 28, column: 67 } }, "21": { start: { line: 28, column: 38 }, end: { line: 28, column: 67 } }, "22": { start: { line: 30, column: 24 }, end: { line: 30, column: 60 } }, "23": { start: { line: 30, column: 34 }, end: { line: 30, column: 60 } }, "24": { start: { line: 30, column: 47 }, end: { line: 30, column: 60 } }, "25": { start: { line: 32, column: 23 }, end: { line: 32, column: 55 } }, "26": { start: { line: 32, column: 35 }, end: { line: 32, column: 55 } }, "27": { start: { line: 34, column: 20 }, end: { line: 34, column: 57 } }, "28": { start: { line: 34, column: 32 }, end: { line: 34, column: 57 } }, "29": { start: { line: 36, column: 23 }, end: { line: 36, column: 67 } }, "30": { start: { line: 36, column: 37 }, end: { line: 36, column: 67 } }, "31": { start: { line: 36, column: 50 }, end: { line: 36, column: 67 } }, "32": { start: { line: 37, column: 21 }, end: { line: 40, column: 35 } }, "33": { start: { line: 38, column: 2 }, end: { line: 40, column: 35 } } }, fnMap: { "0": { name: "(anonymous_0)", decl: { start: { line: 1, column: 20 }, end: { line: 1, column: 21 } }, loc: { start: { line: 1, column: 35 }, end: { line: 5, column: 6 } }, line: 1 }, "1": { name: "(anonymous_1)", decl: { start: { line: 1, column: 59 }, end: { line: 1, column: 60 } }, loc: { start: { line: 1, column: 83 }, end: { line: 5, column: 1 } }, line: 1 }, "2": { name: "(anonymous_2)", decl: { start: { line: 7, column: 20 }, end: { line: 7, column: 21 } }, loc: { start: { line: 7, column: 35 }, end: { line: 11, column: 6 } }, line: 7 }, "3": { name: "(anonymous_3)", decl: { start: { line: 7, column: 59 }, end: { line: 7, column: 60 } }, loc: { start: { line: 7, column: 83 }, end: { line: 11, column: 1 } }, line: 7 }, "4": { name: "(anonymous_4)", decl: { start: { line: 13, column: 22 }, end: { line: 13, column: 23 } }, loc: { start: { line: 13, column: 42 }, end: { line: 17, column: 6 } }, line: 13 }, "5": { name: "(anonymous_5)", decl: { start: { line: 13, column: 66 }, end: { line: 13, column: 67 } }, loc: { start: { line: 13, column: 90 }, end: { line: 17, column: 1 } }, line: 13 }, "6": { name: "(anonymous_6)", decl: { start: { line: 19, column: 24 }, end: { line: 19, column: 25 } }, loc: { start: { line: 19, column: 29 }, end: { line: 19, column: 30 } }, line: 19 }, "7": { name: "(anonymous_7)", decl: { start: { line: 21, column: 19 }, end: { line: 21, column: 20 } }, loc: { start: { line: 21, column: 25 }, end: { line: 21, column: 50 } }, line: 21 }, "8": { name: "(anonymous_8)", decl: { start: { line: 21, column: 25 }, end: { line: 21, column: 26 } }, loc: { start: { line: 21, column: 38 }, end: { line: 21, column: 50 } }, line: 21 }, "9": { name: "(anonymous_9)", decl: { start: { line: 23, column: 28 }, end: { line: 23, column: 29 } }, loc: { start: { line: 23, column: 38 }, end: { line: 26, column: 1 } }, line: 23 }, "10": { name: "(anonymous_10)", decl: { start: { line: 25, column: 12 }, end: { line: 25, column: 13 } }, loc: { start: { line: 25, column: 17 }, end: { line: 25, column: 41 } }, line: 25 }, "11": { name: "(anonymous_11)", decl: { start: { line: 28, column: 33 }, end: { line: 28, column: 34 } }, loc: { start: { line: 28, column: 38 }, end: { line: 28, column: 67 } }, line: 28 }, "12": { name: "(anonymous_12)", decl: { start: { line: 30, column: 24 }, end: { line: 30, column: 25 } }, loc: { start: { line: 30, column: 34 }, end: { line: 30, column: 60 } }, line: 30 }, "13": { name: "(anonymous_13)", decl: { start: { line: 30, column: 34 }, end: { line: 30, column: 35 } }, loc: { start: { line: 30, column: 47 }, end: { line: 30, column: 60 } }, line: 30 }, "14": { name: "(anonymous_14)", decl: { start: { line: 32, column: 23 }, end: { line: 32, column: 24 } }, loc: { start: { line: 32, column: 35 }, end: { line: 32, column: 55 } }, line: 32 }, "15": { name: "(anonymous_15)", decl: { start: { line: 34, column: 20 }, end: { line: 34, column: 21 } }, loc: { start: { line: 34, column: 32 }, end: { line: 34, column: 57 } }, line: 34 }, "16": { name: "(anonymous_16)", decl: { start: { line: 36, column: 23 }, end: { line: 36, column: 24 } }, loc: { start: { line: 36, column: 37 }, end: { line: 36, column: 67 } }, line: 36 }, "17": { name: "(anonymous_17)", decl: { start: { line: 36, column: 37 }, end: { line: 36, column: 38 } }, loc: { start: { line: 36, column: 50 }, end: { line: 36, column: 67 } }, line: 36 }, "18": { name: "(anonymous_18)", decl: { start: { line: 37, column: 21 }, end: { line: 37, column: 22 } }, loc: { start: { line: 38, column: 2 }, end: { line: 40, column: 35 } }, line: 38 } }, branchMap: { "0": { loc: { start: { line: 2, column: 2 }, end: { line: 3, column: 42 } }, type: "binary-expr", locations: [{ start: { line: 2, column: 2 }, end: { line: 2, column: 27 } }, { start: { line: 3, column: 5 }, end: { line: 3, column: 41 } }], line: 2 }, "1": { loc: { start: { line: 8, column: 2 }, end: { line: 9, column: 42 } }, type: "binary-expr", locations: [{ start: { line: 8, column: 2 }, end: { line: 8, column: 28 } }, { start: { line: 9, column: 5 }, end: { line: 9, column: 41 } }], line: 8 }, "2": { loc: { start: { line: 14, column: 2 }, end: { line: 15, column: 42 } }, type: "binary-expr", locations: [{ start: { line: 14, column: 2 }, end: { line: 14, column: 29 } }, { start: { line: 15, column: 5 }, end: { line: 15, column: 41 } }], line: 14 }, "3": { loc: { start: { line: 28, column: 38 }, end: { line: 28, column: 67 } }, type: "binary-expr", locations: [{ start: { line: 28, column: 38 }, end: { line: 28, column: 53 } }, { start: { line: 28, column: 57 }, end: { line: 28, column: 67 } }], line: 28 }, "4": { loc: { start: { line: 38, column: 2 }, end: { line: 40, column: 35 } }, type: "cond-expr", locations: [{ start: { line: 39, column: 6 }, end: { line: 39, column: 17 } }, { start: { line: 40, column: 6 }, end: { line: 40, column: 35 } }], line: 38 } }, s: { "0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "5": 0, "6": 0, "7": 0, "8": 0, "9": 0, "10": 0, "11": 0, "12": 0, "13": 0, "14": 0, "15": 0, "16": 0, "17": 0, "18": 0, "19": 0, "20": 0, "21": 0, "22": 0, "23": 0, "24": 0, "25": 0, "26": 0, "27": 0, "28": 0, "29": 0, "30": 0, "31": 0, "32": 0, "33": 0 }, f: { "0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "5": 0, "6": 0, "7": 0, "8": 0, "9": 0, "10": 0, "11": 0, "12": 0, "13": 0, "14": 0, "15": 0, "16": 0, "17": 0, "18": 0 }, b: { "0": [0, 0], "1": [0, 0], "2": [0, 0], "3": [0, 0], "4": [0, 0] }, _coverageSchema: "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c" }, coverage = global[gcv] || (global[gcv] = {}); if (coverage[path] && coverage[path].hash === hash) { return coverage[path]; } coverageData.hash = hash; return coverage[path] = coverageData; }(); const pick = exports.pick = (cov_11oe71w7dj.s[0]++, (obj, keys) => { cov_11oe71w7dj.f[0]++; cov_11oe71w7dj.s[1]++; return Object.keys(obj).reduce((result, currentKey) => { cov_11oe71w7dj.f[1]++; cov_11oe71w7dj.s[2]++; (cov_11oe71w7dj.b[0][0]++, keys.includes(currentKey)) && (cov_11oe71w7dj.b[0][1]++, result[currentKey] = obj[currentKey]); cov_11oe71w7dj.s[3]++; return result; }, {}); }); const omit = exports.omit = (cov_11oe71w7dj.s[4]++, (obj, keys) => { cov_11oe71w7dj.f[2]++; cov_11oe71w7dj.s[5]++; return Object.keys(obj).reduce((result, currentKey) => { cov_11oe71w7dj.f[3]++; cov_11oe71w7dj.s[6]++; (cov_11oe71w7dj.b[1][0]++, !keys.includes(currentKey)) && (cov_11oe71w7dj.b[1][1]++, result[currentKey] = obj[currentKey]); cov_11oe71w7dj.s[7]++; return result; }, {}); }); const omitBy = exports.omitBy = (cov_11oe71w7dj.s[8]++, (obj, predicate) => { cov_11oe71w7dj.f[4]++; cov_11oe71w7dj.s[9]++; return Object.keys(obj).reduce((result, currentKey) => { cov_11oe71w7dj.f[5]++; cov_11oe71w7dj.s[10]++; (cov_11oe71w7dj.b[2][0]++, !predicate(obj[currentKey])) && (cov_11oe71w7dj.b[2][1]++, result[currentKey] = obj[currentKey]); cov_11oe71w7dj.s[11]++; return result; }, {}); }); const identity = exports.identity = (cov_11oe71w7dj.s[12]++, a => { cov_11oe71w7dj.f[6]++; cov_11oe71w7dj.s[13]++; return a; }); const not = exports.not = (cov_11oe71w7dj.s[14]++, fn => { cov_11oe71w7dj.f[7]++; cov_11oe71w7dj.s[15]++; return (...args) => { cov_11oe71w7dj.f[8]++; cov_11oe71w7dj.s[16]++; return !fn(...args); }; }); const intersection = exports.intersection = (cov_11oe71w7dj.s[17]++, (a, b) => { cov_11oe71w7dj.f[9]++; cov_11oe71w7dj.s[18]++; return Array.from(new Set([...a].filter(x => { cov_11oe71w7dj.f[10]++; cov_11oe71w7dj.s[19]++; return new Set([...b]).has(x); }))); }); const isUndefinedOrNull = exports.isUndefinedOrNull = (cov_11oe71w7dj.s[20]++, x => { cov_11oe71w7dj.f[11]++; cov_11oe71w7dj.s[21]++; return (cov_11oe71w7dj.b[3][0]++, x === undefined) || (cov_11oe71w7dj.b[3][1]++, x === null); }); const compose2 = exports.compose2 = (cov_11oe71w7dj.s[22]++, (f, g) => { cov_11oe71w7dj.f[12]++; cov_11oe71w7dj.s[23]++; return (...args) => { cov_11oe71w7dj.f[13]++; cov_11oe71w7dj.s[24]++; return f(g(...args)); }; }); const compose = exports.compose = (cov_11oe71w7dj.s[25]++, (...fns) => { cov_11oe71w7dj.f[14]++; cov_11oe71w7dj.s[26]++; return fns.reduce(compose2); }); const pipe = exports.pipe = (cov_11oe71w7dj.s[27]++, (...fns) => { cov_11oe71w7dj.f[15]++; cov_11oe71w7dj.s[28]++; return fns.reduceRight(compose2); }); const partial = exports.partial = (cov_11oe71w7dj.s[29]++, (fn, arg1) => { cov_11oe71w7dj.f[16]++; cov_11oe71w7dj.s[30]++; return (...args) => { cov_11oe71w7dj.f[17]++; cov_11oe71w7dj.s[31]++; return fn(arg1, ...args); }; }); const curry = exports.curry = (cov_11oe71w7dj.s[32]++, (fn, ...args) => { cov_11oe71w7dj.f[18]++; cov_11oe71w7dj.s[33]++; return args.length === fn.length ? (cov_11oe71w7dj.b[4][0]++, fn(...args)) : (cov_11oe71w7dj.b[4][1]++, curry.bind(undefined, fn, ...args)); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24uanMiXSwibmFtZXMiOlsicGljayIsIm9iaiIsImtleXMiLCJyZWR1Y2UiLCJyZXN1bHQiLCJjdXJyZW50S2V5IiwiaW5jbHVkZXMiLCJvbWl0Iiwib21pdEJ5IiwicHJlZGljYXRlIiwiaWRlbnRpdHkiLCJhIiwibm90IiwiZm4iLCJhcmdzIiwiaW50ZXJzZWN0aW9uIiwiYiIsImZyb20iLCJTZXQiLCJmaWx0ZXIiLCJ4IiwiaGFzIiwiaXNVbmRlZmluZWRPck51bGwiLCJ1bmRlZmluZWQiLCJjb21wb3NlMiIsImYiLCJnIiwiY29tcG9zZSIsImZucyIsInBpcGUiLCJyZWR1Y2VSaWdodCIsInBhcnRpYWwiLCJhcmcxIiwiY3VycnkiLCJsZW5ndGgiLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTyxNQUFNQSw4Q0FBTyxDQUFDQyxHQUFELEVBQU1DLElBQU4sS0FBZTtBQUFBO0FBQUE7QUFBQSxnQkFBT0EsSUFBUCxDQUFZRCxHQUFaLEVBQWlCRSxNQUFqQixDQUF3QixDQUFDQyxNQUFELEVBQVNDLFVBQVQsS0FBd0I7QUFBQTtBQUFBOztBQUNqRixvQ0FBS0MsUUFBTCxDQUFjRCxVQUFkLGlDQUNHRCxPQUFPQyxVQUFQLElBQXFCSixJQUFJSSxVQUFKLENBRHhCO0FBRGlGO0FBR2pGLFdBQU9ELE1BQVA7QUFDRCxHQUprQyxFQUloQyxFQUpnQztBQUk3QixDQUpPLENBQU47O0FBTUEsTUFBTUcsOENBQU8sQ0FBQ04sR0FBRCxFQUFNQyxJQUFOLEtBQWU7QUFBQTtBQUFBO0FBQUEsZ0JBQU9BLElBQVAsQ0FBWUQsR0FBWixFQUFpQkUsTUFBakIsQ0FBd0IsQ0FBQ0MsTUFBRCxFQUFTQyxVQUFULEtBQXdCO0FBQUE7QUFBQTs7QUFDakYsZ0NBQUNILEtBQUtJLFFBQUwsQ0FBY0QsVUFBZCxDQUFELGdDQUNHRCxPQUFPQyxVQUFQLElBQXFCSixJQUFJSSxVQUFKLENBRHhCO0FBRGlGO0FBR2pGLFdBQU9ELE1BQVA7QUFDRCxHQUprQyxFQUloQyxFQUpnQztBQUk3QixDQUpPLENBQU47O0FBTUEsTUFBTUksa0RBQVMsQ0FBQ1AsR0FBRCxFQUFNUSxTQUFOLEtBQW9CO0FBQUE7QUFBQTtBQUFBLGdCQUFPUCxJQUFQLENBQVlELEdBQVosRUFBaUJFLE1BQWpCLENBQXdCLENBQUNDLE1BQUQsRUFBU0MsVUFBVCxLQUF3QjtBQUFBO0FBQUE7O0FBQ3hGLGdDQUFDSSxVQUFVUixJQUFJSSxVQUFKLENBQVYsQ0FBRCxnQ0FDR0QsT0FBT0MsVUFBUCxJQUFxQkosSUFBSUksVUFBSixDQUR4QjtBQUR3RjtBQUd4RixXQUFPRCxNQUFQO0FBQ0QsR0FKeUMsRUFJdkMsRUFKdUM7QUFJcEMsQ0FKTyxDQUFOOztBQU1BLE1BQU1NLHVEQUFXQyxLQUFLQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFDQSxDQUFqQixDQUFOOztBQUVBLE1BQU1DLDZDQUFNQyxNQUFNO0FBQUE7QUFBQTtBQUFBLFVBQUMsR0FBR0MsSUFBSixLQUFhO0FBQUE7QUFBQTtBQUFBLFlBQUNELEdBQUcsR0FBR0MsSUFBTixDQUFEO0FBQVksR0FBekI7QUFBeUIsQ0FBckMsQ0FBTjs7QUFFQSxNQUFNQywrREFBZSxDQUFDSixDQUFELEVBQUlLLENBQUosS0FBVTtBQUFBO0FBQUE7QUFBQSxlQUFNQyxJQUFOLENBQ3BDLElBQUlDLEdBQUosQ0FBUSxDQUFDLEdBQUdQLENBQUosRUFDTFEsTUFESyxDQUNFQyxLQUFLO0FBQUE7QUFBQTtBQUFBLFdBQUMsSUFBSUYsR0FBSixDQUFRLENBQUMsR0FBR0YsQ0FBSixDQUFSLENBQUQsQ0FBa0JLLEdBQWxCLENBQXNCRCxDQUF0QjtBQUF3QixHQUQvQixDQUFSLENBRG9DO0FBR3JDLENBSFksQ0FBTjs7QUFLQSxNQUFNRSx5RUFBb0JGLEtBQUs7QUFBQTtBQUFBO0FBQUEsMENBQU1HLFNBQU4sZ0NBQW1CSCxNQUFNLElBQXpCO0FBQTZCLENBQXRELENBQU47O0FBRUEsTUFBTUksdURBQVcsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLEtBQVU7QUFBQTtBQUFBO0FBQUEsVUFBQyxHQUFHWixJQUFKLEtBQWE7QUFBQTtBQUFBO0FBQUEsYUFBRVksRUFBRSxHQUFHWixJQUFMLENBQUY7QUFBYSxHQUExQjtBQUEwQixDQUEvQyxDQUFOOztBQUVBLE1BQU1hLHFEQUFVLENBQUMsR0FBR0MsR0FBSixLQUFZO0FBQUE7QUFBQTtBQUFBLGFBQUl6QixNQUFKLENBQVdxQixRQUFYO0FBQW9CLENBQTFDLENBQU47O0FBRUEsTUFBTUssK0NBQU8sQ0FBQyxHQUFHRCxHQUFKLEtBQVk7QUFBQTtBQUFBO0FBQUEsYUFBSUUsV0FBSixDQUFnQk4sUUFBaEI7QUFBeUIsQ0FBNUMsQ0FBTjs7QUFFQSxNQUFNTyxxREFBVSxDQUFDbEIsRUFBRCxFQUFLbUIsSUFBTCxLQUFjO0FBQUE7QUFBQTtBQUFBLFVBQUMsR0FBR2xCLElBQUosS0FBYTtBQUFBO0FBQUE7QUFBQSxjQUFHa0IsSUFBSCxFQUFTLEdBQUdsQixJQUFaO0FBQWlCLEdBQTlCO0FBQThCLENBQXRELENBQU47QUFDQSxNQUFNbUIsaURBQVEsQ0FBQ3BCLEVBQUQsRUFBSyxHQUFHQyxJQUFSLEtBQ25CO0FBQUE7QUFBQTtBQUFBLGNBQUtvQixNQUFMLEtBQWdCckIsR0FBR3FCLE1BQW5CLDhCQUNJckIsR0FBRyxHQUFHQyxJQUFOLENBREosK0JBRUltQixNQUFNRSxJQUFOLFlBQWlCdEIsRUFBakIsRUFBcUIsR0FBR0MsSUFBeEIsQ0FGSjtBQUVpQyxDQUh0QixDQUFOIiwiZmlsZSI6ImNvbW1vbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBwaWNrID0gKG9iaiwga2V5cykgPT4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKHJlc3VsdCwgY3VycmVudEtleSkgPT4ge1xuICBrZXlzLmluY2x1ZGVzKGN1cnJlbnRLZXkpICYmXG4gICAgKHJlc3VsdFtjdXJyZW50S2V5XSA9IG9ialtjdXJyZW50S2V5XSlcbiAgcmV0dXJuIHJlc3VsdFxufSwge30pXG5cbmV4cG9ydCBjb25zdCBvbWl0ID0gKG9iaiwga2V5cykgPT4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKHJlc3VsdCwgY3VycmVudEtleSkgPT4ge1xuICAha2V5cy5pbmNsdWRlcyhjdXJyZW50S2V5KSAmJlxuICAgIChyZXN1bHRbY3VycmVudEtleV0gPSBvYmpbY3VycmVudEtleV0pXG4gIHJldHVybiByZXN1bHRcbn0sIHt9KVxuXG5leHBvcnQgY29uc3Qgb21pdEJ5ID0gKG9iaiwgcHJlZGljYXRlKSA9PiBPYmplY3Qua2V5cyhvYmopLnJlZHVjZSgocmVzdWx0LCBjdXJyZW50S2V5KSA9PiB7XG4gICFwcmVkaWNhdGUob2JqW2N1cnJlbnRLZXldKSAmJlxuICAgIChyZXN1bHRbY3VycmVudEtleV0gPSBvYmpbY3VycmVudEtleV0pXG4gIHJldHVybiByZXN1bHRcbn0sIHt9KVxuXG5leHBvcnQgY29uc3QgaWRlbnRpdHkgPSBhID0+IGFcblxuZXhwb3J0IGNvbnN0IG5vdCA9IGZuID0+ICguLi5hcmdzKSA9PiAhZm4oLi4uYXJncylcblxuZXhwb3J0IGNvbnN0IGludGVyc2VjdGlvbiA9IChhLCBiKSA9PiBBcnJheS5mcm9tKFxuICBuZXcgU2V0KFsuLi5hXVxuICAgIC5maWx0ZXIoeCA9PiAobmV3IFNldChbLi4uYl0pKS5oYXMoeCkpKVxuKVxuXG5leHBvcnQgY29uc3QgaXNVbmRlZmluZWRPck51bGwgPSB4ID0+IHggPT09IHVuZGVmaW5lZCB8fCB4ID09PSBudWxsXG5cbmV4cG9ydCBjb25zdCBjb21wb3NlMiA9IChmLCBnKSA9PiAoLi4uYXJncykgPT4gZihnKC4uLmFyZ3MpKVxuXG5leHBvcnQgY29uc3QgY29tcG9zZSA9ICguLi5mbnMpID0+IGZucy5yZWR1Y2UoY29tcG9zZTIpXG5cbmV4cG9ydCBjb25zdCBwaXBlID0gKC4uLmZucykgPT4gZm5zLnJlZHVjZVJpZ2h0KGNvbXBvc2UyKVxuXG5leHBvcnQgY29uc3QgcGFydGlhbCA9IChmbiwgYXJnMSkgPT4gKC4uLmFyZ3MpID0+IGZuKGFyZzEsIC4uLmFyZ3MpXG5leHBvcnQgY29uc3QgY3VycnkgPSAoZm4sIC4uLmFyZ3MpID0+XG4gIGFyZ3MubGVuZ3RoID09PSBmbi5sZW5ndGhcbiAgICA/IGZuKC4uLmFyZ3MpXG4gICAgOiBjdXJyeS5iaW5kKHRoaXMsIGZuLCAuLi5hcmdzKVxuIl19