admin08077/Githubgemini
0
1{"version":3,"file":"d3-shape-CX8xTzfR.js","sources":["../../node_modules/d3-shape/src/constant.js","../../node_modules/d3-shape/src/math.js","../../node_modules/d3-shape/src/path.js","../../node_modules/d3-shape/src/arc.js","../../node_modules/d3-shape/src/array.js","../../node_modules/d3-shape/src/curve/linear.js","../../node_modules/d3-shape/src/point.js","../../node_modules/d3-shape/src/line.js","../../node_modules/d3-shape/src/descending.js","../../node_modules/d3-shape/src/identity.js","../../node_modules/d3-shape/src/pie.js","../../node_modules/d3-shape/src/curve/bump.js","../../node_modules/d3-shape/src/noop.js","../../node_modules/d3-shape/src/curve/basis.js","../../node_modules/d3-shape/src/curve/basisClosed.js","../../node_modules/d3-shape/src/curve/basisOpen.js","../../node_modules/d3-shape/src/curve/bundle.js","../../node_modules/d3-shape/src/curve/cardinal.js","../../node_modules/d3-shape/src/curve/cardinalClosed.js","../../node_modules/d3-shape/src/curve/cardinalOpen.js","../../node_modules/d3-shape/src/curve/catmullRom.js","../../node_modules/d3-shape/src/curve/catmullRomClosed.js","../../node_modules/d3-shape/src/curve/catmullRomOpen.js","../../node_modules/d3-shape/src/curve/linearClosed.js","../../node_modules/d3-shape/src/curve/monotone.js","../../node_modules/d3-shape/src/curve/natural.js","../../node_modules/d3-shape/src/curve/step.js"],"sourcesContent":["export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n","import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n"],"names":["constant","x","abs","atan2","cos","max","min","sin","sqrt","epsilon","pi","halfPi","tau","acos","asin","withPath","shape","digits","_","d","Path","arcInnerRadius","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","t","cornerTangents","r1","rc","cw","x01","y01","lo","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","D","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","arc","innerRadius","outerRadius","cornerRadius","padRadius","startAngle","endAngle","padAngle","context","path","buffer","r0","a0","a1","da","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","t0","t1","p0","p1","oc","ax","ay","bx","by","kc","lc","a","array","Linear","y","curveLinear","p","line","defined","curve","output","pointX","pointY","data","i","n","defined0","descending","b","identity","pie","value","sortValues","sort","j","k","sum","index","arcs","pa","v","Bump","bumpX","bumpY","noop","point","that","Basis","curveBasis","BasisClosed","curveBasisClosed","BasisOpen","curveBasisOpen","Bundle","beta","curveBundle","custom","bundle","Cardinal","tension","curveCardinal","cardinal","CardinalClosed","curveCardinalClosed","CardinalOpen","curveCardinalOpen","m","CatmullRom","alpha","x23","y23","curveCatmullRom","catmullRom","CatmullRomClosed","curveCatmullRomClosed","CatmullRomOpen","curveCatmullRomOpen","LinearClosed","curveLinearClosed","sign","slope3","h0","h1","s0","s1","slope2","h","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","px","controlPoints","py","i0","i1","curveNatural","Step","curveStep","stepBefore","stepAfter"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}