{"version":3,"file":"chunk-klb-pay19.js","sources":["../node_modules/d3-regression/dist/d3-regression.esm.js"],"sourcesContent":["// https://github.com/HarryStevens/d3-regression#readme Version 1.3.10. Copyright 2022 Harry Stevens.\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n// Adapted from vega-statistics by Jeffrey Heer\n// License: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/LICENSE\n// Source: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/packages/vega-statistics/src/regression/points.js\nfunction points(data, x, y, sort) {\n data = data.filter(function (d, i) {\n var u = x(d, i),\n v = y(d, i);\n return u != null && isFinite(u) && v != null && isFinite(v);\n });\n\n if (sort) {\n data.sort(function (a, b) {\n return x(a) - x(b);\n });\n }\n\n var n = data.length,\n X = new Float64Array(n),\n Y = new Float64Array(n); // extract values, calculate means\n\n var ux = 0,\n uy = 0,\n xv,\n yv,\n d;\n\n for (var i = 0; i < n;) {\n d = data[i];\n X[i] = xv = +x(d, i, data);\n Y[i] = yv = +y(d, i, data);\n ++i;\n ux += (xv - ux) / i;\n uy += (yv - uy) / i;\n } // mean center the data\n\n\n for (var _i = 0; _i < n; ++_i) {\n X[_i] -= ux;\n Y[_i] -= uy;\n }\n\n return [X, Y, ux, uy];\n}\nfunction visitPoints(data, x, y, cb) {\n var iterations = 0;\n\n for (var i = 0, n = data.length; i < n; i++) {\n var d = data[i],\n dx = +x(d, i, data),\n dy = +y(d, i, data);\n\n if (dx != null && isFinite(dx) && dy != null && isFinite(dy)) {\n cb(dx, dy, iterations++);\n }\n }\n}\n\n// return the coefficient of determination, or R squared.\n\nfunction determination(data, x, y, uY, predict) {\n var SSE = 0,\n SST = 0;\n visitPoints(data, x, y, function (dx, dy) {\n var sse = dy - predict(dx),\n sst = dy - uY;\n SSE += sse * sse;\n SST += sst * sst;\n });\n return 1 - SSE / SST;\n}\n\n// Returns the angle of a line in degrees.\nfunction angle(line) {\n return Math.atan2(line[1][1] - line[0][1], line[1][0] - line[0][0]) * 180 / Math.PI;\n} // Returns the midpoint of a line.\n\nfunction midpoint(line) {\n return [(line[0][0] + line[1][0]) / 2, (line[0][1] + line[1][1]) / 2];\n}\n\n// returns a smooth line.\n\nfunction interpose(xmin, xmax, predict) {\n var l = Math.log(xmax - xmin) * Math.LOG10E + 1 | 0;\n var precision = 1 * Math.pow(10, -l / 2 - 1),\n maxIter = 1e4;\n var points = [px(xmin), px(xmax)],\n iter = 0;\n\n while (find(points) && iter < maxIter) {\n }\n\n return points;\n\n function px(x) {\n return [x, predict(x)];\n }\n\n function find(points) {\n iter++;\n var n = points.length;\n var found = false;\n\n for (var i = 0; i < n - 1; i++) {\n var p0 = points[i],\n p1 = points[i + 1],\n m = midpoint([p0, p1]),\n mp = px(m[0]),\n a0 = angle([p0, m]),\n a1 = angle([p0, mp]),\n a = Math.abs(a0 - a1);\n\n if (a > precision) {\n points.splice(i + 1, 0, mp);\n found = true;\n }\n }\n\n return found;\n }\n}\n\n// Ordinary Least Squares from vega-statistics by Jeffrey Heer\n// License: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/LICENSE\n// Source: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/packages/vega-statistics/src/regression/ols.js\nfunction ols(uX, uY, uXY, uX2) {\n var delta = uX2 - uX * uX,\n slope = Math.abs(delta) < 1e-24 ? 0 : (uXY - uX * uY) / delta,\n intercept = uY - slope * uX;\n return [intercept, slope];\n}\n\nfunction exponential () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function exponential(data) {\n var n = 0,\n Y = 0,\n YL = 0,\n XY = 0,\n XYL = 0,\n X2Y = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n var ly = Math.log(dy),\n xy = dx * dy;\n ++n;\n Y += (dy - Y) / n;\n XY += (xy - XY) / n;\n X2Y += (dx * xy - X2Y) / n;\n YL += (dy * ly - YL) / n;\n XYL += (xy * ly - XYL) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(XY / Y, YL / Y, XYL / Y, X2Y / Y),\n _ols2 = _slicedToArray(_ols, 2),\n a = _ols2[0],\n b = _ols2[1];\n\n a = Math.exp(a);\n\n var fn = function fn(x) {\n return a * Math.exp(b * x);\n },\n out = interpose(xmin, xmax, fn);\n\n out.a = a;\n out.b = b;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n exponential.domain = function (arr) {\n return arguments.length ? (domain = arr, exponential) : domain;\n };\n\n exponential.x = function (fn) {\n return arguments.length ? (x = fn, exponential) : x;\n };\n\n exponential.y = function (fn) {\n return arguments.length ? (y = fn, exponential) : y;\n };\n\n return exponential;\n}\n\nfunction linear () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function linear(data) {\n var n = 0,\n X = 0,\n // sum of x\n Y = 0,\n // sum of y\n XY = 0,\n // sum of x * y\n X2 = 0,\n // sum of x * x\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n ++n;\n X += (dx - X) / n;\n Y += (dy - Y) / n;\n XY += (dx * dy - XY) / n;\n X2 += (dx * dx - X2) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(X, Y, XY, X2),\n _ols2 = _slicedToArray(_ols, 2),\n intercept = _ols2[0],\n slope = _ols2[1],\n fn = function fn(x) {\n return slope * x + intercept;\n },\n out = [[xmin, fn(xmin)], [xmax, fn(xmax)]];\n\n out.a = slope;\n out.b = intercept;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n linear.domain = function (arr) {\n return arguments.length ? (domain = arr, linear) : domain;\n };\n\n linear.x = function (fn) {\n return arguments.length ? (x = fn, linear) : x;\n };\n\n linear.y = function (fn) {\n return arguments.length ? (y = fn, linear) : y;\n };\n\n return linear;\n}\n\n// Returns the medium value of an array of numbers.\nfunction median(arr) {\n arr.sort(function (a, b) {\n return a - b;\n });\n var i = arr.length / 2;\n return i % 1 === 0 ? (arr[i - 1] + arr[i]) / 2 : arr[Math.floor(i)];\n}\n\nvar maxiters = 2,\n epsilon = 1e-12;\nfunction loess () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n bandwidth = .3;\n\n function loess(data) {\n var _points = points(data, x, y, true),\n _points2 = _slicedToArray(_points, 4),\n xv = _points2[0],\n yv = _points2[1],\n ux = _points2[2],\n uy = _points2[3],\n n = xv.length,\n bw = Math.max(2, ~~(bandwidth * n)),\n yhat = new Float64Array(n),\n residuals = new Float64Array(n),\n robustWeights = new Float64Array(n).fill(1);\n\n for (var iter = -1; ++iter <= maxiters;) {\n var interval = [0, bw - 1];\n\n for (var i = 0; i < n; ++i) {\n var dx = xv[i],\n i0 = interval[0],\n i1 = interval[1],\n edge = dx - xv[i0] > xv[i1] - dx ? i0 : i1;\n var W = 0,\n X = 0,\n Y = 0,\n XY = 0,\n X2 = 0,\n denom = 1 / Math.abs(xv[edge] - dx || 1); // Avoid singularity\n\n for (var k = i0; k <= i1; ++k) {\n var xk = xv[k],\n yk = yv[k],\n w = tricube(Math.abs(dx - xk) * denom) * robustWeights[k],\n xkw = xk * w;\n W += w;\n X += xkw;\n Y += yk * w;\n XY += yk * xkw;\n X2 += xk * xkw;\n } // Linear regression fit\n\n\n var _ols = ols(X / W, Y / W, XY / W, X2 / W),\n _ols2 = _slicedToArray(_ols, 2),\n a = _ols2[0],\n b = _ols2[1];\n\n yhat[i] = a + b * dx;\n residuals[i] = Math.abs(yv[i] - yhat[i]);\n updateInterval(xv, i + 1, interval);\n }\n\n if (iter === maxiters) {\n break;\n }\n\n var medianResidual = median(residuals);\n if (Math.abs(medianResidual) < epsilon) break;\n\n for (var _i = 0, arg, _w; _i < n; ++_i) {\n arg = residuals[_i] / (6 * medianResidual); // Default to epsilon (rather than zero) for large deviations\n // Keeping weights tiny but non-zero prevents singularites\n\n robustWeights[_i] = arg >= 1 ? epsilon : (_w = 1 - arg * arg) * _w;\n }\n }\n\n return output(xv, yhat, ux, uy);\n }\n\n loess.bandwidth = function (bw) {\n return arguments.length ? (bandwidth = bw, loess) : bandwidth;\n };\n\n loess.x = function (fn) {\n return arguments.length ? (x = fn, loess) : x;\n };\n\n loess.y = function (fn) {\n return arguments.length ? (y = fn, loess) : y;\n };\n\n return loess;\n} // Weighting kernel for local regression\n\nfunction tricube(x) {\n return (x = 1 - x * x * x) * x * x;\n} // Advance sliding window interval of nearest neighbors\n\n\nfunction updateInterval(xv, i, interval) {\n var val = xv[i],\n left = interval[0],\n right = interval[1] + 1;\n if (right >= xv.length) return; // Step right if distance to new right edge is <= distance to old left edge\n // Step when distance is equal to ensure movement over duplicate x values\n\n while (i > left && xv[right] - val <= val - xv[left]) {\n interval[0] = ++left;\n interval[1] = right;\n ++right;\n }\n} // Generate smoothed output points\n// Average points with repeated x values\n\n\nfunction output(xv, yhat, ux, uy) {\n var n = xv.length,\n out = [];\n var i = 0,\n cnt = 0,\n prev = [],\n v;\n\n for (; i < n; ++i) {\n v = xv[i] + ux;\n\n if (prev[0] === v) {\n // Average output values via online update\n prev[1] += (yhat[i] - prev[1]) / ++cnt;\n } else {\n // Add new output point\n cnt = 0;\n prev[1] += uy;\n prev = [v, yhat[i]];\n out.push(prev);\n }\n }\n\n prev[1] += uy;\n return out;\n}\n\nfunction logarithmic () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n base = Math.E,\n domain;\n\n function logarithmic(data) {\n var n = 0,\n X = 0,\n Y = 0,\n XY = 0,\n X2 = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity,\n lb = Math.log(base);\n visitPoints(data, x, y, function (dx, dy) {\n var lx = Math.log(dx) / lb;\n ++n;\n X += (lx - X) / n;\n Y += (dy - Y) / n;\n XY += (lx * dy - XY) / n;\n X2 += (lx * lx - X2) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(X, Y, XY, X2),\n _ols2 = _slicedToArray(_ols, 2),\n intercept = _ols2[0],\n slope = _ols2[1],\n fn = function fn(x) {\n return slope * Math.log(x) / lb + intercept;\n },\n out = interpose(xmin, xmax, fn);\n\n out.a = slope;\n out.b = intercept;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n logarithmic.domain = function (arr) {\n return arguments.length ? (domain = arr, logarithmic) : domain;\n };\n\n logarithmic.x = function (fn) {\n return arguments.length ? (x = fn, logarithmic) : x;\n };\n\n logarithmic.y = function (fn) {\n return arguments.length ? (y = fn, logarithmic) : y;\n };\n\n logarithmic.base = function (n) {\n return arguments.length ? (base = n, logarithmic) : base;\n };\n\n return logarithmic;\n}\n\nfunction quad () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function quadratic(data) {\n var _points = points(data, x, y),\n _points2 = _slicedToArray(_points, 4),\n xv = _points2[0],\n yv = _points2[1],\n ux = _points2[2],\n uy = _points2[3],\n n = xv.length;\n\n var X2 = 0,\n X3 = 0,\n X4 = 0,\n XY = 0,\n X2Y = 0,\n i,\n dx,\n dy,\n x2;\n\n for (i = 0; i < n;) {\n dx = xv[i];\n dy = yv[i++];\n x2 = dx * dx;\n X2 += (x2 - X2) / i;\n X3 += (x2 * dx - X3) / i;\n X4 += (x2 * x2 - X4) / i;\n XY += (dx * dy - XY) / i;\n X2Y += (x2 * dy - X2Y) / i;\n }\n\n var Y = 0,\n n0 = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n n0++;\n Y += (dy - Y) / n0;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var X2X2 = X4 - X2 * X2,\n d = X2 * X2X2 - X3 * X3,\n a = (X2Y * X2 - XY * X3) / d,\n b = (XY * X2X2 - X2Y * X3) / d,\n c = -a * X2,\n fn = function fn(x) {\n x = x - ux;\n return a * x * x + b * x + c + uy;\n };\n\n var out = interpose(xmin, xmax, fn);\n out.a = a;\n out.b = b - 2 * a * ux;\n out.c = c - b * ux + a * ux * ux + uy;\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n quadratic.domain = function (arr) {\n return arguments.length ? (domain = arr, quadratic) : domain;\n };\n\n quadratic.x = function (fn) {\n return arguments.length ? (x = fn, quadratic) : x;\n };\n\n quadratic.y = function (fn) {\n return arguments.length ? (y = fn, quadratic) : y;\n };\n\n return quadratic;\n}\n\n// Source: https://github.com/Tom-Alexander/regression-js/blob/master/src/regression.js#L246\n// License: https://github.com/Tom-Alexander/regression-js/blob/master/LICENSE\n// ...with ideas from vega-statistics by Jeffrey Heer\n// Source: https://github.com/vega/vega/blob/f21cb8792b4e0cbe2b1a3fd44b0f5db370dbaadb/packages/vega-statistics/src/regression/poly.js\n// License: https://github.com/vega/vega/blob/f058b099decad9db78301405dd0d2e9d8ba3d51a/LICENSE\n\nfunction polynomial () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n order = 3,\n domain;\n\n function polynomial(data) {\n // Use more efficient methods for lower orders\n if (order === 1) {\n var o = linear().x(x).y(y).domain(domain)(data);\n o.coefficients = [o.b, o.a];\n delete o.a;\n delete o.b;\n return o;\n }\n\n if (order === 2) {\n var _o = quad().x(x).y(y).domain(domain)(data);\n\n _o.coefficients = [_o.c, _o.b, _o.a];\n delete _o.a;\n delete _o.b;\n delete _o.c;\n return _o;\n }\n\n var _points = points(data, x, y),\n _points2 = _slicedToArray(_points, 4),\n xv = _points2[0],\n yv = _points2[1],\n ux = _points2[2],\n uy = _points2[3],\n n = xv.length,\n lhs = [],\n rhs = [],\n k = order + 1;\n\n var Y = 0,\n n0 = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n ++n0;\n Y += (dy - Y) / n0;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n var i, j, l, v, c;\n\n for (i = 0; i < k; ++i) {\n for (l = 0, v = 0; l < n; ++l) {\n v += Math.pow(xv[l], i) * yv[l];\n }\n\n lhs.push(v);\n c = new Float64Array(k);\n\n for (j = 0; j < k; ++j) {\n for (l = 0, v = 0; l < n; ++l) {\n v += Math.pow(xv[l], i + j);\n }\n\n c[j] = v;\n }\n\n rhs.push(c);\n }\n\n rhs.push(lhs);\n\n var coef = gaussianElimination(rhs),\n fn = function fn(x) {\n x -= ux;\n var y = uy + coef[0] + coef[1] * x + coef[2] * x * x;\n\n for (i = 3; i < k; ++i) {\n y += coef[i] * Math.pow(x, i);\n }\n\n return y;\n },\n out = interpose(xmin, xmax, fn);\n\n out.coefficients = uncenter(k, coef, -ux, uy);\n out.predict = fn;\n out.rSquared = determination(data, x, y, Y, fn);\n return out;\n }\n\n polynomial.domain = function (arr) {\n return arguments.length ? (domain = arr, polynomial) : domain;\n };\n\n polynomial.x = function (fn) {\n return arguments.length ? (x = fn, polynomial) : x;\n };\n\n polynomial.y = function (fn) {\n return arguments.length ? (y = fn, polynomial) : y;\n };\n\n polynomial.order = function (n) {\n return arguments.length ? (order = n, polynomial) : order;\n };\n\n return polynomial;\n}\n\nfunction uncenter(k, a, x, y) {\n var z = Array(k);\n var i, j, v, c; // initialize to zero\n\n for (i = 0; i < k; ++i) {\n z[i] = 0;\n } // polynomial expansion\n\n\n for (i = k - 1; i >= 0; --i) {\n v = a[i];\n c = 1;\n z[i] += v;\n\n for (j = 1; j <= i; ++j) {\n c *= (i + 1 - j) / j; // binomial coefficent\n\n z[i - j] += v * Math.pow(x, j) * c;\n }\n } // bias term\n\n\n z[0] += y;\n return z;\n} // Given an array for a two-dimensional matrix and the polynomial order,\n// solve A * x = b using Gaussian elimination.\n\n\nfunction gaussianElimination(matrix) {\n var n = matrix.length - 1,\n coef = [];\n var i, j, k, r, t;\n\n for (i = 0; i < n; ++i) {\n r = i; // max row\n\n for (j = i + 1; j < n; ++j) {\n if (Math.abs(matrix[i][j]) > Math.abs(matrix[i][r])) {\n r = j;\n }\n }\n\n for (k = i; k < n + 1; ++k) {\n t = matrix[k][i];\n matrix[k][i] = matrix[k][r];\n matrix[k][r] = t;\n }\n\n for (j = i + 1; j < n; ++j) {\n for (k = n; k >= i; k--) {\n matrix[k][j] -= matrix[k][i] * matrix[i][j] / matrix[i][i];\n }\n }\n }\n\n for (j = n - 1; j >= 0; --j) {\n t = 0;\n\n for (k = j + 1; k < n; ++k) {\n t += matrix[k][j] * coef[k];\n }\n\n coef[j] = (matrix[n][j] - t) / matrix[j][j];\n }\n\n return coef;\n}\n\nfunction power () {\n var x = function x(d) {\n return d[0];\n },\n y = function y(d) {\n return d[1];\n },\n domain;\n\n function power(data) {\n var n = 0,\n X = 0,\n Y = 0,\n XY = 0,\n X2 = 0,\n YS = 0,\n xmin = domain ? +domain[0] : Infinity,\n xmax = domain ? +domain[1] : -Infinity;\n visitPoints(data, x, y, function (dx, dy) {\n var lx = Math.log(dx),\n ly = Math.log(dy);\n ++n;\n X += (lx - X) / n;\n Y += (ly - Y) / n;\n XY += (lx * ly - XY) / n;\n X2 += (lx * lx - X2) / n;\n YS += (dy - YS) / n;\n\n if (!domain) {\n if (dx < xmin) xmin = dx;\n if (dx > xmax) xmax = dx;\n }\n });\n\n var _ols = ols(X, Y, XY, X2),\n _ols2 = _slicedToArray(_ols, 2),\n a = _ols2[0],\n b = _ols2[1];\n\n a = Math.exp(a);\n\n var fn = function fn(x) {\n return a * Math.pow(x, b);\n },\n out = interpose(xmin, xmax, fn);\n\n out.a = a;\n out.b = b;\n out.predict = fn;\n out.rSquared = determination(data, x, y, YS, fn);\n return out;\n }\n\n power.domain = function (arr) {\n return arguments.length ? (domain = arr, power) : domain;\n };\n\n power.x = function (fn) {\n return arguments.length ? (x = fn, power) : x;\n };\n\n power.y = function (fn) {\n return arguments.length ? (y = fn, power) : y;\n };\n\n return power;\n}\n\nexport { exponential as regressionExp, linear as regressionLinear, loess as regressionLoess, logarithmic as regressionLog, polynomial as regressionPoly, power as regressionPow, quad as regressionQuad };\n"],"names":["_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_i","_s","err","points","data","x","y","sort","d","u","v","a","n","X","Y","ux","uy","xv","yv","visitPoints","cb","iterations","dx","dy","determination","uY","predict","SSE","SST","sse","sst","angle","line","midpoint","interpose","xmin","xmax","l","precision","maxIter","px","iter","find","found","p0","p1","m","mp","a0","a1","ols","uX","uXY","uX2","delta","slope","intercept","exponential","domain","YL","XY","XYL","X2Y","ly","xy","_ols","_ols2","b","fn","out","linear","X2","median","maxiters","epsilon","loess","bandwidth","_points","_points2","bw","yhat","residuals","robustWeights","interval","i0","i1","edge","W","denom","k","xk","yk","w","tricube","xkw","updateInterval","medianResidual","arg","_w","output","val","left","right","cnt","prev","logarithmic","base","lb","lx","quad","quadratic","X3","X4","x2","n0","X2X2","c","polynomial","order","o","_o","lhs","rhs","j","coef","gaussianElimination","uncenter","z","matrix","r","t","power","YS"],"mappings":"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","x_google_ignoreList":[0]}