Page MenuHomeSoftware Heritage

d3.9a0d48ae00854a5a1b5d.js.map
No OneTemporary

d3.9a0d48ae00854a5a1b5d.js.map

{
"version": 3,
"file": "js/d3.9a0d48ae00854a5a1b5d.js",
"mappings": "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",
"sources": [
"webpack://swh/./node_modules/d3-array/src/array.js",
"webpack://swh/./node_modules/d3-array/src/ascending.js",
"webpack://swh/./node_modules/d3-array/src/bin.js",
"webpack://swh/./node_modules/d3-array/src/bisect.js",
"webpack://swh/./node_modules/d3-array/src/bisector.js",
"webpack://swh/./node_modules/d3-array/src/blur.js",
"webpack://swh/./node_modules/d3-array/src/constant.js",
"webpack://swh/./node_modules/d3-array/src/count.js",
"webpack://swh/./node_modules/d3-array/src/cross.js",
"webpack://swh/./node_modules/d3-array/src/cumsum.js",
"webpack://swh/./node_modules/d3-array/src/descending.js",
"webpack://swh/./node_modules/d3-array/src/deviation.js",
"webpack://swh/./node_modules/d3-array/src/difference.js",
"webpack://swh/./node_modules/d3-array/src/disjoint.js",
"webpack://swh/./node_modules/d3-array/src/every.js",
"webpack://swh/./node_modules/d3-array/src/extent.js",
"webpack://swh/./node_modules/d3-array/src/filter.js",
"webpack://swh/./node_modules/d3-array/src/fsum.js",
"webpack://swh/./node_modules/d3-array/src/greatest.js",
"webpack://swh/./node_modules/d3-array/src/greatestIndex.js",
"webpack://swh/./node_modules/d3-array/src/group.js",
"webpack://swh/./node_modules/d3-array/src/groupSort.js",
"webpack://swh/./node_modules/d3-array/src/identity.js",
"webpack://swh/./node_modules/d3-array/src/intersection.js",
"webpack://swh/./node_modules/d3-array/src/least.js",
"webpack://swh/./node_modules/d3-array/src/leastIndex.js",
"webpack://swh/./node_modules/d3-array/src/map.js",
"webpack://swh/./node_modules/d3-array/src/max.js",
"webpack://swh/./node_modules/d3-array/src/maxIndex.js",
"webpack://swh/./node_modules/d3-array/src/mean.js",
"webpack://swh/./node_modules/d3-array/src/median.js",
"webpack://swh/./node_modules/d3-array/src/merge.js",
"webpack://swh/./node_modules/d3-array/src/min.js",
"webpack://swh/./node_modules/d3-array/src/minIndex.js",
"webpack://swh/./node_modules/d3-array/src/mode.js",
"webpack://swh/./node_modules/d3-array/src/nice.js",
"webpack://swh/./node_modules/d3-array/src/number.js",
"webpack://swh/./node_modules/d3-array/src/pairs.js",
"webpack://swh/./node_modules/d3-array/src/permute.js",
"webpack://swh/./node_modules/d3-array/src/quantile.js",
"webpack://swh/./node_modules/d3-array/src/quickselect.js",
"webpack://swh/./node_modules/d3-array/src/range.js",
"webpack://swh/./node_modules/d3-array/src/rank.js",
"webpack://swh/./node_modules/d3-array/src/reduce.js",
"webpack://swh/./node_modules/d3-array/src/reverse.js",
"webpack://swh/./node_modules/d3-array/src/scan.js",
"webpack://swh/./node_modules/d3-array/src/shuffle.js",
"webpack://swh/./node_modules/d3-array/src/some.js",
"webpack://swh/./node_modules/d3-array/src/sort.js",
"webpack://swh/./node_modules/d3-array/src/subset.js",
"webpack://swh/./node_modules/d3-array/src/sum.js",
"webpack://swh/./node_modules/d3-array/src/superset.js",
"webpack://swh/./node_modules/d3-array/src/threshold/freedmanDiaconis.js",
"webpack://swh/./node_modules/d3-array/src/threshold/scott.js",
"webpack://swh/./node_modules/d3-array/src/threshold/sturges.js",
"webpack://swh/./node_modules/d3-array/src/ticks.js",
"webpack://swh/./node_modules/d3-array/src/transpose.js",
"webpack://swh/./node_modules/d3-array/src/union.js",
"webpack://swh/./node_modules/d3-array/src/variance.js",
"webpack://swh/./node_modules/d3-array/src/zip.js",
"webpack://swh/./node_modules/d3-axis/src/axis.js",
"webpack://swh/./node_modules/d3-axis/src/identity.js",
"webpack://swh/./node_modules/d3-color/src/color.js",
"webpack://swh/./node_modules/d3-color/src/define.js",
"webpack://swh/./node_modules/d3-dispatch/src/dispatch.js",
"webpack://swh/./node_modules/d3-ease/src/cubic.js",
"webpack://swh/./node_modules/d3-format/src/defaultLocale.js",
"webpack://swh/./node_modules/d3-format/src/exponent.js",
"webpack://swh/./node_modules/d3-format/src/formatDecimal.js",
"webpack://swh/./node_modules/d3-format/src/formatGroup.js",
"webpack://swh/./node_modules/d3-format/src/formatNumerals.js",
"webpack://swh/./node_modules/d3-format/src/formatPrefixAuto.js",
"webpack://swh/./node_modules/d3-format/src/formatRounded.js",
"webpack://swh/./node_modules/d3-format/src/formatSpecifier.js",
"webpack://swh/./node_modules/d3-format/src/formatTrim.js",
"webpack://swh/./node_modules/d3-format/src/formatTypes.js",
"webpack://swh/./node_modules/d3-format/src/identity.js",
"webpack://swh/./node_modules/d3-format/src/locale.js",
"webpack://swh/./node_modules/d3-format/src/precisionFixed.js",
"webpack://swh/./node_modules/d3-format/src/precisionPrefix.js",
"webpack://swh/./node_modules/d3-format/src/precisionRound.js",
"webpack://swh/./node_modules/d3-interpolate/src/array.js",
"webpack://swh/./node_modules/d3-interpolate/src/basis.js",
"webpack://swh/./node_modules/d3-interpolate/src/basisClosed.js",
"webpack://swh/./node_modules/d3-interpolate/src/color.js",
"webpack://swh/./node_modules/d3-interpolate/src/constant.js",
"webpack://swh/./node_modules/d3-interpolate/src/date.js",
"webpack://swh/./node_modules/d3-interpolate/src/number.js",
"webpack://swh/./node_modules/d3-interpolate/src/numberArray.js",
"webpack://swh/./node_modules/d3-interpolate/src/object.js",
"webpack://swh/./node_modules/d3-interpolate/src/piecewise.js",
"webpack://swh/./node_modules/d3-interpolate/src/rgb.js",
"webpack://swh/./node_modules/d3-interpolate/src/round.js",
"webpack://swh/./node_modules/d3-interpolate/src/string.js",
"webpack://swh/./node_modules/d3-interpolate/src/transform/decompose.js",
"webpack://swh/./node_modules/d3-interpolate/src/transform/index.js",
"webpack://swh/./node_modules/d3-interpolate/src/transform/parse.js",
"webpack://swh/./node_modules/d3-interpolate/src/value.js",
"webpack://swh/./node_modules/d3-path/src/path.js",
"webpack://swh/./node_modules/d3-scale/src/band.js",
"webpack://swh/./node_modules/d3-scale/src/constant.js",
"webpack://swh/./node_modules/d3-scale/src/continuous.js",
"webpack://swh/./node_modules/d3-scale/src/diverging.js",
"webpack://swh/./node_modules/d3-scale/src/identity.js",
"webpack://swh/./node_modules/d3-scale/src/init.js",
"webpack://swh/./node_modules/d3-scale/src/linear.js",
"webpack://swh/./node_modules/d3-scale/src/log.js",
"webpack://swh/./node_modules/d3-scale/src/nice.js",
"webpack://swh/./node_modules/d3-scale/src/number.js",
"webpack://swh/./node_modules/d3-scale/src/ordinal.js",
"webpack://swh/./node_modules/d3-scale/src/pow.js",
"webpack://swh/./node_modules/d3-scale/src/quantile.js",
"webpack://swh/./node_modules/d3-scale/src/quantize.js",
"webpack://swh/./node_modules/d3-scale/src/radial.js",
"webpack://swh/./node_modules/d3-scale/src/sequential.js",
"webpack://swh/./node_modules/d3-scale/src/sequentialQuantile.js",
"webpack://swh/./node_modules/d3-scale/src/symlog.js",
"webpack://swh/./node_modules/d3-scale/src/threshold.js",
"webpack://swh/./node_modules/d3-scale/src/tickFormat.js",
"webpack://swh/./node_modules/d3-scale/src/time.js",
"webpack://swh/./node_modules/d3-scale/src/utcTime.js",
"webpack://swh/./node_modules/d3-selection/src/array.js",
"webpack://swh/./node_modules/d3-selection/src/constant.js",
"webpack://swh/./node_modules/d3-selection/src/create.js",
"webpack://swh/./node_modules/d3-selection/src/creator.js",
"webpack://swh/./node_modules/d3-selection/src/local.js",
"webpack://swh/./node_modules/d3-selection/src/matcher.js",
"webpack://swh/./node_modules/d3-selection/src/namespace.js",
"webpack://swh/./node_modules/d3-selection/src/namespaces.js",
"webpack://swh/./node_modules/d3-selection/src/pointer.js",
"webpack://swh/./node_modules/d3-selection/src/pointers.js",
"webpack://swh/./node_modules/d3-selection/src/select.js",
"webpack://swh/./node_modules/d3-selection/src/selectAll.js",
"webpack://swh/./node_modules/d3-selection/src/selection/append.js",
"webpack://swh/./node_modules/d3-selection/src/selection/attr.js",
"webpack://swh/./node_modules/d3-selection/src/selection/call.js",
"webpack://swh/./node_modules/d3-selection/src/selection/classed.js",
"webpack://swh/./node_modules/d3-selection/src/selection/clone.js",
"webpack://swh/./node_modules/d3-selection/src/selection/data.js",
"webpack://swh/./node_modules/d3-selection/src/selection/datum.js",
"webpack://swh/./node_modules/d3-selection/src/selection/dispatch.js",
"webpack://swh/./node_modules/d3-selection/src/selection/each.js",
"webpack://swh/./node_modules/d3-selection/src/selection/empty.js",
"webpack://swh/./node_modules/d3-selection/src/selection/enter.js",
"webpack://swh/./node_modules/d3-selection/src/selection/exit.js",
"webpack://swh/./node_modules/d3-selection/src/selection/filter.js",
"webpack://swh/./node_modules/d3-selection/src/selection/html.js",
"webpack://swh/./node_modules/d3-selection/src/selection/index.js",
"webpack://swh/./node_modules/d3-selection/src/selection/insert.js",
"webpack://swh/./node_modules/d3-selection/src/selection/iterator.js",
"webpack://swh/./node_modules/d3-selection/src/selection/join.js",
"webpack://swh/./node_modules/d3-selection/src/selection/lower.js",
"webpack://swh/./node_modules/d3-selection/src/selection/merge.js",
"webpack://swh/./node_modules/d3-selection/src/selection/node.js",
"webpack://swh/./node_modules/d3-selection/src/selection/nodes.js",
"webpack://swh/./node_modules/d3-selection/src/selection/on.js",
"webpack://swh/./node_modules/d3-selection/src/selection/order.js",
"webpack://swh/./node_modules/d3-selection/src/selection/property.js",
"webpack://swh/./node_modules/d3-selection/src/selection/raise.js",
"webpack://swh/./node_modules/d3-selection/src/selection/remove.js",
"webpack://swh/./node_modules/d3-selection/src/selection/select.js",
"webpack://swh/./node_modules/d3-selection/src/selection/selectAll.js",
"webpack://swh/./node_modules/d3-selection/src/selection/selectChild.js",
"webpack://swh/./node_modules/d3-selection/src/selection/selectChildren.js",
"webpack://swh/./node_modules/d3-selection/src/selection/size.js",
"webpack://swh/./node_modules/d3-selection/src/selection/sort.js",
"webpack://swh/./node_modules/d3-selection/src/selection/sparse.js",
"webpack://swh/./node_modules/d3-selection/src/selection/style.js",
"webpack://swh/./node_modules/d3-selection/src/selection/text.js",
"webpack://swh/./node_modules/d3-selection/src/selector.js",
"webpack://swh/./node_modules/d3-selection/src/selectorAll.js",
"webpack://swh/./node_modules/d3-selection/src/sourceEvent.js",
"webpack://swh/./node_modules/d3-selection/src/window.js",
"webpack://swh/./node_modules/d3-shape/src/arc.js",
"webpack://swh/./node_modules/d3-shape/src/area.js",
"webpack://swh/./node_modules/d3-shape/src/areaRadial.js",
"webpack://swh/./node_modules/d3-shape/src/array.js",
"webpack://swh/./node_modules/d3-shape/src/constant.js",
"webpack://swh/./node_modules/d3-shape/src/curve/basis.js",
"webpack://swh/./node_modules/d3-shape/src/curve/basisClosed.js",
"webpack://swh/./node_modules/d3-shape/src/curve/basisOpen.js",
"webpack://swh/./node_modules/d3-shape/src/curve/bump.js",
"webpack://swh/./node_modules/d3-shape/src/curve/bundle.js",
"webpack://swh/./node_modules/d3-shape/src/curve/cardinal.js",
"webpack://swh/./node_modules/d3-shape/src/curve/cardinalClosed.js",
"webpack://swh/./node_modules/d3-shape/src/curve/cardinalOpen.js",
"webpack://swh/./node_modules/d3-shape/src/curve/catmullRom.js",
"webpack://swh/./node_modules/d3-shape/src/curve/catmullRomClosed.js",
"webpack://swh/./node_modules/d3-shape/src/curve/catmullRomOpen.js",
"webpack://swh/./node_modules/d3-shape/src/curve/linear.js",
"webpack://swh/./node_modules/d3-shape/src/curve/linearClosed.js",
"webpack://swh/./node_modules/d3-shape/src/curve/monotone.js",
"webpack://swh/./node_modules/d3-shape/src/curve/natural.js",
"webpack://swh/./node_modules/d3-shape/src/curve/radial.js",
"webpack://swh/./node_modules/d3-shape/src/curve/step.js",
"webpack://swh/./node_modules/d3-shape/src/descending.js",
"webpack://swh/./node_modules/d3-shape/src/identity.js",
"webpack://swh/./node_modules/d3-shape/src/line.js",
"webpack://swh/./node_modules/d3-shape/src/lineRadial.js",
"webpack://swh/./node_modules/d3-shape/src/link/index.js",
"webpack://swh/./node_modules/d3-shape/src/math.js",
"webpack://swh/./node_modules/d3-shape/src/noop.js",
"webpack://swh/./node_modules/d3-shape/src/offset/diverging.js",
"webpack://swh/./node_modules/d3-shape/src/offset/expand.js",
"webpack://swh/./node_modules/d3-shape/src/offset/none.js",
"webpack://swh/./node_modules/d3-shape/src/offset/silhouette.js",
"webpack://swh/./node_modules/d3-shape/src/offset/wiggle.js",
"webpack://swh/./node_modules/d3-shape/src/order/appearance.js",
"webpack://swh/./node_modules/d3-shape/src/order/ascending.js",
"webpack://swh/./node_modules/d3-shape/src/order/descending.js",
"webpack://swh/./node_modules/d3-shape/src/order/insideOut.js",
"webpack://swh/./node_modules/d3-shape/src/order/none.js",
"webpack://swh/./node_modules/d3-shape/src/order/reverse.js",
"webpack://swh/./node_modules/d3-shape/src/pie.js",
"webpack://swh/./node_modules/d3-shape/src/point.js",
"webpack://swh/./node_modules/d3-shape/src/pointRadial.js",
"webpack://swh/./node_modules/d3-shape/src/stack.js",
"webpack://swh/./node_modules/d3-shape/src/symbol.js",
"webpack://swh/./node_modules/d3-shape/src/symbol/circle.js",
"webpack://swh/./node_modules/d3-shape/src/symbol/cross.js",
"webpack://swh/./node_modules/d3-shape/src/symbol/diamond.js",
"webpack://swh/./node_modules/d3-shape/src/symbol/square.js",
"webpack://swh/./node_modules/d3-shape/src/symbol/star.js",
"webpack://swh/./node_modules/d3-shape/src/symbol/triangle.js",
"webpack://swh/./node_modules/d3-shape/src/symbol/wye.js",
"webpack://swh/./node_modules/d3-time-format/src/defaultLocale.js",
"webpack://swh/./node_modules/d3-time-format/src/isoFormat.js",
"webpack://swh/./node_modules/d3-time-format/src/isoParse.js",
"webpack://swh/./node_modules/d3-time-format/src/locale.js",
"webpack://swh/./node_modules/d3-time/src/day.js",
"webpack://swh/./node_modules/d3-time/src/duration.js",
"webpack://swh/./node_modules/d3-time/src/hour.js",
"webpack://swh/./node_modules/d3-time/src/interval.js",
"webpack://swh/./node_modules/d3-time/src/millisecond.js",
"webpack://swh/./node_modules/d3-time/src/minute.js",
"webpack://swh/./node_modules/d3-time/src/month.js",
"webpack://swh/./node_modules/d3-time/src/second.js",
"webpack://swh/./node_modules/d3-time/src/ticks.js",
"webpack://swh/./node_modules/d3-time/src/utcDay.js",
"webpack://swh/./node_modules/d3-time/src/utcHour.js",
"webpack://swh/./node_modules/d3-time/src/utcMinute.js",
"webpack://swh/./node_modules/d3-time/src/utcMonth.js",
"webpack://swh/./node_modules/d3-time/src/utcWeek.js",
"webpack://swh/./node_modules/d3-time/src/utcYear.js",
"webpack://swh/./node_modules/d3-time/src/week.js",
"webpack://swh/./node_modules/d3-time/src/year.js",
"webpack://swh/./node_modules/d3-timer/src/timeout.js",
"webpack://swh/./node_modules/d3-timer/src/timer.js",
"webpack://swh/./node_modules/d3-transition/src/active.js",
"webpack://swh/./node_modules/d3-transition/src/interrupt.js",
"webpack://swh/./node_modules/d3-transition/src/selection/index.js",
"webpack://swh/./node_modules/d3-transition/src/selection/interrupt.js",
"webpack://swh/./node_modules/d3-transition/src/selection/transition.js",
"webpack://swh/./node_modules/d3-transition/src/transition/attr.js",
"webpack://swh/./node_modules/d3-transition/src/transition/attrTween.js",
"webpack://swh/./node_modules/d3-transition/src/transition/delay.js",
"webpack://swh/./node_modules/d3-transition/src/transition/duration.js",
"webpack://swh/./node_modules/d3-transition/src/transition/ease.js",
"webpack://swh/./node_modules/d3-transition/src/transition/easeVarying.js",
"webpack://swh/./node_modules/d3-transition/src/transition/end.js",
"webpack://swh/./node_modules/d3-transition/src/transition/filter.js",
"webpack://swh/./node_modules/d3-transition/src/transition/index.js",
"webpack://swh/./node_modules/d3-transition/src/transition/interpolate.js",
"webpack://swh/./node_modules/d3-transition/src/transition/merge.js",
"webpack://swh/./node_modules/d3-transition/src/transition/on.js",
"webpack://swh/./node_modules/d3-transition/src/transition/remove.js",
"webpack://swh/./node_modules/d3-transition/src/transition/schedule.js",
"webpack://swh/./node_modules/d3-transition/src/transition/select.js",
"webpack://swh/./node_modules/d3-transition/src/transition/selectAll.js",
"webpack://swh/./node_modules/d3-transition/src/transition/selection.js",
"webpack://swh/./node_modules/d3-transition/src/transition/style.js",
"webpack://swh/./node_modules/d3-transition/src/transition/styleTween.js",
"webpack://swh/./node_modules/d3-transition/src/transition/text.js",
"webpack://swh/./node_modules/d3-transition/src/transition/textTween.js",
"webpack://swh/./node_modules/d3-transition/src/transition/transition.js",
"webpack://swh/./node_modules/d3-transition/src/transition/tween.js",
"webpack://swh/./node_modules/internmap/src/index.js"
],
"sourcesContent": [
"var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n",
"export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n",
"import {slice} from \"./array.js\";\nimport bisect from \"./bisect.js\";\nimport constant from \"./constant.js\";\nimport extent from \"./extent.js\";\nimport identity from \"./identity.js\";\nimport nice from \"./nice.js\";\nimport ticks, {tickIncrement} from \"./ticks.js\";\nimport sturges from \"./threshold/sturges.js\";\n\nexport default function bin() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n\n var i,\n n = data.length,\n x,\n step,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds, and nice the\n // default domain accordingly.\n if (!Array.isArray(tz)) {\n const max = x1, tn = +tz;\n if (domain === extent) [x0, x1] = nice(x0, x1, tn);\n tz = ticks(x0, x1, tn);\n\n // If the domain is aligned with the first tick (which it will by\n // default), then we can use quantization rather than bisection to bin\n // values, which is substantially faster.\n if (tz[0] <= x0) step = tickIncrement(x0, x1, tn);\n\n // If the last threshold is coincident with the domain\u2019s upper bound, the\n // last bin will be zero-width. If the default domain is used, and this\n // last threshold is coincident with the maximum input value, we can\n // extend the niced upper bound by one tick to ensure uniform bin widths;\n // otherwise, we simply remove the last threshold. Note that we don\u2019t\n // coerce values or the domain to numbers, and thus must be careful to\n // compare order (>=) rather than strict equality (===)!\n if (tz[tz.length - 1] >= x1) {\n if (max >= x1 && domain === extent) {\n const step = tickIncrement(x0, x1, tn);\n if (isFinite(step)) {\n if (step > 0) {\n x1 = (Math.floor(x1 / step) + 1) * step;\n } else if (step < 0) {\n x1 = (Math.ceil(x1 * -step) + 1) / -step;\n }\n }\n } else {\n tz.pop();\n }\n }\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n if (isFinite(step)) {\n if (step > 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[Math.min(m, Math.floor((x - x0) / step))].push(data[i]);\n }\n }\n } else if (step < 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n const j = Math.floor((x0 - x) * step);\n bins[Math.min(m, j + (tz[j] <= x))].push(data[i]); // handle off-by-one due to rounding\n }\n }\n }\n } else {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;\n };\n\n return histogram;\n}\n",
"import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n",
"import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can\u2019t do this\n // for a comparator (except for specific, known comparators) because we can\u2019t\n // tell if the comparator is symmetric, and an asymmetric comparator can\u2019t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n",
"export function blur(values, r) {\n if (!((r = +r) >= 0)) throw new RangeError(\"invalid r\");\n let length = values.length;\n if (!((length = Math.floor(length)) >= 0)) throw new RangeError(\"invalid length\");\n if (!length || !r) return values;\n const blur = blurf(r);\n const temp = values.slice();\n blur(values, temp, 0, length, 1);\n blur(temp, values, 0, length, 1);\n blur(values, temp, 0, length, 1);\n return values;\n}\n\nexport const blur2 = Blur2(blurf);\n\nexport const blurImage = Blur2(blurfImage);\n\nfunction Blur2(blur) {\n return function(data, rx, ry = rx) {\n if (!((rx = +rx) >= 0)) throw new RangeError(\"invalid rx\");\n if (!((ry = +ry) >= 0)) throw new RangeError(\"invalid ry\");\n let {data: values, width, height} = data;\n if (!((width = Math.floor(width)) >= 0)) throw new RangeError(\"invalid width\");\n if (!((height = Math.floor(height !== undefined ? height : values.length / width)) >= 0)) throw new RangeError(\"invalid height\");\n if (!width || !height || (!rx && !ry)) return data;\n const blurx = rx && blur(rx);\n const blury = ry && blur(ry);\n const temp = values.slice();\n if (blurx && blury) {\n blurh(blurx, temp, values, width, height);\n blurh(blurx, values, temp, width, height);\n blurh(blurx, temp, values, width, height);\n blurv(blury, values, temp, width, height);\n blurv(blury, temp, values, width, height);\n blurv(blury, values, temp, width, height);\n } else if (blurx) {\n blurh(blurx, values, temp, width, height);\n blurh(blurx, temp, values, width, height);\n blurh(blurx, values, temp, width, height);\n } else if (blury) {\n blurv(blury, values, temp, width, height);\n blurv(blury, temp, values, width, height);\n blurv(blury, values, temp, width, height);\n }\n return data;\n };\n}\n\nfunction blurh(blur, T, S, w, h) {\n for (let y = 0, n = w * h; y < n;) {\n blur(T, S, y, y += w, 1);\n }\n}\n\nfunction blurv(blur, T, S, w, h) {\n for (let x = 0, n = w * h; x < w; ++x) {\n blur(T, S, x, x + n, w);\n }\n}\n\nfunction blurfImage(radius) {\n const blur = blurf(radius);\n return (T, S, start, stop, step) => {\n start <<= 2, stop <<= 2, step <<= 2;\n blur(T, S, start + 0, stop + 0, step);\n blur(T, S, start + 1, stop + 1, step);\n blur(T, S, start + 2, stop + 2, step);\n blur(T, S, start + 3, stop + 3, step);\n };\n}\n\n// Given a target array T, a source array S, sets each value T[i] to the average\n// of {S[i - r], \u2026, S[i], \u2026, S[i + r]}, where r = \u230aradius\u230b, start <= i < stop,\n// for each i, i + step, i + 2 * step, etc., and where S[j] is clamped between\n// S[start] (inclusive) and S[stop] (exclusive). If the given radius is not an\n// integer, S[i - r - 1] and S[i + r + 1] are added to the sum, each weighted\n// according to r - \u230aradius\u230b.\nfunction blurf(radius) {\n const radius0 = Math.floor(radius);\n if (radius0 === radius) return bluri(radius);\n const t = radius - radius0;\n const w = 2 * radius + 1;\n return (T, S, start, stop, step) => { // stop must be aligned!\n if (!((stop -= step) >= start)) return; // inclusive stop\n let sum = radius0 * S[start];\n const s0 = step * radius0;\n const s1 = s0 + step;\n for (let i = start, j = start + s0; i < j; i += step) {\n sum += S[Math.min(stop, i)];\n }\n for (let i = start, j = stop; i <= j; i += step) {\n sum += S[Math.min(stop, i + s0)];\n T[i] = (sum + t * (S[Math.max(start, i - s1)] + S[Math.min(stop, i + s1)])) / w;\n sum -= S[Math.max(start, i - s0)];\n }\n };\n}\n\n// Like blurf, but optimized for integer radius.\nfunction bluri(radius) {\n const w = 2 * radius + 1;\n return (T, S, start, stop, step) => { // stop must be aligned!\n if (!((stop -= step) >= start)) return; // inclusive stop\n let sum = radius * S[start];\n const s = step * radius;\n for (let i = start, j = start + s; i < j; i += step) {\n sum += S[Math.min(stop, i)];\n }\n for (let i = start, j = stop; i <= j; i += step) {\n sum += S[Math.min(stop, i + s)];\n T[i] = sum / w;\n sum -= S[Math.max(start, i - s)];\n }\n };\n}\n",
"export default function constant(x) {\n return () => x;\n}\n",
"export default function count(values, valueof) {\n let count = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count;\n }\n }\n }\n return count;\n}\n",
"function length(array) {\n return array.length | 0;\n}\n\nfunction empty(length) {\n return !(length > 0);\n}\n\nfunction arrayify(values) {\n return typeof values !== \"object\" || \"length\" in values ? values : Array.from(values);\n}\n\nfunction reducer(reduce) {\n return values => reduce(...values);\n}\n\nexport default function cross(...values) {\n const reduce = typeof values[values.length - 1] === \"function\" && reducer(values.pop());\n values = values.map(arrayify);\n const lengths = values.map(length);\n const j = values.length - 1;\n const index = new Array(j + 1).fill(0);\n const product = [];\n if (j < 0 || lengths.some(empty)) return product;\n while (true) {\n product.push(index.map((j, i) => values[i][j]));\n let i = j;\n while (++index[i] === lengths[i]) {\n if (i === 0) return reduce ? product.map(reduce) : product;\n index[i--] = 0;\n }\n }\n}\n",
"export default function cumsum(values, valueof) {\n var sum = 0, index = 0;\n return Float64Array.from(values, valueof === undefined\n ? v => (sum += +v || 0)\n : v => (sum += +valueof(v, index++, values) || 0));\n}",
"export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n",
"import variance from \"./variance.js\";\n\nexport default function deviation(values, valueof) {\n const v = variance(values, valueof);\n return v ? Math.sqrt(v) : v;\n}\n",
"import {InternSet} from \"internmap\";\n\nexport default function difference(values, ...others) {\n values = new InternSet(values);\n for (const other of others) {\n for (const value of other) {\n values.delete(value);\n }\n }\n return values;\n}\n",
"import {InternSet} from \"internmap\";\n\nexport default function disjoint(values, other) {\n const iterator = other[Symbol.iterator](), set = new InternSet();\n for (const v of values) {\n if (set.has(v)) return false;\n let value, done;\n while (({value, done} = iterator.next())) {\n if (done) break;\n if (Object.is(v, value)) return false;\n set.add(value);\n }\n }\n return true;\n}\n",
"export default function every(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n let index = -1;\n for (const value of values) {\n if (!test(value, ++index, values)) {\n return false;\n }\n }\n return true;\n}\n",
"export default function extent(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n",
"export default function filter(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n const array = [];\n let index = -1;\n for (const value of values) {\n if (test(value, ++index, values)) {\n array.push(value);\n }\n }\n return array;\n}\n",
"// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n",
"import ascending from \"./ascending.js\";\n\nexport default function greatest(values, compare = ascending) {\n let max;\n let defined = false;\n if (compare.length === 1) {\n let maxValue;\n for (const element of values) {\n const value = compare(element);\n if (defined\n ? ascending(value, maxValue) > 0\n : ascending(value, value) === 0) {\n max = element;\n maxValue = value;\n defined = true;\n }\n }\n } else {\n for (const value of values) {\n if (defined\n ? compare(value, max) > 0\n : compare(value, value) === 0) {\n max = value;\n defined = true;\n }\n }\n }\n return max;\n}\n",
"import ascending from \"./ascending.js\";\nimport maxIndex from \"./maxIndex.js\";\n\nexport default function greatestIndex(values, compare = ascending) {\n if (compare.length === 1) return maxIndex(values, compare);\n let maxValue;\n let max = -1;\n let index = -1;\n for (const value of values) {\n ++index;\n if (max < 0\n ? compare(value, value) === 0\n : compare(value, maxValue) > 0) {\n maxValue = value;\n max = index;\n }\n }\n return max;\n}\n",
"import {InternMap} from \"internmap\";\nimport identity from \"./identity.js\";\n\nexport default function group(values, ...keys) {\n return nest(values, identity, identity, keys);\n}\n\nexport function groups(values, ...keys) {\n return nest(values, Array.from, identity, keys);\n}\n\nfunction flatten(groups, keys) {\n for (let i = 1, n = keys.length; i < n; ++i) {\n groups = groups.flatMap(g => g.pop().map(([key, value]) => [...g, key, value]));\n }\n return groups;\n}\n\nexport function flatGroup(values, ...keys) {\n return flatten(groups(values, ...keys), keys);\n}\n\nexport function flatRollup(values, reduce, ...keys) {\n return flatten(rollups(values, reduce, ...keys), keys);\n}\n\nexport function rollup(values, reduce, ...keys) {\n return nest(values, identity, reduce, keys);\n}\n\nexport function rollups(values, reduce, ...keys) {\n return nest(values, Array.from, reduce, keys);\n}\n\nexport function index(values, ...keys) {\n return nest(values, identity, unique, keys);\n}\n\nexport function indexes(values, ...keys) {\n return nest(values, Array.from, unique, keys);\n}\n\nfunction unique(values) {\n if (values.length !== 1) throw new Error(\"duplicate key\");\n return values[0];\n}\n\nfunction nest(values, map, reduce, keys) {\n return (function regroup(values, i) {\n if (i >= keys.length) return reduce(values);\n const groups = new InternMap();\n const keyof = keys[i++];\n let index = -1;\n for (const value of values) {\n const key = keyof(value, ++index, values);\n const group = groups.get(key);\n if (group) group.push(value);\n else groups.set(key, [value]);\n }\n for (const [key, values] of groups) {\n groups.set(key, regroup(values, i));\n }\n return map(groups);\n })(values, 0);\n}\n",
"import ascending from \"./ascending.js\";\nimport group, {rollup} from \"./group.js\";\nimport sort from \"./sort.js\";\n\nexport default function groupSort(values, reduce, key) {\n return (reduce.length !== 2\n ? sort(rollup(values, reduce, key), (([ak, av], [bk, bv]) => ascending(av, bv) || ascending(ak, bk)))\n : sort(group(values, key), (([ak, av], [bk, bv]) => reduce(av, bv) || ascending(ak, bk))))\n .map(([key]) => key);\n}\n",
"export default function identity(x) {\n return x;\n}\n",
"import {InternSet} from \"internmap\";\n\nexport default function intersection(values, ...others) {\n values = new InternSet(values);\n others = others.map(set);\n out: for (const value of values) {\n for (const other of others) {\n if (!other.has(value)) {\n values.delete(value);\n continue out;\n }\n }\n }\n return values;\n}\n\nfunction set(values) {\n return values instanceof InternSet ? values : new InternSet(values);\n}\n",
"import ascending from \"./ascending.js\";\n\nexport default function least(values, compare = ascending) {\n let min;\n let defined = false;\n if (compare.length === 1) {\n let minValue;\n for (const element of values) {\n const value = compare(element);\n if (defined\n ? ascending(value, minValue) < 0\n : ascending(value, value) === 0) {\n min = element;\n minValue = value;\n defined = true;\n }\n }\n } else {\n for (const value of values) {\n if (defined\n ? compare(value, min) < 0\n : compare(value, value) === 0) {\n min = value;\n defined = true;\n }\n }\n }\n return min;\n}\n",
"import ascending from \"./ascending.js\";\nimport minIndex from \"./minIndex.js\";\n\nexport default function leastIndex(values, compare = ascending) {\n if (compare.length === 1) return minIndex(values, compare);\n let minValue;\n let min = -1;\n let index = -1;\n for (const value of values) {\n ++index;\n if (min < 0\n ? compare(value, value) === 0\n : compare(value, minValue) < 0) {\n minValue = value;\n min = index;\n }\n }\n return min;\n}\n",
"export default function map(values, mapper) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n if (typeof mapper !== \"function\") throw new TypeError(\"mapper is not a function\");\n return Array.from(values, (value, index) => mapper(value, index, values));\n}\n",
"export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n",
"export default function maxIndex(values, valueof) {\n let max;\n let maxIndex = -1;\n let index = -1;\n if (valueof === undefined) {\n for (const value of values) {\n ++index;\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value, maxIndex = index;\n }\n }\n } else {\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value, maxIndex = index;\n }\n }\n }\n return maxIndex;\n}\n",
"export default function mean(values, valueof) {\n let count = 0;\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n }\n }\n if (count) return sum / count;\n}\n",
"import quantile, {quantileIndex} from \"./quantile.js\";\n\nexport default function median(values, valueof) {\n return quantile(values, 0.5, valueof);\n}\n\nexport function medianIndex(values, valueof) {\n return quantileIndex(values, 0.5, valueof);\n}\n",
"function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n",
"export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n",
"export default function minIndex(values, valueof) {\n let min;\n let minIndex = -1;\n let index = -1;\n if (valueof === undefined) {\n for (const value of values) {\n ++index;\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value, minIndex = index;\n }\n }\n } else {\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value, minIndex = index;\n }\n }\n }\n return minIndex;\n}\n",
"import {InternMap} from \"internmap\";\n\nexport default function mode(values, valueof) {\n const counts = new InternMap();\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && value >= value) {\n counts.set(value, (counts.get(value) || 0) + 1);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && value >= value) {\n counts.set(value, (counts.get(value) || 0) + 1);\n }\n }\n }\n let modeValue;\n let modeCount = 0;\n for (const [value, count] of counts) {\n if (count > modeCount) {\n modeCount = count;\n modeValue = value;\n }\n }\n return modeValue;\n}\n",
"import {tickIncrement} from \"./ticks.js\";\n\nexport default function nice(start, stop, count) {\n let prestep;\n while (true) {\n const step = tickIncrement(start, stop, count);\n if (step === prestep || step === 0 || !isFinite(step)) {\n return [start, stop];\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n }\n prestep = step;\n }\n}\n",
"export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n",
"export default function pairs(values, pairof = pair) {\n const pairs = [];\n let previous;\n let first = false;\n for (const value of values) {\n if (first) pairs.push(pairof(previous, value));\n previous = value;\n first = true;\n }\n return pairs;\n}\n\nexport function pair(a, b) {\n return [a, b];\n}\n",
"export default function permute(source, keys) {\n return Array.from(keys, key => source[key]);\n}\n",
"import max from \"./max.js\";\nimport maxIndex from \"./maxIndex.js\";\nimport min from \"./min.js\";\nimport minIndex from \"./minIndex.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\nimport {ascendingDefined} from \"./sort.js\";\nimport greatest from \"./greatest.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileIndex(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return minIndex(values);\n if (p >= 1) return maxIndex(values);\n var n,\n i = Math.floor((n - 1) * p),\n order = (i, j) => ascendingDefined(values[i], values[j]),\n index = quickselect(Uint32Array.from(values, (_, i) => i), i, 0, n - 1, order);\n return greatest(index.subarray(0, i + 1), i => values[i]);\n}\n",
"import {ascendingDefined, compareDefined} from \"./sort.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = array.length - 1, compare) {\n compare = compare === undefined ? ascendingDefined : compareDefined(compare);\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n",
"export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n",
"import ascending from \"./ascending.js\";\nimport {ascendingDefined, compareDefined} from \"./sort.js\";\n\nexport default function rank(values, valueof = ascending) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n let V = Array.from(values);\n const R = new Float64Array(V.length);\n if (valueof.length !== 2) V = V.map(valueof), valueof = ascending;\n const compareIndex = (i, j) => valueof(V[i], V[j]);\n let k, r;\n Uint32Array\n .from(V, (_, i) => i)\n .sort(valueof === ascending ? (i, j) => ascendingDefined(V[i], V[j]) : compareDefined(compareIndex))\n .forEach((j, i) => {\n const c = compareIndex(j, k === undefined ? j : k);\n if (c >= 0) {\n if (k === undefined || c > 0) k = j, r = i;\n R[j] = r;\n } else {\n R[j] = NaN;\n }\n });\n return R;\n}\n",
"export default function reduce(values, reducer, value) {\n if (typeof reducer !== \"function\") throw new TypeError(\"reducer is not a function\");\n const iterator = values[Symbol.iterator]();\n let done, next, index = -1;\n if (arguments.length < 3) {\n ({done, value} = iterator.next());\n if (done) return;\n ++index;\n }\n while (({done, value: next} = iterator.next()), !done) {\n value = reducer(value, next, ++index, values);\n }\n return value;\n}\n",
"export default function reverse(values) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n return Array.from(values).reverse();\n}\n",
"import leastIndex from \"./leastIndex.js\";\n\nexport default function scan(values, compare) {\n const index = leastIndex(values, compare);\n return index < 0 ? undefined : index;\n}\n",
"export default shuffler(Math.random);\n\nexport function shuffler(random) {\n return function shuffle(array, i0 = 0, i1 = array.length) {\n let m = i1 - (i0 = +i0);\n while (m) {\n const i = random() * m-- | 0, t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n return array;\n };\n}\n",
"export default function some(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n let index = -1;\n for (const value of values) {\n if (test(value, ++index, values)) {\n return true;\n }\n }\n return false;\n}\n",
"import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n",
"import superset from \"./superset.js\";\n\nexport default function subset(values, other) {\n return superset(other, values);\n}\n",
"export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n",
"export default function superset(values, other) {\n const iterator = values[Symbol.iterator](), set = new Set();\n for (const o of other) {\n const io = intern(o);\n if (set.has(io)) continue;\n let value, done;\n while (({value, done} = iterator.next())) {\n if (done) return false;\n const ivalue = intern(value);\n set.add(ivalue);\n if (Object.is(io, ivalue)) break;\n }\n }\n return true;\n}\n\nfunction intern(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n",
"import count from \"../count.js\";\nimport quantile from \"../quantile.js\";\n\nexport default function thresholdFreedmanDiaconis(values, min, max) {\n return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(count(values), -1 / 3)));\n}\n",
"import count from \"../count.js\";\nimport deviation from \"../deviation.js\";\n\nexport default function thresholdScott(values, min, max) {\n return Math.ceil((max - min) * Math.cbrt(count(values)) / (3.49 * deviation(values)));\n}\n",
"import count from \"../count.js\";\n\nexport default function thresholdSturges(values) {\n return Math.ceil(Math.log(count(values)) / Math.LN2) + 1;\n}\n",
"var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function ticks(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n",
"import min from \"./min.js\";\n\nexport default function transpose(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}\n",
"import {InternSet} from \"internmap\";\n\nexport default function union(...others) {\n const set = new InternSet();\n for (const other of others) {\n for (const o of other) {\n set.add(o);\n }\n }\n return set;\n}\n",
"export default function variance(values, valueof) {\n let count = 0;\n let delta;\n let mean = 0;\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n delta = value - mean;\n mean += delta / ++count;\n sum += delta * (value - mean);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n delta = value - mean;\n mean += delta / ++count;\n sum += delta * (value - mean);\n }\n }\n }\n if (count > 1) return sum / (count - 1);\n}\n",
"import transpose from \"./transpose.js\";\n\nexport default function zip() {\n return transpose(arguments);\n}\n",
"import identity from \"./identity.js\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + x + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + y + \")\";\n}\n\nfunction number(scale) {\n return d => +scale(d);\n}\n\nfunction center(scale, offset) {\n offset = Math.max(0, scale.bandwidth() - offset * 2) / 2;\n if (scale.round()) offset = Math.round(offset);\n return d => +scale(d) + offset;\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n offset = typeof window !== \"undefined\" && window.devicePixelRatio > 1 ? 0 : 0.5,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + offset,\n range1 = +range[range.length - 1] + offset,\n position = (scale.bandwidth ? center : number)(scale.copy(), offset),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"currentColor\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"currentColor\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"currentColor\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient === right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H\" + offset + \"V\" + range1 + \"H\" + k * tickSizeOuter : \"M\" + offset + \",\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V\" + offset + \"H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",\" + offset + \"H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d) + offset); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = Array.from(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n axis.offset = function(_) {\n return arguments.length ? (offset = +_, axis) : offset;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n",
"export default function(x) {\n return x;\n}\n",
"import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n",
"export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n",
"var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n",
"export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n",
"import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n",
"import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n",
"export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, \u00b1Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n",
"export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n",
"export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n",
"import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n",
"import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n",
"// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n",
"// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n",
"import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n",
"export default function(x) {\n return x;\n}\n",
"import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\u00b5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"\u2212\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer \u201cvalue\u201d part that can be\n // grouped, and fractional or exponential \u201csuffix\u201d part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n",
"import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n",
"import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n",
"import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n",
"import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n",
"export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n",
"import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n",
"import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n",
"export default x => () => x;\n",
"export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n",
"export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n",
"export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n",
"import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n",
"import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n",
"import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n",
"export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n",
"import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n",
"var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n",
"import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n",
"import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n",
"import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n",
"const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We\u2019re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n",
"import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n",
"export default function constants(x) {\n return function() {\n return x;\n };\n}\n",
"import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n",
"import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n",
"import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n",
"export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n",
"import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n",
"import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport function loggish(transform) {\n var scale = transform(transformLog, transformExp),\n domain = scale.domain,\n base = 10,\n logs,\n pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, log()).base(scale.base());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n",
"export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n",
"export default function number(x) {\n return +x;\n}\n",
"import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n",
"import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n",
"import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n",
"import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n",
"import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n",
"import {interpolate, interpolateRound} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n",
"import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n",
"import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n",
"import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n",
"import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n",
"import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n",
"import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n",
"// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don\u2019t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n",
"export default function(x) {\n return function() {\n return x;\n };\n}\n",
"import creator from \"./creator.js\";\nimport select from \"./select.js\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n",
"import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n",
"var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n",
"export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n",
"import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n",
"export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n",
"import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n",
"import pointer from \"./pointer.js\";\nimport sourceEvent from \"./sourceEvent.js\";\n\nexport default function(events, node) {\n if (events.target) { // i.e., instanceof Event, not TouchList or iterable\n events = sourceEvent(events);\n if (node === undefined) node = events.currentTarget;\n events = events.touches || [events];\n }\n return Array.from(events, event => pointer(event, node));\n}\n",
"import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n",
"import array from \"./array.js\";\nimport {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([array(selector)], root);\n}\n",
"import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n",
"import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n",
"export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n",
"function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n",
"function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n",
"import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don\u2019t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn\u2019t worried about \u201clive\u201d collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don\u2019t; we\u2019d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n",
"export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n",
"import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n",
"export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n",
"export default function() {\n return !this.node();\n}\n",
"import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n",
"import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n",
"import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n",
"function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n",
"import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n",
"import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n",
"export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n",
"export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n",
"function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n",
"import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n",
"export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n",
"export default function() {\n return Array.from(this);\n}\n",
"function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n",
"export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n",
"function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n",
"function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n",
"function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n",
"import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n",
"import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n",
"import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n",
"import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n",
"export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n",
"import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n",
"export default function(update) {\n return new Array(update.length);\n}\n",
"import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n",
"function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n",
"function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n",
"function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n",
"export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n",
"export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n",
"import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.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\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 \u2265 r0, da1 \u2265 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.\n if (da < pi && (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 }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector\u2019s 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\u2019s a circular sector?\n // Or perhaps it\u2019s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector\u2019s 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",
"import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\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) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n",
"import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport area from \"./area.js\";\nimport {lineRadial} from \"./lineRadial.js\";\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\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",
"export default function(x) {\n return function constant() {\n return x;\n };\n}\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",
"class 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\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\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",
"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",
"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\u00e9zier 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",
"import curveLinear from \"./linear.js\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\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",
"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 {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.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\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",
"import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport line from \"./line.js\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n",
"import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n",
"export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var 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",
"export default function() {}\n",
"export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n",
"import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n",
"export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n",
"import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n",
"import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n",
"import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n",
"import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n",
"import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n",
"import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n",
"export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n",
"import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\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",
"export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n",
"export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n",
"import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n",
"import {path} from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function(type, size) {\n var context = null;\n type = typeof type === \"function\" ? type : constant(type || circle);\n size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n",
"import {pi, tau} from \"../math.js\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n",
"export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n",
"var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n",
"export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n",
"import {pi, tau} from \"../math.js\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n",
"var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n",
"var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n",
"import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n",
"import {utcFormat} from \"./defaultLocale.js\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n",
"import {isoSpecifier} from \"./isoFormat.js\";\nimport {utcParse} from \"./defaultLocale.js\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\n",
"import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n",
"import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n",
"export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n",
"import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n",
"var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n",
"import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n",
"import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n",
"import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n",
"import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n",
"import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n",
"import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n",
"import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n",
"import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n",
"import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n",
"import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n",
"import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n",
"import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n",
"import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n",
"import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n",
"var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we\u2019ve set an alarm, if we haven\u2019t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n",
"import {Transition} from \"./transition/index.js\";\nimport {SCHEDULED} from \"./transition/schedule.js\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n",
"import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n",
"import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n",
"import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n",
"import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n",
"import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n",
"import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n",
"import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n",
"import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n",
"import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n",
"import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n",
"import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we\u2019re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n",
"import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n",
"import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n",
"import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n",
"import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n",
"import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we\u2019re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n",
"function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n",
"import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n",
"import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n",
"import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n",
"import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n",
"import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we\u2019re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n",
"function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n",
"import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n",
"function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n",
"import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n",
"import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we\u2019re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we\u2019re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n",
"export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(value);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n"
],
"names": [
"array",
"Array",
"prototype",
"slice",
"map",
"ascending",
"a",
"b",
"NaN",
"bin",
"value",
"domain",
"threshold",
"histogram",
"data",
"isArray",
"from",
"i",
"x",
"step",
"n",
"length",
"values",
"xz",
"x0",
"x1",
"tz",
"max",
"tn",
"isFinite",
"Math",
"floor",
"ceil",
"pop",
"m",
"shift",
"bins",
"min",
"push",
"j",
"_",
"arguments",
"thresholds",
"ascendingBisect",
"bisectRight",
"right",
"bisectLeft",
"left",
"bisectCenter",
"center",
"bisector",
"f",
"compare1",
"compare2",
"delta",
"lo",
"hi",
"mid",
"d",
"zero",
"blur",
"r",
"RangeError",
"blurf",
"temp",
"blur2",
"Blur2",
"blurImage",
"radius",
"T",
"S",
"start",
"stop",
"rx",
"ry",
"width",
"height",
"undefined",
"blurx",
"blury",
"blurh",
"blurv",
"w",
"h",
"y",
"radius0",
"sum",
"s",
"bluri",
"t",
"s0",
"s1",
"constant",
"count",
"valueof",
"index",
"empty",
"arrayify",
"cross",
"reduce",
"reducer",
"lengths",
"fill",
"product",
"some",
"cumsum",
"Float64Array",
"v",
"descending",
"deviation",
"sqrt",
"difference",
"others",
"other",
"delete",
"disjoint",
"iterator",
"Symbol",
"set",
"has",
"done",
"next",
"Object",
"is",
"add",
"every",
"test",
"TypeError",
"extent",
"filter",
"Adder",
"constructor",
"this",
"_partials",
"_n",
"p",
"abs",
"valueOf",
"fsum",
"adder",
"fcumsum",
"greatest",
"compare",
"defined",
"maxValue",
"element",
"greatestIndex",
"group",
"keys",
"nest",
"groups",
"flatten",
"flatMap",
"g",
"key",
"flatGroup",
"flatRollup",
"rollups",
"rollup",
"unique",
"indexes",
"Error",
"regroup",
"keyof",
"get",
"groupSort",
"ak",
"av",
"bk",
"bv",
"identity",
"intersection",
"out",
"least",
"minValue",
"leastIndex",
"mapper",
"maxIndex",
"mean",
"median",
"medianIndex",
"merge",
"arrays",
"minIndex",
"mode",
"counts",
"modeValue",
"modeCount",
"nice",
"prestep",
"number",
"numbers",
"pairs",
"pairof",
"pair",
"previous",
"first",
"permute",
"source",
"quantile",
"i0",
"value0",
"subarray",
"quantileSorted",
"quantileIndex",
"Uint32Array",
"quickselect",
"k",
"z",
"log",
"exp",
"sd",
"swap",
"range",
"rank",
"V",
"R",
"compareIndex",
"sort",
"forEach",
"c",
"reverse",
"scan",
"shuffler",
"random",
"i1",
"F",
"ascendingDefined",
"compareDefined",
"subset",
"superset",
"Set",
"o",
"io",
"intern",
"ivalue",
"thresholdFreedmanDiaconis",
"pow",
"thresholdScott",
"cbrt",
"thresholdSturges",
"LN2",
"e10",
"e5",
"e2",
"ticks",
"tickIncrement",
"r0",
"round",
"r1",
"power",
"LN10",
"error",
"tickStep",
"step0",
"step1",
"transpose",
"matrix",
"row",
"union",
"variance",
"zip",
"epsilon",
"translateX",
"translateY",
"scale",
"offset",
"bandwidth",
"entering",
"__axis",
"axis",
"orient",
"tickArguments",
"tickValues",
"tickFormat",
"tickSizeInner",
"tickSizeOuter",
"tickPadding",
"window",
"devicePixelRatio",
"transform",
"context",
"apply",
"format",
"spacing",
"range0",
"range1",
"position",
"copy",
"selection",
"path",
"selectAll",
"tick",
"order",
"tickExit",
"exit",
"tickEnter",
"enter",
"append",
"attr",
"line",
"select",
"text",
"insert",
"transition",
"getAttribute",
"parentNode",
"remove",
"each",
"tickSize",
"axisTop",
"axisRight",
"axisBottom",
"axisLeft",
"Color",
"darker",
"brighter",
"reI",
"reN",
"reP",
"reHex",
"reRgbInteger",
"RegExp",
"reRgbPercent",
"reRgbaInteger",
"reRgbaPercent",
"reHslPercent",
"reHslaPercent",
"named",
"aliceblue",
"antiquewhite",
"aqua",
"aquamarine",
"azure",
"beige",
"bisque",
"black",
"blanchedalmond",
"blue",
"blueviolet",
"brown",
"burlywood",
"cadetblue",
"chartreuse",
"chocolate",
"coral",
"cornflowerblue",
"cornsilk",
"crimson",
"cyan",
"darkblue",
"darkcyan",
"darkgoldenrod",
"darkgray",
"darkgreen",
"darkgrey",
"darkkhaki",
"darkmagenta",
"darkolivegreen",
"darkorange",
"darkorchid",
"darkred",
"darksalmon",
"darkseagreen",
"darkslateblue",
"darkslategray",
"darkslategrey",
"darkturquoise",
"darkviolet",
"deeppink",
"deepskyblue",
"dimgray",
"dimgrey",
"dodgerblue",
"firebrick",
"floralwhite",
"forestgreen",
"fuchsia",
"gainsboro",
"ghostwhite",
"gold",
"goldenrod",
"gray",
"green",
"greenyellow",
"grey",
"honeydew",
"hotpink",
"indianred",
"indigo",
"ivory",
"khaki",
"lavender",
"lavenderblush",
"lawngreen",
"lemonchiffon",
"lightblue",
"lightcoral",
"lightcyan",
"lightgoldenrodyellow",
"lightgray",
"lightgreen",
"lightgrey",
"lightpink",
"lightsalmon",
"lightseagreen",
"lightskyblue",
"lightslategray",
"lightslategrey",
"lightsteelblue",
"lightyellow",
"lime",
"limegreen",
"linen",
"magenta",
"maroon",
"mediumaquamarine",
"mediumblue",
"mediumorchid",
"mediumpurple",
"mediumseagreen",
"mediumslateblue",
"mediumspringgreen",
"mediumturquoise",
"mediumvioletred",
"midnightblue",
"mintcream",
"mistyrose",
"moccasin",
"navajowhite",
"navy",
"oldlace",
"olive",
"olivedrab",
"orange",
"orangered",
"orchid",
"palegoldenrod",
"palegreen",
"paleturquoise",
"palevioletred",
"papayawhip",
"peachpuff",
"peru",
"pink",
"plum",
"powderblue",
"purple",
"rebeccapurple",
"red",
"rosybrown",
"royalblue",
"saddlebrown",
"salmon",
"sandybrown",
"seagreen",
"seashell",
"sienna",
"silver",
"skyblue",
"slateblue",
"slategray",
"slategrey",
"snow",
"springgreen",
"steelblue",
"tan",
"teal",
"thistle",
"tomato",
"turquoise",
"violet",
"wheat",
"white",
"whitesmoke",
"yellow",
"yellowgreen",
"color_formatHex",
"rgb",
"formatHex",
"color_formatRgb",
"formatRgb",
"color",
"l",
"trim",
"toLowerCase",
"exec",
"parseInt",
"rgbn",
"Rgb",
"rgba",
"hsla",
"hasOwnProperty",
"rgbConvert",
"opacity",
"rgb_formatHex",
"hex",
"rgb_formatRgb",
"isNaN",
"toString",
"Hsl",
"hslConvert",
"hsl2rgb",
"m1",
"m2",
"channels",
"assign",
"displayable",
"formatHsl",
"factory",
"extend",
"parent",
"definition",
"create",
"noop",
"dispatch",
"Dispatch",
"parseTypenames",
"typenames",
"types",
"split",
"name",
"indexOf",
"type",
"callback",
"concat",
"on",
"typename",
"call",
"that",
"args",
"cubicInOut",
"locale",
"formatPrefix",
"defaultLocale",
"thousands",
"grouping",
"currency",
"toLocaleString",
"replace",
"formatDecimalParts",
"toExponential",
"coefficient",
"substring",
"join",
"numerals",
"prefixExponent",
"exponent",
"re",
"formatSpecifier",
"specifier",
"match",
"FormatSpecifier",
"align",
"sign",
"symbol",
"comma",
"precision",
"toFixed",
"toPrecision",
"toUpperCase",
"prefixes",
"Number",
"currencyPrefix",
"currencySuffix",
"decimal",
"String",
"percent",
"minus",
"nan",
"newFormat",
"prefix",
"suffix",
"formatType",
"maybeSuffix",
"valuePrefix",
"valueSuffix",
"valueNegative",
"charCodeAt",
"Infinity",
"padding",
"e",
"genericArray",
"nb",
"na",
"basis",
"t1",
"v0",
"v1",
"v2",
"v3",
"t2",
"t3",
"linear",
"gamma",
"nogamma",
"exponential",
"Date",
"setTime",
"isNumberArray",
"ArrayBuffer",
"isView",
"DataView",
"piecewise",
"interpolate",
"I",
"rgbSpline",
"spline",
"colors",
"rgbGamma",
"end",
"reA",
"reB",
"am",
"bm",
"bs",
"bi",
"lastIndex",
"q",
"one",
"degrees",
"PI",
"rotate",
"skewX",
"scaleX",
"scaleY",
"atan2",
"atan",
"interpolateTransform",
"parse",
"pxComma",
"pxParen",
"degParen",
"xa",
"ya",
"xb",
"yb",
"translate",
"interpolateTransformCss",
"interpolateTransformSvg",
"svgNode",
"parseCss",
"DOMMatrix",
"WebKitCSSMatrix",
"isIdentity",
"parseSvg",
"document",
"createElementNS",
"setAttribute",
"baseVal",
"consolidate",
"pi",
"tau",
"tauEpsilon",
"Path",
"_x0",
"_y0",
"_x1",
"_y1",
"moveTo",
"closePath",
"lineTo",
"quadraticCurveTo",
"y1",
"bezierCurveTo",
"x2",
"y2",
"arcTo",
"y0",
"x21",
"y21",
"x01",
"y01",
"l01_2",
"x20",
"y20",
"l21_2",
"l20_2",
"l21",
"l01",
"acos",
"t01",
"t21",
"arc",
"a0",
"a1",
"ccw",
"dx",
"cos",
"dy",
"sin",
"cw",
"da",
"rect",
"band",
"unknown",
"ordinalRange",
"paddingInner",
"paddingOuter",
"rescale",
"rangeRound",
"pointish",
"point",
"constants",
"unit",
"normalize",
"bimap",
"d0",
"d1",
"polymap",
"target",
"clamp",
"transformer",
"untransform",
"output",
"input",
"invert",
"u",
"continuous",
"t0",
"k10",
"k21",
"interpolator",
"r2",
"diverging",
"divergingLog",
"base",
"divergingSymlog",
"divergingPow",
"divergingSqrt",
"initRange",
"initInterpolator",
"linearish",
"maxIter",
"transformLog",
"transformExp",
"transformLogn",
"transformExpn",
"pow10",
"reflect",
"loggish",
"logs",
"pows",
"E",
"log10",
"log2",
"logp",
"powp",
"interval",
"implicit",
"ordinal",
"transformPow",
"transformSqrt",
"transformSquare",
"powish",
"invertExtent",
"quantiles",
"quantize",
"square",
"unsquare",
"radial",
"squared",
"sequential",
"sequentialLog",
"sequentialSymlog",
"sequentialPow",
"sequentialSqrt",
"sequentialQuantile",
"transformSymlog",
"log1p",
"transformSymexp",
"expm1",
"symlogish",
"symlog",
"date",
"calendar",
"tickInterval",
"year",
"month",
"week",
"day",
"hour",
"minute",
"second",
"formatMillisecond",
"formatSecond",
"formatMinute",
"formatHour",
"formatDay",
"formatWeek",
"formatMonth",
"formatYear",
"time",
"utcTime",
"UTC",
"documentElement",
"creatorInherit",
"ownerDocument",
"uri",
"namespaceURI",
"createElement",
"creatorFixed",
"fullname",
"space",
"local",
"nextId",
"Local",
"node",
"id",
"selector",
"matches",
"childMatcher",
"xhtml",
"svg",
"xlink",
"xml",
"xmlns",
"event",
"currentTarget",
"ownerSVGElement",
"createSVGPoint",
"clientX",
"clientY",
"matrixTransform",
"getScreenCTM",
"inverse",
"getBoundingClientRect",
"clientLeft",
"top",
"clientTop",
"pageX",
"pageY",
"events",
"touches",
"querySelector",
"querySelectorAll",
"appendChild",
"attrRemove",
"removeAttribute",
"attrRemoveNS",
"removeAttributeNS",
"attrConstant",
"attrConstantNS",
"setAttributeNS",
"attrFunction",
"attrFunctionNS",
"getAttributeNS",
"classArray",
"string",
"classList",
"ClassList",
"_node",
"_names",
"classedAdd",
"names",
"list",
"classedRemove",
"classedTrue",
"classedFalse",
"classedFunction",
"contains",
"splice",
"selection_cloneShallow",
"clone",
"cloneNode",
"insertBefore",
"nextSibling",
"selection_cloneDeep",
"deep",
"bindIndex",
"update",
"groupLength",
"dataLength",
"__data__",
"bindKey",
"keyValue",
"nodeByKeyValue",
"Map",
"keyValues",
"datum",
"bind",
"parents",
"_parents",
"_groups",
"arraylike",
"enterGroup",
"updateGroup",
"exitGroup",
"_next",
"_enter",
"_exit",
"property",
"dispatchEvent",
"params",
"CustomEvent",
"createEvent",
"initEvent",
"bubbles",
"cancelable",
"detail",
"dispatchConstant",
"dispatchFunction",
"EnterNode",
"_parent",
"child",
"subgroups",
"subgroup",
"htmlRemove",
"innerHTML",
"htmlConstant",
"htmlFunction",
"root",
"Selection",
"selectChild",
"selectChildren",
"nodes",
"size",
"style",
"classed",
"html",
"raise",
"lower",
"constantNull",
"before",
"onenter",
"onupdate",
"onexit",
"previousSibling",
"firstChild",
"groups0",
"groups1",
"m0",
"merges",
"group0",
"group1",
"onRemove",
"__on",
"removeEventListener",
"listener",
"options",
"onAdd",
"contextListener",
"addEventListener",
"compareDocumentPosition",
"propertyRemove",
"propertyConstant",
"propertyFunction",
"removeChild",
"subnode",
"arrayAll",
"find",
"childFirst",
"firstElementChild",
"children",
"childFind",
"childrenFilter",
"compareNode",
"sortgroups",
"sortgroup",
"styleRemove",
"removeProperty",
"styleConstant",
"priority",
"setProperty",
"styleFunction",
"styleValue",
"getPropertyValue",
"getComputedStyle",
"textRemove",
"textContent",
"textConstant",
"textFunction",
"none",
"sourceEvent",
"defaultView",
"arcInnerRadius",
"innerRadius",
"arcOuterRadius",
"outerRadius",
"arcStartAngle",
"startAngle",
"arcEndAngle",
"endAngle",
"arcPadAngle",
"padAngle",
"intersect",
"x3",
"y3",
"x10",
"y10",
"x32",
"y32",
"cornerTangents",
"rc",
"ox",
"oy",
"x11",
"y11",
"x00",
"y00",
"d2",
"D",
"cx0",
"cy0",
"cx1",
"cy1",
"dx0",
"dy0",
"dx1",
"dy1",
"cx",
"cy",
"cornerRadius",
"padRadius",
"buffer",
"a01",
"a11",
"a00",
"a10",
"da0",
"da1",
"ap",
"rp",
"rc0",
"rc1",
"p0",
"p1",
"oc",
"ax",
"ay",
"bx",
"by",
"kc",
"lc",
"centroid",
"curve",
"area",
"defined0",
"x0z",
"y0z",
"areaStart",
"lineStart",
"lineEnd",
"areaEnd",
"arealine",
"lineX0",
"lineY0",
"lineY1",
"lineX1",
"angle",
"lineStartAngle",
"lineEndAngle",
"lineInnerRadius",
"lineOuterRadius",
"_curve",
"_context",
"Basis",
"_line",
"_point",
"BasisClosed",
"_x2",
"_x3",
"_x4",
"_y2",
"_y3",
"_y4",
"BasisOpen",
"Bump",
"_x",
"bumpX",
"bumpY",
"Bundle",
"beta",
"_basis",
"_beta",
"_y",
"custom",
"bundle",
"_k",
"Cardinal",
"tension",
"cardinal",
"CardinalClosed",
"_x5",
"_y5",
"CardinalOpen",
"_l01_a",
"_l01_2a",
"_l12_a",
"_l12_2a",
"_l23_a",
"_l23_2a",
"CatmullRom",
"alpha",
"_alpha",
"x23",
"y23",
"catmullRom",
"CatmullRomClosed",
"CatmullRomOpen",
"Linear",
"LinearClosed",
"slope3",
"h0",
"h1",
"slope2",
"MonotoneX",
"MonotoneY",
"ReflectContext",
"monotoneX",
"monotoneY",
"_t0",
"Natural",
"controlPoints",
"px",
"py",
"curveRadialLinear",
"curveRadial",
"Radial",
"Step",
"_t",
"stepBefore",
"stepAfter",
"lineRadial",
"linkSource",
"linkTarget",
"link",
"argv",
"curveHorizontal",
"curveVertical",
"p2",
"p3",
"linkHorizontal",
"linkVertical",
"linkRadial",
"halfPi",
"asin",
"series",
"yp",
"yn",
"s2",
"si",
"sij0",
"s3",
"sk",
"peaks",
"peak",
"vi",
"vj",
"sums",
"bottom",
"tops",
"bottoms",
"sortValues",
"pie",
"arcs",
"pa",
"stackValue",
"stackSeries",
"stack",
"oz",
"sz",
"symbols",
"draw",
"tan30",
"tan30_2",
"kr",
"kx",
"ky",
"sqrt3",
"timeFormat",
"timeParse",
"utcFormat",
"utcParse",
"dateTime",
"periods",
"days",
"shortDays",
"months",
"shortMonths",
"isoSpecifier",
"formatIso",
"toISOString",
"parseIso",
"localDate",
"H",
"M",
"L",
"setFullYear",
"utcDate",
"setUTCFullYear",
"newDate",
"formatLocale",
"locale_dateTime",
"locale_date",
"locale_time",
"locale_periods",
"locale_weekdays",
"locale_shortWeekdays",
"locale_months",
"locale_shortMonths",
"periodRe",
"formatRe",
"periodLookup",
"formatLookup",
"weekdayRe",
"weekdayLookup",
"shortWeekdayRe",
"shortWeekdayLookup",
"monthRe",
"monthLookup",
"shortMonthRe",
"shortMonthLookup",
"formats",
"getDay",
"getMonth",
"formatDayOfMonth",
"formatMicroseconds",
"formatYearISO",
"formatFullYearISO",
"formatHour24",
"formatHour12",
"formatDayOfYear",
"formatMilliseconds",
"formatMonthNumber",
"formatMinutes",
"getHours",
"formatUnixTimestamp",
"formatUnixTimestampSeconds",
"formatSeconds",
"formatWeekdayNumberMonday",
"formatWeekNumberSunday",
"formatWeekNumberISO",
"formatWeekdayNumberSunday",
"formatWeekNumberMonday",
"formatFullYear",
"formatZone",
"formatLiteralPercent",
"utcFormats",
"getUTCDay",
"getUTCMonth",
"formatUTCDayOfMonth",
"formatUTCMicroseconds",
"formatUTCYearISO",
"formatUTCFullYearISO",
"formatUTCHour24",
"formatUTCHour12",
"formatUTCDayOfYear",
"formatUTCMilliseconds",
"formatUTCMonthNumber",
"formatUTCMinutes",
"getUTCHours",
"formatUTCSeconds",
"formatUTCWeekdayNumberMonday",
"formatUTCWeekNumberSunday",
"formatUTCWeekNumberISO",
"formatUTCWeekdayNumberSunday",
"formatUTCWeekNumberMonday",
"formatUTCYear",
"formatUTCFullYear",
"formatUTCZone",
"parses",
"parseSpecifier",
"parseDayOfMonth",
"parseMicroseconds",
"parseYear",
"parseFullYear",
"parseHour24",
"parseDayOfYear",
"parseMilliseconds",
"parseMonthNumber",
"parseMinutes",
"parseQuarter",
"parseUnixTimestamp",
"parseUnixTimestampSeconds",
"parseSeconds",
"parseWeekdayNumberMonday",
"parseWeekNumberSunday",
"parseWeekNumberISO",
"parseWeekdayNumberSunday",
"parseWeekNumberMonday",
"parseZone",
"parseLiteralPercent",
"pad",
"pads",
"charAt",
"newParse",
"Z",
"Q",
"getUTCFullYear",
"getUTCDate",
"getFullYear",
"getDate",
"W",
"U",
"X",
"numberRe",
"percentRe",
"requoteRe",
"requote",
"getMilliseconds",
"getMinutes",
"getSeconds",
"dISO",
"getTimezoneOffset",
"getUTCMilliseconds",
"getUTCMinutes",
"getUTCSeconds",
"dow",
"UTCdISO",
"setHours",
"setDate",
"durationSecond",
"durationMinute",
"durationHour",
"durationDay",
"durationWeek",
"durationMonth",
"durationYear",
"hours",
"newInterval",
"floori",
"offseti",
"field",
"millisecond",
"milliseconds",
"minutes",
"setMonth",
"seconds",
"ticker",
"tickIntervals",
"utcTicks",
"utcTickInterval",
"timeTicks",
"timeTickInterval",
"utcDay",
"setUTCHours",
"setUTCDate",
"utcDays",
"utcHour",
"setUTCMinutes",
"utcHours",
"utcMinute",
"setUTCSeconds",
"utcMinutes",
"utcMonth",
"setUTCMonth",
"utcMonths",
"utcWeekday",
"utcSunday",
"utcMonday",
"utcTuesday",
"utcWednesday",
"utcThursday",
"utcFriday",
"utcSaturday",
"utcSundays",
"utcMondays",
"utcTuesdays",
"utcWednesdays",
"utcThursdays",
"utcFridays",
"utcSaturdays",
"utcYear",
"utcYears",
"weekday",
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sundays",
"mondays",
"tuesdays",
"wednesdays",
"thursdays",
"fridays",
"saturdays",
"years",
"delay",
"restart",
"elapsed",
"taskHead",
"taskTail",
"frame",
"timeout",
"clockLast",
"clockNow",
"clockSkew",
"clock",
"performance",
"now",
"setFrame",
"requestAnimationFrame",
"setTimeout",
"clearNow",
"Timer",
"_call",
"_time",
"timer",
"wake",
"timerFlush",
"sleep",
"nap",
"poke",
"clearTimeout",
"clearInterval",
"setInterval",
"schedule",
"schedules",
"__transition",
"state",
"active",
"defaultTiming",
"duration",
"ease",
"inherit",
"timing",
"_id",
"_name",
"value1",
"string00",
"interpolate0",
"string1",
"string0",
"string10",
"attrTween",
"attrInterpolate",
"attrInterpolateNS",
"attrTweenNS",
"tween",
"_value",
"delayFunction",
"delayConstant",
"durationFunction",
"durationConstant",
"easeConstant",
"easeVarying",
"on0",
"on1",
"Promise",
"resolve",
"reject",
"cancel",
"interrupt",
"Transition",
"newId",
"selection_prototype",
"styleTween",
"textTween",
"onFunction",
"sit",
"emptyOn",
"emptyTween",
"SCHEDULED",
"STARTING",
"ENDING",
"ENDED",
"self",
"init",
"styleNull",
"listener0",
"styleMaybeRemove",
"styleInterpolate",
"textInterpolate",
"id0",
"id1",
"tweenRemove",
"tween0",
"tween1",
"tweenFunction",
"tweenValue",
"InternMap",
"entries",
"super",
"defineProperties",
"_intern",
"_key",
"intern_get",
"intern_set",
"intern_delete",
"InternSet"
],
"sourceRoot": ""
}

File Metadata

Mime Type
application/json
Expires
Jun 21 2025, 9:38 PM (4 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3344603

Event Timeline