import { __commonJS } from "./chunk-7FP5O474.js"; // node_modules/.pnpm/chroma-js@2.4.2/node_modules/chroma-js/chroma.js var require_chroma = __commonJS({ "node_modules/.pnpm/chroma-js@2.4.2/node_modules/chroma-js/chroma.js"(exports, module) { (function(global, factory) { typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.chroma = factory()); })(exports, function() { "use strict"; var limit$2 = function(x, min2, max2) { if (min2 === void 0) min2 = 0; if (max2 === void 0) max2 = 1; return x < min2 ? min2 : x > max2 ? max2 : x; }; var limit$1 = limit$2; var clip_rgb$3 = function(rgb2) { rgb2._clipped = false; rgb2._unclipped = rgb2.slice(0); for (var i2 = 0; i2 <= 3; i2++) { if (i2 < 3) { if (rgb2[i2] < 0 || rgb2[i2] > 255) { rgb2._clipped = true; } rgb2[i2] = limit$1(rgb2[i2], 0, 255); } else if (i2 === 3) { rgb2[i2] = limit$1(rgb2[i2], 0, 1); } } return rgb2; }; var classToType = {}; for (var i$1 = 0, list$1 = ["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp", "Undefined", "Null"]; i$1 < list$1.length; i$1 += 1) { var name = list$1[i$1]; classToType["[object " + name + "]"] = name.toLowerCase(); } var type$p = function(obj) { return classToType[Object.prototype.toString.call(obj)] || "object"; }; var type$o = type$p; var unpack$B = function(args, keyOrder) { if (keyOrder === void 0) keyOrder = null; if (args.length >= 3) { return Array.prototype.slice.call(args); } if (type$o(args[0]) == "object" && keyOrder) { return keyOrder.split("").filter(function(k) { return args[0][k] !== void 0; }).map(function(k) { return args[0][k]; }); } return args[0]; }; var type$n = type$p; var last$4 = function(args) { if (args.length < 2) { return null; } var l = args.length - 1; if (type$n(args[l]) == "string") { return args[l].toLowerCase(); } return null; }; var PI$2 = Math.PI; var utils = { clip_rgb: clip_rgb$3, limit: limit$2, type: type$p, unpack: unpack$B, last: last$4, PI: PI$2, TWOPI: PI$2 * 2, PITHIRD: PI$2 / 3, DEG2RAD: PI$2 / 180, RAD2DEG: 180 / PI$2 }; var input$h = { format: {}, autodetect: [] }; var last$3 = utils.last; var clip_rgb$2 = utils.clip_rgb; var type$m = utils.type; var _input = input$h; var Color$D = function Color2() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var me = this; if (type$m(args[0]) === "object" && args[0].constructor && args[0].constructor === this.constructor) { return args[0]; } var mode = last$3(args); var autodetect = false; if (!mode) { autodetect = true; if (!_input.sorted) { _input.autodetect = _input.autodetect.sort(function(a, b) { return b.p - a.p; }); _input.sorted = true; } for (var i2 = 0, list2 = _input.autodetect; i2 < list2.length; i2 += 1) { var chk = list2[i2]; mode = chk.test.apply(chk, args); if (mode) { break; } } } if (_input.format[mode]) { var rgb2 = _input.format[mode].apply(null, autodetect ? args : args.slice(0, -1)); me._rgb = clip_rgb$2(rgb2); } else { throw new Error("unknown format: " + args); } if (me._rgb.length === 3) { me._rgb.push(1); } }; Color$D.prototype.toString = function toString() { if (type$m(this.hex) == "function") { return this.hex(); } return "[" + this._rgb.join(",") + "]"; }; var Color_1 = Color$D; var chroma$k = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(chroma$k.Color, [null].concat(args)))(); }; chroma$k.Color = Color_1; chroma$k.version = "2.4.2"; var chroma_1 = chroma$k; var unpack$A = utils.unpack; var max$2 = Math.max; var rgb2cmyk$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$A(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; r = r / 255; g = g / 255; b = b / 255; var k = 1 - max$2(r, max$2(g, b)); var f = k < 1 ? 1 / (1 - k) : 0; var c = (1 - r - k) * f; var m = (1 - g - k) * f; var y = (1 - b - k) * f; return [c, m, y, k]; }; var rgb2cmyk_1 = rgb2cmyk$1; var unpack$z = utils.unpack; var cmyk2rgb = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$z(args, "cmyk"); var c = args[0]; var m = args[1]; var y = args[2]; var k = args[3]; var alpha = args.length > 4 ? args[4] : 1; if (k === 1) { return [0, 0, 0, alpha]; } return [ c >= 1 ? 0 : 255 * (1 - c) * (1 - k), m >= 1 ? 0 : 255 * (1 - m) * (1 - k), y >= 1 ? 0 : 255 * (1 - y) * (1 - k), alpha ]; }; var cmyk2rgb_1 = cmyk2rgb; var chroma$j = chroma_1; var Color$C = Color_1; var input$g = input$h; var unpack$y = utils.unpack; var type$l = utils.type; var rgb2cmyk = rgb2cmyk_1; Color$C.prototype.cmyk = function() { return rgb2cmyk(this._rgb); }; chroma$j.cmyk = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$C, [null].concat(args, ["cmyk"])))(); }; input$g.format.cmyk = cmyk2rgb_1; input$g.autodetect.push({ p: 2, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$y(args, "cmyk"); if (type$l(args) === "array" && args.length === 4) { return "cmyk"; } } }); var unpack$x = utils.unpack; var last$2 = utils.last; var rnd = function(a) { return Math.round(a * 100) / 100; }; var hsl2css$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var hsla = unpack$x(args, "hsla"); var mode = last$2(args) || "lsa"; hsla[0] = rnd(hsla[0] || 0); hsla[1] = rnd(hsla[1] * 100) + "%"; hsla[2] = rnd(hsla[2] * 100) + "%"; if (mode === "hsla" || hsla.length > 3 && hsla[3] < 1) { hsla[3] = hsla.length > 3 ? hsla[3] : 1; mode = "hsla"; } else { hsla.length = 3; } return mode + "(" + hsla.join(",") + ")"; }; var hsl2css_1 = hsl2css$1; var unpack$w = utils.unpack; var rgb2hsl$3 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$w(args, "rgba"); var r = args[0]; var g = args[1]; var b = args[2]; r /= 255; g /= 255; b /= 255; var min2 = Math.min(r, g, b); var max2 = Math.max(r, g, b); var l = (max2 + min2) / 2; var s, h; if (max2 === min2) { s = 0; h = Number.NaN; } else { s = l < 0.5 ? (max2 - min2) / (max2 + min2) : (max2 - min2) / (2 - max2 - min2); } if (r == max2) { h = (g - b) / (max2 - min2); } else if (g == max2) { h = 2 + (b - r) / (max2 - min2); } else if (b == max2) { h = 4 + (r - g) / (max2 - min2); } h *= 60; if (h < 0) { h += 360; } if (args.length > 3 && args[3] !== void 0) { return [h, s, l, args[3]]; } return [h, s, l]; }; var rgb2hsl_1 = rgb2hsl$3; var unpack$v = utils.unpack; var last$1 = utils.last; var hsl2css = hsl2css_1; var rgb2hsl$2 = rgb2hsl_1; var round$6 = Math.round; var rgb2css$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var rgba = unpack$v(args, "rgba"); var mode = last$1(args) || "rgb"; if (mode.substr(0, 3) == "hsl") { return hsl2css(rgb2hsl$2(rgba), mode); } rgba[0] = round$6(rgba[0]); rgba[1] = round$6(rgba[1]); rgba[2] = round$6(rgba[2]); if (mode === "rgba" || rgba.length > 3 && rgba[3] < 1) { rgba[3] = rgba.length > 3 ? rgba[3] : 1; mode = "rgba"; } return mode + "(" + rgba.slice(0, mode === "rgb" ? 3 : 4).join(",") + ")"; }; var rgb2css_1 = rgb2css$1; var unpack$u = utils.unpack; var round$5 = Math.round; var hsl2rgb$1 = function() { var assign; var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$u(args, "hsl"); var h = args[0]; var s = args[1]; var l = args[2]; var r, g, b; if (s === 0) { r = g = b = l * 255; } else { var t3 = [0, 0, 0]; var c = [0, 0, 0]; var t2 = l < 0.5 ? l * (1 + s) : l + s - l * s; var t1 = 2 * l - t2; var h_ = h / 360; t3[0] = h_ + 1 / 3; t3[1] = h_; t3[2] = h_ - 1 / 3; for (var i2 = 0; i2 < 3; i2++) { if (t3[i2] < 0) { t3[i2] += 1; } if (t3[i2] > 1) { t3[i2] -= 1; } if (6 * t3[i2] < 1) { c[i2] = t1 + (t2 - t1) * 6 * t3[i2]; } else if (2 * t3[i2] < 1) { c[i2] = t2; } else if (3 * t3[i2] < 2) { c[i2] = t1 + (t2 - t1) * (2 / 3 - t3[i2]) * 6; } else { c[i2] = t1; } } assign = [round$5(c[0] * 255), round$5(c[1] * 255), round$5(c[2] * 255)], r = assign[0], g = assign[1], b = assign[2]; } if (args.length > 3) { return [r, g, b, args[3]]; } return [r, g, b, 1]; }; var hsl2rgb_1 = hsl2rgb$1; var hsl2rgb = hsl2rgb_1; var input$f = input$h; var RE_RGB = /^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/; var RE_RGBA = /^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/; var RE_RGB_PCT = /^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/; var RE_RGBA_PCT = /^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/; var RE_HSL = /^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/; var RE_HSLA = /^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/; var round$4 = Math.round; var css2rgb$1 = function(css) { css = css.toLowerCase().trim(); var m; if (input$f.format.named) { try { return input$f.format.named(css); } catch (e) { } } if (m = css.match(RE_RGB)) { var rgb2 = m.slice(1, 4); for (var i2 = 0; i2 < 3; i2++) { rgb2[i2] = +rgb2[i2]; } rgb2[3] = 1; return rgb2; } if (m = css.match(RE_RGBA)) { var rgb$1 = m.slice(1, 5); for (var i$12 = 0; i$12 < 4; i$12++) { rgb$1[i$12] = +rgb$1[i$12]; } return rgb$1; } if (m = css.match(RE_RGB_PCT)) { var rgb$2 = m.slice(1, 4); for (var i$2 = 0; i$2 < 3; i$2++) { rgb$2[i$2] = round$4(rgb$2[i$2] * 2.55); } rgb$2[3] = 1; return rgb$2; } if (m = css.match(RE_RGBA_PCT)) { var rgb$3 = m.slice(1, 5); for (var i$3 = 0; i$3 < 3; i$3++) { rgb$3[i$3] = round$4(rgb$3[i$3] * 2.55); } rgb$3[3] = +rgb$3[3]; return rgb$3; } if (m = css.match(RE_HSL)) { var hsl2 = m.slice(1, 4); hsl2[1] *= 0.01; hsl2[2] *= 0.01; var rgb$4 = hsl2rgb(hsl2); rgb$4[3] = 1; return rgb$4; } if (m = css.match(RE_HSLA)) { var hsl$1 = m.slice(1, 4); hsl$1[1] *= 0.01; hsl$1[2] *= 0.01; var rgb$5 = hsl2rgb(hsl$1); rgb$5[3] = +m[4]; return rgb$5; } }; css2rgb$1.test = function(s) { return RE_RGB.test(s) || RE_RGBA.test(s) || RE_RGB_PCT.test(s) || RE_RGBA_PCT.test(s) || RE_HSL.test(s) || RE_HSLA.test(s); }; var css2rgb_1 = css2rgb$1; var chroma$i = chroma_1; var Color$B = Color_1; var input$e = input$h; var type$k = utils.type; var rgb2css = rgb2css_1; var css2rgb = css2rgb_1; Color$B.prototype.css = function(mode) { return rgb2css(this._rgb, mode); }; chroma$i.css = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$B, [null].concat(args, ["css"])))(); }; input$e.format.css = css2rgb; input$e.autodetect.push({ p: 5, test: function(h) { var rest = [], len = arguments.length - 1; while (len-- > 0) rest[len] = arguments[len + 1]; if (!rest.length && type$k(h) === "string" && css2rgb.test(h)) { return "css"; } } }); var Color$A = Color_1; var chroma$h = chroma_1; var input$d = input$h; var unpack$t = utils.unpack; input$d.format.gl = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var rgb2 = unpack$t(args, "rgba"); rgb2[0] *= 255; rgb2[1] *= 255; rgb2[2] *= 255; return rgb2; }; chroma$h.gl = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$A, [null].concat(args, ["gl"])))(); }; Color$A.prototype.gl = function() { var rgb2 = this._rgb; return [rgb2[0] / 255, rgb2[1] / 255, rgb2[2] / 255, rgb2[3]]; }; var unpack$s = utils.unpack; var rgb2hcg$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$s(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; var min2 = Math.min(r, g, b); var max2 = Math.max(r, g, b); var delta = max2 - min2; var c = delta * 100 / 255; var _g = min2 / (255 - delta) * 100; var h; if (delta === 0) { h = Number.NaN; } else { if (r === max2) { h = (g - b) / delta; } if (g === max2) { h = 2 + (b - r) / delta; } if (b === max2) { h = 4 + (r - g) / delta; } h *= 60; if (h < 0) { h += 360; } } return [h, c, _g]; }; var rgb2hcg_1 = rgb2hcg$1; var unpack$r = utils.unpack; var floor$3 = Math.floor; var hcg2rgb = function() { var assign, assign$1, assign$2, assign$3, assign$4, assign$5; var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$r(args, "hcg"); var h = args[0]; var c = args[1]; var _g = args[2]; var r, g, b; _g = _g * 255; var _c = c * 255; if (c === 0) { r = g = b = _g; } else { if (h === 360) { h = 0; } if (h > 360) { h -= 360; } if (h < 0) { h += 360; } h /= 60; var i2 = floor$3(h); var f = h - i2; var p = _g * (1 - c); var q = p + _c * (1 - f); var t = p + _c * f; var v = p + _c; switch (i2) { case 0: assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]; break; case 1: assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]; break; case 2: assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]; break; case 3: assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]; break; case 4: assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]; break; case 5: assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]; break; } } return [r, g, b, args.length > 3 ? args[3] : 1]; }; var hcg2rgb_1 = hcg2rgb; var unpack$q = utils.unpack; var type$j = utils.type; var chroma$g = chroma_1; var Color$z = Color_1; var input$c = input$h; var rgb2hcg = rgb2hcg_1; Color$z.prototype.hcg = function() { return rgb2hcg(this._rgb); }; chroma$g.hcg = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$z, [null].concat(args, ["hcg"])))(); }; input$c.format.hcg = hcg2rgb_1; input$c.autodetect.push({ p: 1, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$q(args, "hcg"); if (type$j(args) === "array" && args.length === 3) { return "hcg"; } } }); var unpack$p = utils.unpack; var last = utils.last; var round$3 = Math.round; var rgb2hex$2 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$p(args, "rgba"); var r = ref[0]; var g = ref[1]; var b = ref[2]; var a = ref[3]; var mode = last(args) || "auto"; if (a === void 0) { a = 1; } if (mode === "auto") { mode = a < 1 ? "rgba" : "rgb"; } r = round$3(r); g = round$3(g); b = round$3(b); var u = r << 16 | g << 8 | b; var str = "000000" + u.toString(16); str = str.substr(str.length - 6); var hxa = "0" + round$3(a * 255).toString(16); hxa = hxa.substr(hxa.length - 2); switch (mode.toLowerCase()) { case "rgba": return "#" + str + hxa; case "argb": return "#" + hxa + str; default: return "#" + str; } }; var rgb2hex_1 = rgb2hex$2; var RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/; var RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/; var hex2rgb$1 = function(hex) { if (hex.match(RE_HEX)) { if (hex.length === 4 || hex.length === 7) { hex = hex.substr(1); } if (hex.length === 3) { hex = hex.split(""); hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; } var u = parseInt(hex, 16); var r = u >> 16; var g = u >> 8 & 255; var b = u & 255; return [r, g, b, 1]; } if (hex.match(RE_HEXA)) { if (hex.length === 5 || hex.length === 9) { hex = hex.substr(1); } if (hex.length === 4) { hex = hex.split(""); hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3]; } var u$1 = parseInt(hex, 16); var r$1 = u$1 >> 24 & 255; var g$1 = u$1 >> 16 & 255; var b$1 = u$1 >> 8 & 255; var a = Math.round((u$1 & 255) / 255 * 100) / 100; return [r$1, g$1, b$1, a]; } throw new Error("unknown hex color: " + hex); }; var hex2rgb_1 = hex2rgb$1; var chroma$f = chroma_1; var Color$y = Color_1; var type$i = utils.type; var input$b = input$h; var rgb2hex$1 = rgb2hex_1; Color$y.prototype.hex = function(mode) { return rgb2hex$1(this._rgb, mode); }; chroma$f.hex = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$y, [null].concat(args, ["hex"])))(); }; input$b.format.hex = hex2rgb_1; input$b.autodetect.push({ p: 4, test: function(h) { var rest = [], len = arguments.length - 1; while (len-- > 0) rest[len] = arguments[len + 1]; if (!rest.length && type$i(h) === "string" && [3, 4, 5, 6, 7, 8, 9].indexOf(h.length) >= 0) { return "hex"; } } }); var unpack$o = utils.unpack; var TWOPI$2 = utils.TWOPI; var min$2 = Math.min; var sqrt$4 = Math.sqrt; var acos = Math.acos; var rgb2hsi$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$o(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; r /= 255; g /= 255; b /= 255; var h; var min_ = min$2(r, g, b); var i2 = (r + g + b) / 3; var s = i2 > 0 ? 1 - min_ / i2 : 0; if (s === 0) { h = NaN; } else { h = (r - g + (r - b)) / 2; h /= sqrt$4((r - g) * (r - g) + (r - b) * (g - b)); h = acos(h); if (b > g) { h = TWOPI$2 - h; } h /= TWOPI$2; } return [h * 360, s, i2]; }; var rgb2hsi_1 = rgb2hsi$1; var unpack$n = utils.unpack; var limit = utils.limit; var TWOPI$1 = utils.TWOPI; var PITHIRD = utils.PITHIRD; var cos$4 = Math.cos; var hsi2rgb = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$n(args, "hsi"); var h = args[0]; var s = args[1]; var i2 = args[2]; var r, g, b; if (isNaN(h)) { h = 0; } if (isNaN(s)) { s = 0; } if (h > 360) { h -= 360; } if (h < 0) { h += 360; } h /= 360; if (h < 1 / 3) { b = (1 - s) / 3; r = (1 + s * cos$4(TWOPI$1 * h) / cos$4(PITHIRD - TWOPI$1 * h)) / 3; g = 1 - (b + r); } else if (h < 2 / 3) { h -= 1 / 3; r = (1 - s) / 3; g = (1 + s * cos$4(TWOPI$1 * h) / cos$4(PITHIRD - TWOPI$1 * h)) / 3; b = 1 - (r + g); } else { h -= 2 / 3; g = (1 - s) / 3; b = (1 + s * cos$4(TWOPI$1 * h) / cos$4(PITHIRD - TWOPI$1 * h)) / 3; r = 1 - (g + b); } r = limit(i2 * r * 3); g = limit(i2 * g * 3); b = limit(i2 * b * 3); return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1]; }; var hsi2rgb_1 = hsi2rgb; var unpack$m = utils.unpack; var type$h = utils.type; var chroma$e = chroma_1; var Color$x = Color_1; var input$a = input$h; var rgb2hsi = rgb2hsi_1; Color$x.prototype.hsi = function() { return rgb2hsi(this._rgb); }; chroma$e.hsi = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$x, [null].concat(args, ["hsi"])))(); }; input$a.format.hsi = hsi2rgb_1; input$a.autodetect.push({ p: 2, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$m(args, "hsi"); if (type$h(args) === "array" && args.length === 3) { return "hsi"; } } }); var unpack$l = utils.unpack; var type$g = utils.type; var chroma$d = chroma_1; var Color$w = Color_1; var input$9 = input$h; var rgb2hsl$1 = rgb2hsl_1; Color$w.prototype.hsl = function() { return rgb2hsl$1(this._rgb); }; chroma$d.hsl = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$w, [null].concat(args, ["hsl"])))(); }; input$9.format.hsl = hsl2rgb_1; input$9.autodetect.push({ p: 2, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$l(args, "hsl"); if (type$g(args) === "array" && args.length === 3) { return "hsl"; } } }); var unpack$k = utils.unpack; var min$1 = Math.min; var max$1 = Math.max; var rgb2hsl = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$k(args, "rgb"); var r = args[0]; var g = args[1]; var b = args[2]; var min_ = min$1(r, g, b); var max_ = max$1(r, g, b); var delta = max_ - min_; var h, s, v; v = max_ / 255; if (max_ === 0) { h = Number.NaN; s = 0; } else { s = delta / max_; if (r === max_) { h = (g - b) / delta; } if (g === max_) { h = 2 + (b - r) / delta; } if (b === max_) { h = 4 + (r - g) / delta; } h *= 60; if (h < 0) { h += 360; } } return [h, s, v]; }; var rgb2hsv$1 = rgb2hsl; var unpack$j = utils.unpack; var floor$2 = Math.floor; var hsv2rgb = function() { var assign, assign$1, assign$2, assign$3, assign$4, assign$5; var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$j(args, "hsv"); var h = args[0]; var s = args[1]; var v = args[2]; var r, g, b; v *= 255; if (s === 0) { r = g = b = v; } else { if (h === 360) { h = 0; } if (h > 360) { h -= 360; } if (h < 0) { h += 360; } h /= 60; var i2 = floor$2(h); var f = h - i2; var p = v * (1 - s); var q = v * (1 - s * f); var t = v * (1 - s * (1 - f)); switch (i2) { case 0: assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]; break; case 1: assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]; break; case 2: assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]; break; case 3: assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]; break; case 4: assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]; break; case 5: assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]; break; } } return [r, g, b, args.length > 3 ? args[3] : 1]; }; var hsv2rgb_1 = hsv2rgb; var unpack$i = utils.unpack; var type$f = utils.type; var chroma$c = chroma_1; var Color$v = Color_1; var input$8 = input$h; var rgb2hsv = rgb2hsv$1; Color$v.prototype.hsv = function() { return rgb2hsv(this._rgb); }; chroma$c.hsv = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$v, [null].concat(args, ["hsv"])))(); }; input$8.format.hsv = hsv2rgb_1; input$8.autodetect.push({ p: 2, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$i(args, "hsv"); if (type$f(args) === "array" && args.length === 3) { return "hsv"; } } }); var labConstants = { Kn: 18, Xn: 0.95047, Yn: 1, Zn: 1.08883, t0: 0.137931034, t1: 0.206896552, t2: 0.12841855, t3: 8856452e-9 }; var LAB_CONSTANTS$3 = labConstants; var unpack$h = utils.unpack; var pow$a = Math.pow; var rgb2lab$2 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$h(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; var ref$1 = rgb2xyz(r, g, b); var x = ref$1[0]; var y = ref$1[1]; var z = ref$1[2]; var l = 116 * y - 16; return [l < 0 ? 0 : l, 500 * (x - y), 200 * (y - z)]; }; var rgb_xyz = function(r) { if ((r /= 255) <= 0.04045) { return r / 12.92; } return pow$a((r + 0.055) / 1.055, 2.4); }; var xyz_lab = function(t) { if (t > LAB_CONSTANTS$3.t3) { return pow$a(t, 1 / 3); } return t / LAB_CONSTANTS$3.t2 + LAB_CONSTANTS$3.t0; }; var rgb2xyz = function(r, g, b) { r = rgb_xyz(r); g = rgb_xyz(g); b = rgb_xyz(b); var x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / LAB_CONSTANTS$3.Xn); var y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.072175 * b) / LAB_CONSTANTS$3.Yn); var z = xyz_lab((0.0193339 * r + 0.119192 * g + 0.9503041 * b) / LAB_CONSTANTS$3.Zn); return [x, y, z]; }; var rgb2lab_1 = rgb2lab$2; var LAB_CONSTANTS$2 = labConstants; var unpack$g = utils.unpack; var pow$9 = Math.pow; var lab2rgb$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$g(args, "lab"); var l = args[0]; var a = args[1]; var b = args[2]; var x, y, z, r, g, b_; y = (l + 16) / 116; x = isNaN(a) ? y : y + a / 500; z = isNaN(b) ? y : y - b / 200; y = LAB_CONSTANTS$2.Yn * lab_xyz(y); x = LAB_CONSTANTS$2.Xn * lab_xyz(x); z = LAB_CONSTANTS$2.Zn * lab_xyz(z); r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z); g = xyz_rgb(-0.969266 * x + 1.8760108 * y + 0.041556 * z); b_ = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z); return [r, g, b_, args.length > 3 ? args[3] : 1]; }; var xyz_rgb = function(r) { return 255 * (r <= 304e-5 ? 12.92 * r : 1.055 * pow$9(r, 1 / 2.4) - 0.055); }; var lab_xyz = function(t) { return t > LAB_CONSTANTS$2.t1 ? t * t * t : LAB_CONSTANTS$2.t2 * (t - LAB_CONSTANTS$2.t0); }; var lab2rgb_1 = lab2rgb$1; var unpack$f = utils.unpack; var type$e = utils.type; var chroma$b = chroma_1; var Color$u = Color_1; var input$7 = input$h; var rgb2lab$1 = rgb2lab_1; Color$u.prototype.lab = function() { return rgb2lab$1(this._rgb); }; chroma$b.lab = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$u, [null].concat(args, ["lab"])))(); }; input$7.format.lab = lab2rgb_1; input$7.autodetect.push({ p: 2, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$f(args, "lab"); if (type$e(args) === "array" && args.length === 3) { return "lab"; } } }); var unpack$e = utils.unpack; var RAD2DEG = utils.RAD2DEG; var sqrt$3 = Math.sqrt; var atan2$2 = Math.atan2; var round$2 = Math.round; var lab2lch$2 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$e(args, "lab"); var l = ref[0]; var a = ref[1]; var b = ref[2]; var c = sqrt$3(a * a + b * b); var h = (atan2$2(b, a) * RAD2DEG + 360) % 360; if (round$2(c * 1e4) === 0) { h = Number.NaN; } return [l, c, h]; }; var lab2lch_1 = lab2lch$2; var unpack$d = utils.unpack; var rgb2lab = rgb2lab_1; var lab2lch$1 = lab2lch_1; var rgb2lch$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$d(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; var ref$1 = rgb2lab(r, g, b); var l = ref$1[0]; var a = ref$1[1]; var b_ = ref$1[2]; return lab2lch$1(l, a, b_); }; var rgb2lch_1 = rgb2lch$1; var unpack$c = utils.unpack; var DEG2RAD = utils.DEG2RAD; var sin$3 = Math.sin; var cos$3 = Math.cos; var lch2lab$2 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$c(args, "lch"); var l = ref[0]; var c = ref[1]; var h = ref[2]; if (isNaN(h)) { h = 0; } h = h * DEG2RAD; return [l, cos$3(h) * c, sin$3(h) * c]; }; var lch2lab_1 = lch2lab$2; var unpack$b = utils.unpack; var lch2lab$1 = lch2lab_1; var lab2rgb = lab2rgb_1; var lch2rgb$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$b(args, "lch"); var l = args[0]; var c = args[1]; var h = args[2]; var ref = lch2lab$1(l, c, h); var L = ref[0]; var a = ref[1]; var b_ = ref[2]; var ref$1 = lab2rgb(L, a, b_); var r = ref$1[0]; var g = ref$1[1]; var b = ref$1[2]; return [r, g, b, args.length > 3 ? args[3] : 1]; }; var lch2rgb_1 = lch2rgb$1; var unpack$a = utils.unpack; var lch2rgb = lch2rgb_1; var hcl2rgb = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var hcl = unpack$a(args, "hcl").reverse(); return lch2rgb.apply(void 0, hcl); }; var hcl2rgb_1 = hcl2rgb; var unpack$9 = utils.unpack; var type$d = utils.type; var chroma$a = chroma_1; var Color$t = Color_1; var input$6 = input$h; var rgb2lch = rgb2lch_1; Color$t.prototype.lch = function() { return rgb2lch(this._rgb); }; Color$t.prototype.hcl = function() { return rgb2lch(this._rgb).reverse(); }; chroma$a.lch = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$t, [null].concat(args, ["lch"])))(); }; chroma$a.hcl = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$t, [null].concat(args, ["hcl"])))(); }; input$6.format.lch = lch2rgb_1; input$6.format.hcl = hcl2rgb_1; ["lch", "hcl"].forEach(function(m) { return input$6.autodetect.push({ p: 2, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$9(args, m); if (type$d(args) === "array" && args.length === 3) { return m; } } }); }); var w3cx11$1 = { aliceblue: "#f0f8ff", antiquewhite: "#faebd7", aqua: "#00ffff", aquamarine: "#7fffd4", azure: "#f0ffff", beige: "#f5f5dc", bisque: "#ffe4c4", black: "#000000", blanchedalmond: "#ffebcd", blue: "#0000ff", blueviolet: "#8a2be2", brown: "#a52a2a", burlywood: "#deb887", cadetblue: "#5f9ea0", chartreuse: "#7fff00", chocolate: "#d2691e", coral: "#ff7f50", cornflower: "#6495ed", cornflowerblue: "#6495ed", cornsilk: "#fff8dc", crimson: "#dc143c", cyan: "#00ffff", darkblue: "#00008b", darkcyan: "#008b8b", darkgoldenrod: "#b8860b", darkgray: "#a9a9a9", darkgreen: "#006400", darkgrey: "#a9a9a9", darkkhaki: "#bdb76b", darkmagenta: "#8b008b", darkolivegreen: "#556b2f", darkorange: "#ff8c00", darkorchid: "#9932cc", darkred: "#8b0000", darksalmon: "#e9967a", darkseagreen: "#8fbc8f", darkslateblue: "#483d8b", darkslategray: "#2f4f4f", darkslategrey: "#2f4f4f", darkturquoise: "#00ced1", darkviolet: "#9400d3", deeppink: "#ff1493", deepskyblue: "#00bfff", dimgray: "#696969", dimgrey: "#696969", dodgerblue: "#1e90ff", firebrick: "#b22222", floralwhite: "#fffaf0", forestgreen: "#228b22", fuchsia: "#ff00ff", gainsboro: "#dcdcdc", ghostwhite: "#f8f8ff", gold: "#ffd700", goldenrod: "#daa520", gray: "#808080", green: "#008000", greenyellow: "#adff2f", grey: "#808080", honeydew: "#f0fff0", hotpink: "#ff69b4", indianred: "#cd5c5c", indigo: "#4b0082", ivory: "#fffff0", khaki: "#f0e68c", laserlemon: "#ffff54", lavender: "#e6e6fa", lavenderblush: "#fff0f5", lawngreen: "#7cfc00", lemonchiffon: "#fffacd", lightblue: "#add8e6", lightcoral: "#f08080", lightcyan: "#e0ffff", lightgoldenrod: "#fafad2", lightgoldenrodyellow: "#fafad2", lightgray: "#d3d3d3", lightgreen: "#90ee90", lightgrey: "#d3d3d3", lightpink: "#ffb6c1", lightsalmon: "#ffa07a", lightseagreen: "#20b2aa", lightskyblue: "#87cefa", lightslategray: "#778899", lightslategrey: "#778899", lightsteelblue: "#b0c4de", lightyellow: "#ffffe0", lime: "#00ff00", limegreen: "#32cd32", linen: "#faf0e6", magenta: "#ff00ff", maroon: "#800000", maroon2: "#7f0000", maroon3: "#b03060", mediumaquamarine: "#66cdaa", mediumblue: "#0000cd", mediumorchid: "#ba55d3", mediumpurple: "#9370db", mediumseagreen: "#3cb371", mediumslateblue: "#7b68ee", mediumspringgreen: "#00fa9a", mediumturquoise: "#48d1cc", mediumvioletred: "#c71585", midnightblue: "#191970", mintcream: "#f5fffa", mistyrose: "#ffe4e1", moccasin: "#ffe4b5", navajowhite: "#ffdead", navy: "#000080", oldlace: "#fdf5e6", olive: "#808000", olivedrab: "#6b8e23", orange: "#ffa500", orangered: "#ff4500", orchid: "#da70d6", palegoldenrod: "#eee8aa", palegreen: "#98fb98", paleturquoise: "#afeeee", palevioletred: "#db7093", papayawhip: "#ffefd5", peachpuff: "#ffdab9", peru: "#cd853f", pink: "#ffc0cb", plum: "#dda0dd", powderblue: "#b0e0e6", purple: "#800080", purple2: "#7f007f", purple3: "#a020f0", rebeccapurple: "#663399", red: "#ff0000", rosybrown: "#bc8f8f", royalblue: "#4169e1", saddlebrown: "#8b4513", salmon: "#fa8072", sandybrown: "#f4a460", seagreen: "#2e8b57", seashell: "#fff5ee", sienna: "#a0522d", silver: "#c0c0c0", skyblue: "#87ceeb", slateblue: "#6a5acd", slategray: "#708090", slategrey: "#708090", snow: "#fffafa", springgreen: "#00ff7f", steelblue: "#4682b4", tan: "#d2b48c", teal: "#008080", thistle: "#d8bfd8", tomato: "#ff6347", turquoise: "#40e0d0", violet: "#ee82ee", wheat: "#f5deb3", white: "#ffffff", whitesmoke: "#f5f5f5", yellow: "#ffff00", yellowgreen: "#9acd32" }; var w3cx11_1 = w3cx11$1; var Color$s = Color_1; var input$5 = input$h; var type$c = utils.type; var w3cx11 = w3cx11_1; var hex2rgb = hex2rgb_1; var rgb2hex = rgb2hex_1; Color$s.prototype.name = function() { var hex = rgb2hex(this._rgb, "rgb"); for (var i2 = 0, list2 = Object.keys(w3cx11); i2 < list2.length; i2 += 1) { var n = list2[i2]; if (w3cx11[n] === hex) { return n.toLowerCase(); } } return hex; }; input$5.format.named = function(name2) { name2 = name2.toLowerCase(); if (w3cx11[name2]) { return hex2rgb(w3cx11[name2]); } throw new Error("unknown color name: " + name2); }; input$5.autodetect.push({ p: 5, test: function(h) { var rest = [], len = arguments.length - 1; while (len-- > 0) rest[len] = arguments[len + 1]; if (!rest.length && type$c(h) === "string" && w3cx11[h.toLowerCase()]) { return "named"; } } }); var unpack$8 = utils.unpack; var rgb2num$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$8(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; return (r << 16) + (g << 8) + b; }; var rgb2num_1 = rgb2num$1; var type$b = utils.type; var num2rgb = function(num2) { if (type$b(num2) == "number" && num2 >= 0 && num2 <= 16777215) { var r = num2 >> 16; var g = num2 >> 8 & 255; var b = num2 & 255; return [r, g, b, 1]; } throw new Error("unknown num color: " + num2); }; var num2rgb_1 = num2rgb; var chroma$9 = chroma_1; var Color$r = Color_1; var input$4 = input$h; var type$a = utils.type; var rgb2num = rgb2num_1; Color$r.prototype.num = function() { return rgb2num(this._rgb); }; chroma$9.num = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$r, [null].concat(args, ["num"])))(); }; input$4.format.num = num2rgb_1; input$4.autodetect.push({ p: 5, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; if (args.length === 1 && type$a(args[0]) === "number" && args[0] >= 0 && args[0] <= 16777215) { return "num"; } } }); var chroma$8 = chroma_1; var Color$q = Color_1; var input$3 = input$h; var unpack$7 = utils.unpack; var type$9 = utils.type; var round$1 = Math.round; Color$q.prototype.rgb = function(rnd2) { if (rnd2 === void 0) rnd2 = true; if (rnd2 === false) { return this._rgb.slice(0, 3); } return this._rgb.slice(0, 3).map(round$1); }; Color$q.prototype.rgba = function(rnd2) { if (rnd2 === void 0) rnd2 = true; return this._rgb.slice(0, 4).map(function(v, i2) { return i2 < 3 ? rnd2 === false ? v : round$1(v) : v; }); }; chroma$8.rgb = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$q, [null].concat(args, ["rgb"])))(); }; input$3.format.rgb = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var rgba = unpack$7(args, "rgba"); if (rgba[3] === void 0) { rgba[3] = 1; } return rgba; }; input$3.autodetect.push({ p: 3, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$7(args, "rgba"); if (type$9(args) === "array" && (args.length === 3 || args.length === 4 && type$9(args[3]) == "number" && args[3] >= 0 && args[3] <= 1)) { return "rgb"; } } }); var log$1 = Math.log; var temperature2rgb$1 = function(kelvin) { var temp = kelvin / 100; var r, g, b; if (temp < 66) { r = 255; g = temp < 6 ? 0 : -155.25485562709179 - 0.44596950469579133 * (g = temp - 2) + 104.49216199393888 * log$1(g); b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp - 10) + 115.67994401066147 * log$1(b); } else { r = 351.97690566805693 + 0.114206453784165 * (r = temp - 55) - 40.25366309332127 * log$1(r); g = 325.4494125711974 + 0.07943456536662342 * (g = temp - 50) - 28.0852963507957 * log$1(g); b = 255; } return [r, g, b, 1]; }; var temperature2rgb_1 = temperature2rgb$1; var temperature2rgb = temperature2rgb_1; var unpack$6 = utils.unpack; var round = Math.round; var rgb2temperature$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var rgb2 = unpack$6(args, "rgb"); var r = rgb2[0], b = rgb2[2]; var minTemp = 1e3; var maxTemp = 4e4; var eps = 0.4; var temp; while (maxTemp - minTemp > eps) { temp = (maxTemp + minTemp) * 0.5; var rgb$1 = temperature2rgb(temp); if (rgb$1[2] / rgb$1[0] >= b / r) { maxTemp = temp; } else { minTemp = temp; } } return round(temp); }; var rgb2temperature_1 = rgb2temperature$1; var chroma$7 = chroma_1; var Color$p = Color_1; var input$2 = input$h; var rgb2temperature = rgb2temperature_1; Color$p.prototype.temp = Color$p.prototype.kelvin = Color$p.prototype.temperature = function() { return rgb2temperature(this._rgb); }; chroma$7.temp = chroma$7.kelvin = chroma$7.temperature = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$p, [null].concat(args, ["temp"])))(); }; input$2.format.temp = input$2.format.kelvin = input$2.format.temperature = temperature2rgb_1; var unpack$5 = utils.unpack; var cbrt = Math.cbrt; var pow$8 = Math.pow; var sign$1 = Math.sign; var rgb2oklab$2 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$5(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; var ref$1 = [rgb2lrgb(r / 255), rgb2lrgb(g / 255), rgb2lrgb(b / 255)]; var lr = ref$1[0]; var lg = ref$1[1]; var lb = ref$1[2]; var l = cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb); var m = cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb); var s = cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb); return [ 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s, 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s, 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s ]; }; var rgb2oklab_1 = rgb2oklab$2; function rgb2lrgb(c) { var abs2 = Math.abs(c); if (abs2 < 0.04045) { return c / 12.92; } return (sign$1(c) || 1) * pow$8((abs2 + 0.055) / 1.055, 2.4); } var unpack$4 = utils.unpack; var pow$7 = Math.pow; var sign = Math.sign; var oklab2rgb$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$4(args, "lab"); var L = args[0]; var a = args[1]; var b = args[2]; var l = pow$7(L + 0.3963377774 * a + 0.2158037573 * b, 3); var m = pow$7(L - 0.1055613458 * a - 0.0638541728 * b, 3); var s = pow$7(L - 0.0894841775 * a - 1.291485548 * b, 3); return [ 255 * lrgb2rgb(4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s), 255 * lrgb2rgb(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s), 255 * lrgb2rgb(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s), args.length > 3 ? args[3] : 1 ]; }; var oklab2rgb_1 = oklab2rgb$1; function lrgb2rgb(c) { var abs2 = Math.abs(c); if (abs2 > 31308e-7) { return (sign(c) || 1) * (1.055 * pow$7(abs2, 1 / 2.4) - 0.055); } return c * 12.92; } var unpack$3 = utils.unpack; var type$8 = utils.type; var chroma$6 = chroma_1; var Color$o = Color_1; var input$1 = input$h; var rgb2oklab$1 = rgb2oklab_1; Color$o.prototype.oklab = function() { return rgb2oklab$1(this._rgb); }; chroma$6.oklab = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$o, [null].concat(args, ["oklab"])))(); }; input$1.format.oklab = oklab2rgb_1; input$1.autodetect.push({ p: 3, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$3(args, "oklab"); if (type$8(args) === "array" && args.length === 3) { return "oklab"; } } }); var unpack$2 = utils.unpack; var rgb2oklab = rgb2oklab_1; var lab2lch = lab2lch_1; var rgb2oklch$1 = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; var ref = unpack$2(args, "rgb"); var r = ref[0]; var g = ref[1]; var b = ref[2]; var ref$1 = rgb2oklab(r, g, b); var l = ref$1[0]; var a = ref$1[1]; var b_ = ref$1[2]; return lab2lch(l, a, b_); }; var rgb2oklch_1 = rgb2oklch$1; var unpack$1 = utils.unpack; var lch2lab = lch2lab_1; var oklab2rgb = oklab2rgb_1; var oklch2rgb = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack$1(args, "lch"); var l = args[0]; var c = args[1]; var h = args[2]; var ref = lch2lab(l, c, h); var L = ref[0]; var a = ref[1]; var b_ = ref[2]; var ref$1 = oklab2rgb(L, a, b_); var r = ref$1[0]; var g = ref$1[1]; var b = ref$1[2]; return [r, g, b, args.length > 3 ? args[3] : 1]; }; var oklch2rgb_1 = oklch2rgb; var unpack = utils.unpack; var type$7 = utils.type; var chroma$5 = chroma_1; var Color$n = Color_1; var input = input$h; var rgb2oklch = rgb2oklch_1; Color$n.prototype.oklch = function() { return rgb2oklch(this._rgb); }; chroma$5.oklch = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; return new (Function.prototype.bind.apply(Color$n, [null].concat(args, ["oklch"])))(); }; input.format.oklch = oklch2rgb_1; input.autodetect.push({ p: 3, test: function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; args = unpack(args, "oklch"); if (type$7(args) === "array" && args.length === 3) { return "oklch"; } } }); var Color$m = Color_1; var type$6 = utils.type; Color$m.prototype.alpha = function(a, mutate) { if (mutate === void 0) mutate = false; if (a !== void 0 && type$6(a) === "number") { if (mutate) { this._rgb[3] = a; return this; } return new Color$m([this._rgb[0], this._rgb[1], this._rgb[2], a], "rgb"); } return this._rgb[3]; }; var Color$l = Color_1; Color$l.prototype.clipped = function() { return this._rgb._clipped || false; }; var Color$k = Color_1; var LAB_CONSTANTS$1 = labConstants; Color$k.prototype.darken = function(amount) { if (amount === void 0) amount = 1; var me = this; var lab2 = me.lab(); lab2[0] -= LAB_CONSTANTS$1.Kn * amount; return new Color$k(lab2, "lab").alpha(me.alpha(), true); }; Color$k.prototype.brighten = function(amount) { if (amount === void 0) amount = 1; return this.darken(-amount); }; Color$k.prototype.darker = Color$k.prototype.darken; Color$k.prototype.brighter = Color$k.prototype.brighten; var Color$j = Color_1; Color$j.prototype.get = function(mc) { var ref = mc.split("."); var mode = ref[0]; var channel = ref[1]; var src = this[mode](); if (channel) { var i2 = mode.indexOf(channel) - (mode.substr(0, 2) === "ok" ? 2 : 0); if (i2 > -1) { return src[i2]; } throw new Error("unknown channel " + channel + " in mode " + mode); } else { return src; } }; var Color$i = Color_1; var type$5 = utils.type; var pow$6 = Math.pow; var EPS = 1e-7; var MAX_ITER = 20; Color$i.prototype.luminance = function(lum) { if (lum !== void 0 && type$5(lum) === "number") { if (lum === 0) { return new Color$i([0, 0, 0, this._rgb[3]], "rgb"); } if (lum === 1) { return new Color$i([255, 255, 255, this._rgb[3]], "rgb"); } var cur_lum = this.luminance(); var mode = "rgb"; var max_iter = MAX_ITER; var test = function(low, high) { var mid = low.interpolate(high, 0.5, mode); var lm = mid.luminance(); if (Math.abs(lum - lm) < EPS || !max_iter--) { return mid; } return lm > lum ? test(low, mid) : test(mid, high); }; var rgb2 = (cur_lum > lum ? test(new Color$i([0, 0, 0]), this) : test(this, new Color$i([255, 255, 255]))).rgb(); return new Color$i(rgb2.concat([this._rgb[3]])); } return rgb2luminance.apply(void 0, this._rgb.slice(0, 3)); }; var rgb2luminance = function(r, g, b) { r = luminance_x(r); g = luminance_x(g); b = luminance_x(b); return 0.2126 * r + 0.7152 * g + 0.0722 * b; }; var luminance_x = function(x) { x /= 255; return x <= 0.03928 ? x / 12.92 : pow$6((x + 0.055) / 1.055, 2.4); }; var interpolator$1 = {}; var Color$h = Color_1; var type$4 = utils.type; var interpolator = interpolator$1; var mix$1 = function(col1, col2, f) { if (f === void 0) f = 0.5; var rest = [], len = arguments.length - 3; while (len-- > 0) rest[len] = arguments[len + 3]; var mode = rest[0] || "lrgb"; if (!interpolator[mode] && !rest.length) { mode = Object.keys(interpolator)[0]; } if (!interpolator[mode]) { throw new Error("interpolation mode " + mode + " is not defined"); } if (type$4(col1) !== "object") { col1 = new Color$h(col1); } if (type$4(col2) !== "object") { col2 = new Color$h(col2); } return interpolator[mode](col1, col2, f).alpha(col1.alpha() + f * (col2.alpha() - col1.alpha())); }; var Color$g = Color_1; var mix = mix$1; Color$g.prototype.mix = Color$g.prototype.interpolate = function(col2, f) { if (f === void 0) f = 0.5; var rest = [], len = arguments.length - 2; while (len-- > 0) rest[len] = arguments[len + 2]; return mix.apply(void 0, [this, col2, f].concat(rest)); }; var Color$f = Color_1; Color$f.prototype.premultiply = function(mutate) { if (mutate === void 0) mutate = false; var rgb2 = this._rgb; var a = rgb2[3]; if (mutate) { this._rgb = [rgb2[0] * a, rgb2[1] * a, rgb2[2] * a, a]; return this; } else { return new Color$f([rgb2[0] * a, rgb2[1] * a, rgb2[2] * a, a], "rgb"); } }; var Color$e = Color_1; var LAB_CONSTANTS = labConstants; Color$e.prototype.saturate = function(amount) { if (amount === void 0) amount = 1; var me = this; var lch2 = me.lch(); lch2[1] += LAB_CONSTANTS.Kn * amount; if (lch2[1] < 0) { lch2[1] = 0; } return new Color$e(lch2, "lch").alpha(me.alpha(), true); }; Color$e.prototype.desaturate = function(amount) { if (amount === void 0) amount = 1; return this.saturate(-amount); }; var Color$d = Color_1; var type$3 = utils.type; Color$d.prototype.set = function(mc, value, mutate) { if (mutate === void 0) mutate = false; var ref = mc.split("."); var mode = ref[0]; var channel = ref[1]; var src = this[mode](); if (channel) { var i2 = mode.indexOf(channel) - (mode.substr(0, 2) === "ok" ? 2 : 0); if (i2 > -1) { if (type$3(value) == "string") { switch (value.charAt(0)) { case "+": src[i2] += +value; break; case "-": src[i2] += +value; break; case "*": src[i2] *= +value.substr(1); break; case "/": src[i2] /= +value.substr(1); break; default: src[i2] = +value; } } else if (type$3(value) === "number") { src[i2] = value; } else { throw new Error("unsupported value for Color.set"); } var out = new Color$d(src, mode); if (mutate) { this._rgb = out._rgb; return this; } return out; } throw new Error("unknown channel " + channel + " in mode " + mode); } else { return src; } }; var Color$c = Color_1; var rgb = function(col1, col2, f) { var xyz0 = col1._rgb; var xyz1 = col2._rgb; return new Color$c(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), "rgb"); }; interpolator$1.rgb = rgb; var Color$b = Color_1; var sqrt$2 = Math.sqrt; var pow$5 = Math.pow; var lrgb = function(col1, col2, f) { var ref = col1._rgb; var x1 = ref[0]; var y1 = ref[1]; var z1 = ref[2]; var ref$1 = col2._rgb; var x2 = ref$1[0]; var y2 = ref$1[1]; var z2 = ref$1[2]; return new Color$b(sqrt$2(pow$5(x1, 2) * (1 - f) + pow$5(x2, 2) * f), sqrt$2(pow$5(y1, 2) * (1 - f) + pow$5(y2, 2) * f), sqrt$2(pow$5(z1, 2) * (1 - f) + pow$5(z2, 2) * f), "rgb"); }; interpolator$1.lrgb = lrgb; var Color$a = Color_1; var lab = function(col1, col2, f) { var xyz0 = col1.lab(); var xyz1 = col2.lab(); return new Color$a(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), "lab"); }; interpolator$1.lab = lab; var Color$9 = Color_1; var _hsx = function(col1, col2, f, m) { var assign, assign$1; var xyz0, xyz1; if (m === "hsl") { xyz0 = col1.hsl(); xyz1 = col2.hsl(); } else if (m === "hsv") { xyz0 = col1.hsv(); xyz1 = col2.hsv(); } else if (m === "hcg") { xyz0 = col1.hcg(); xyz1 = col2.hcg(); } else if (m === "hsi") { xyz0 = col1.hsi(); xyz1 = col2.hsi(); } else if (m === "lch" || m === "hcl") { m = "hcl"; xyz0 = col1.hcl(); xyz1 = col2.hcl(); } else if (m === "oklch") { xyz0 = col1.oklch().reverse(); xyz1 = col2.oklch().reverse(); } var hue0, hue1, sat0, sat1, lbv0, lbv1; if (m.substr(0, 1) === "h" || m === "oklch") { assign = xyz0, hue0 = assign[0], sat0 = assign[1], lbv0 = assign[2]; assign$1 = xyz1, hue1 = assign$1[0], sat1 = assign$1[1], lbv1 = assign$1[2]; } var sat, hue, lbv, dh; if (!isNaN(hue0) && !isNaN(hue1)) { if (hue1 > hue0 && hue1 - hue0 > 180) { dh = hue1 - (hue0 + 360); } else if (hue1 < hue0 && hue0 - hue1 > 180) { dh = hue1 + 360 - hue0; } else { dh = hue1 - hue0; } hue = hue0 + f * dh; } else if (!isNaN(hue0)) { hue = hue0; if ((lbv1 == 1 || lbv1 == 0) && m != "hsv") { sat = sat0; } } else if (!isNaN(hue1)) { hue = hue1; if ((lbv0 == 1 || lbv0 == 0) && m != "hsv") { sat = sat1; } } else { hue = Number.NaN; } if (sat === void 0) { sat = sat0 + f * (sat1 - sat0); } lbv = lbv0 + f * (lbv1 - lbv0); return m === "oklch" ? new Color$9([lbv, sat, hue], m) : new Color$9([hue, sat, lbv], m); }; var interpolate_hsx$5 = _hsx; var lch = function(col1, col2, f) { return interpolate_hsx$5(col1, col2, f, "lch"); }; interpolator$1.lch = lch; interpolator$1.hcl = lch; var Color$8 = Color_1; var num = function(col1, col2, f) { var c1 = col1.num(); var c2 = col2.num(); return new Color$8(c1 + f * (c2 - c1), "num"); }; interpolator$1.num = num; var interpolate_hsx$4 = _hsx; var hcg = function(col1, col2, f) { return interpolate_hsx$4(col1, col2, f, "hcg"); }; interpolator$1.hcg = hcg; var interpolate_hsx$3 = _hsx; var hsi = function(col1, col2, f) { return interpolate_hsx$3(col1, col2, f, "hsi"); }; interpolator$1.hsi = hsi; var interpolate_hsx$2 = _hsx; var hsl = function(col1, col2, f) { return interpolate_hsx$2(col1, col2, f, "hsl"); }; interpolator$1.hsl = hsl; var interpolate_hsx$1 = _hsx; var hsv = function(col1, col2, f) { return interpolate_hsx$1(col1, col2, f, "hsv"); }; interpolator$1.hsv = hsv; var Color$7 = Color_1; var oklab = function(col1, col2, f) { var xyz0 = col1.oklab(); var xyz1 = col2.oklab(); return new Color$7(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), "oklab"); }; interpolator$1.oklab = oklab; var interpolate_hsx = _hsx; var oklch = function(col1, col2, f) { return interpolate_hsx(col1, col2, f, "oklch"); }; interpolator$1.oklch = oklch; var Color$6 = Color_1; var clip_rgb$1 = utils.clip_rgb; var pow$4 = Math.pow; var sqrt$1 = Math.sqrt; var PI$1 = Math.PI; var cos$2 = Math.cos; var sin$2 = Math.sin; var atan2$1 = Math.atan2; var average = function(colors, mode, weights) { if (mode === void 0) mode = "lrgb"; if (weights === void 0) weights = null; var l = colors.length; if (!weights) { weights = Array.from(new Array(l)).map(function() { return 1; }); } var k = l / weights.reduce(function(a, b) { return a + b; }); weights.forEach(function(w, i3) { weights[i3] *= k; }); colors = colors.map(function(c) { return new Color$6(c); }); if (mode === "lrgb") { return _average_lrgb(colors, weights); } var first = colors.shift(); var xyz = first.get(mode); var cnt = []; var dx = 0; var dy = 0; for (var i2 = 0; i2 < xyz.length; i2++) { xyz[i2] = (xyz[i2] || 0) * weights[0]; cnt.push(isNaN(xyz[i2]) ? 0 : weights[0]); if (mode.charAt(i2) === "h" && !isNaN(xyz[i2])) { var A = xyz[i2] / 180 * PI$1; dx += cos$2(A) * weights[0]; dy += sin$2(A) * weights[0]; } } var alpha = first.alpha() * weights[0]; colors.forEach(function(c, ci) { var xyz2 = c.get(mode); alpha += c.alpha() * weights[ci + 1]; for (var i3 = 0; i3 < xyz.length; i3++) { if (!isNaN(xyz2[i3])) { cnt[i3] += weights[ci + 1]; if (mode.charAt(i3) === "h") { var A2 = xyz2[i3] / 180 * PI$1; dx += cos$2(A2) * weights[ci + 1]; dy += sin$2(A2) * weights[ci + 1]; } else { xyz[i3] += xyz2[i3] * weights[ci + 1]; } } } }); for (var i$12 = 0; i$12 < xyz.length; i$12++) { if (mode.charAt(i$12) === "h") { var A$1 = atan2$1(dy / cnt[i$12], dx / cnt[i$12]) / PI$1 * 180; while (A$1 < 0) { A$1 += 360; } while (A$1 >= 360) { A$1 -= 360; } xyz[i$12] = A$1; } else { xyz[i$12] = xyz[i$12] / cnt[i$12]; } } alpha /= l; return new Color$6(xyz, mode).alpha(alpha > 0.99999 ? 1 : alpha, true); }; var _average_lrgb = function(colors, weights) { var l = colors.length; var xyz = [0, 0, 0, 0]; for (var i2 = 0; i2 < colors.length; i2++) { var col = colors[i2]; var f = weights[i2] / l; var rgb2 = col._rgb; xyz[0] += pow$4(rgb2[0], 2) * f; xyz[1] += pow$4(rgb2[1], 2) * f; xyz[2] += pow$4(rgb2[2], 2) * f; xyz[3] += rgb2[3] * f; } xyz[0] = sqrt$1(xyz[0]); xyz[1] = sqrt$1(xyz[1]); xyz[2] = sqrt$1(xyz[2]); if (xyz[3] > 0.9999999) { xyz[3] = 1; } return new Color$6(clip_rgb$1(xyz)); }; var chroma$4 = chroma_1; var type$2 = utils.type; var pow$3 = Math.pow; var scale$2 = function(colors) { var _mode = "rgb"; var _nacol = chroma$4("#ccc"); var _spread = 0; var _domain = [0, 1]; var _pos = []; var _padding = [0, 0]; var _classes = false; var _colors = []; var _out = false; var _min = 0; var _max = 1; var _correctLightness = false; var _colorCache = {}; var _useCache = true; var _gamma = 1; var setColors = function(colors2) { colors2 = colors2 || ["#fff", "#000"]; if (colors2 && type$2(colors2) === "string" && chroma$4.brewer && chroma$4.brewer[colors2.toLowerCase()]) { colors2 = chroma$4.brewer[colors2.toLowerCase()]; } if (type$2(colors2) === "array") { if (colors2.length === 1) { colors2 = [colors2[0], colors2[0]]; } colors2 = colors2.slice(0); for (var c = 0; c < colors2.length; c++) { colors2[c] = chroma$4(colors2[c]); } _pos.length = 0; for (var c$1 = 0; c$1 < colors2.length; c$1++) { _pos.push(c$1 / (colors2.length - 1)); } } resetCache(); return _colors = colors2; }; var getClass = function(value) { if (_classes != null) { var n = _classes.length - 1; var i2 = 0; while (i2 < n && value >= _classes[i2]) { i2++; } return i2 - 1; } return 0; }; var tMapLightness = function(t) { return t; }; var tMapDomain = function(t) { return t; }; var getColor = function(val, bypassMap) { var col, t; if (bypassMap == null) { bypassMap = false; } if (isNaN(val) || val === null) { return _nacol; } if (!bypassMap) { if (_classes && _classes.length > 2) { var c = getClass(val); t = c / (_classes.length - 2); } else if (_max !== _min) { t = (val - _min) / (_max - _min); } else { t = 1; } } else { t = val; } t = tMapDomain(t); if (!bypassMap) { t = tMapLightness(t); } if (_gamma !== 1) { t = pow$3(t, _gamma); } t = _padding[0] + t * (1 - _padding[0] - _padding[1]); t = Math.min(1, Math.max(0, t)); var k = Math.floor(t * 1e4); if (_useCache && _colorCache[k]) { col = _colorCache[k]; } else { if (type$2(_colors) === "array") { for (var i2 = 0; i2 < _pos.length; i2++) { var p = _pos[i2]; if (t <= p) { col = _colors[i2]; break; } if (t >= p && i2 === _pos.length - 1) { col = _colors[i2]; break; } if (t > p && t < _pos[i2 + 1]) { t = (t - p) / (_pos[i2 + 1] - p); col = chroma$4.interpolate(_colors[i2], _colors[i2 + 1], t, _mode); break; } } } else if (type$2(_colors) === "function") { col = _colors(t); } if (_useCache) { _colorCache[k] = col; } } return col; }; var resetCache = function() { return _colorCache = {}; }; setColors(colors); var f = function(v) { var c = chroma$4(getColor(v)); if (_out && c[_out]) { return c[_out](); } else { return c; } }; f.classes = function(classes) { if (classes != null) { if (type$2(classes) === "array") { _classes = classes; _domain = [classes[0], classes[classes.length - 1]]; } else { var d = chroma$4.analyze(_domain); if (classes === 0) { _classes = [d.min, d.max]; } else { _classes = chroma$4.limits(d, "e", classes); } } return f; } return _classes; }; f.domain = function(domain) { if (!arguments.length) { return _domain; } _min = domain[0]; _max = domain[domain.length - 1]; _pos = []; var k = _colors.length; if (domain.length === k && _min !== _max) { for (var i2 = 0, list2 = Array.from(domain); i2 < list2.length; i2 += 1) { var d = list2[i2]; _pos.push((d - _min) / (_max - _min)); } } else { for (var c = 0; c < k; c++) { _pos.push(c / (k - 1)); } if (domain.length > 2) { var tOut = domain.map(function(d2, i3) { return i3 / (domain.length - 1); }); var tBreaks = domain.map(function(d2) { return (d2 - _min) / (_max - _min); }); if (!tBreaks.every(function(val, i3) { return tOut[i3] === val; })) { tMapDomain = function(t) { if (t <= 0 || t >= 1) { return t; } var i3 = 0; while (t >= tBreaks[i3 + 1]) { i3++; } var f2 = (t - tBreaks[i3]) / (tBreaks[i3 + 1] - tBreaks[i3]); var out = tOut[i3] + f2 * (tOut[i3 + 1] - tOut[i3]); return out; }; } } } _domain = [_min, _max]; return f; }; f.mode = function(_m) { if (!arguments.length) { return _mode; } _mode = _m; resetCache(); return f; }; f.range = function(colors2, _pos2) { setColors(colors2); return f; }; f.out = function(_o) { _out = _o; return f; }; f.spread = function(val) { if (!arguments.length) { return _spread; } _spread = val; return f; }; f.correctLightness = function(v) { if (v == null) { v = true; } _correctLightness = v; resetCache(); if (_correctLightness) { tMapLightness = function(t) { var L0 = getColor(0, true).lab()[0]; var L1 = getColor(1, true).lab()[0]; var pol = L0 > L1; var L_actual = getColor(t, true).lab()[0]; var L_ideal = L0 + (L1 - L0) * t; var L_diff = L_actual - L_ideal; var t0 = 0; var t1 = 1; var max_iter = 20; while (Math.abs(L_diff) > 0.01 && max_iter-- > 0) { (function() { if (pol) { L_diff *= -1; } if (L_diff < 0) { t0 = t; t += (t1 - t) * 0.5; } else { t1 = t; t += (t0 - t) * 0.5; } L_actual = getColor(t, true).lab()[0]; return L_diff = L_actual - L_ideal; })(); } return t; }; } else { tMapLightness = function(t) { return t; }; } return f; }; f.padding = function(p) { if (p != null) { if (type$2(p) === "number") { p = [p, p]; } _padding = p; return f; } else { return _padding; } }; f.colors = function(numColors, out) { if (arguments.length < 2) { out = "hex"; } var result = []; if (arguments.length === 0) { result = _colors.slice(0); } else if (numColors === 1) { result = [f(0.5)]; } else if (numColors > 1) { var dm = _domain[0]; var dd = _domain[1] - dm; result = __range__(0, numColors, false).map(function(i3) { return f(dm + i3 / (numColors - 1) * dd); }); } else { colors = []; var samples = []; if (_classes && _classes.length > 2) { for (var i2 = 1, end = _classes.length, asc = 1 <= end; asc ? i2 < end : i2 > end; asc ? i2++ : i2--) { samples.push((_classes[i2 - 1] + _classes[i2]) * 0.5); } } else { samples = _domain; } result = samples.map(function(v) { return f(v); }); } if (chroma$4[out]) { result = result.map(function(c) { return c[out](); }); } return result; }; f.cache = function(c) { if (c != null) { _useCache = c; return f; } else { return _useCache; } }; f.gamma = function(g) { if (g != null) { _gamma = g; return f; } else { return _gamma; } }; f.nodata = function(d) { if (d != null) { _nacol = chroma$4(d); return f; } else { return _nacol; } }; return f; }; function __range__(left, right, inclusive) { var range = []; var ascending = left < right; var end = !inclusive ? right : ascending ? right + 1 : right - 1; for (var i2 = left; ascending ? i2 < end : i2 > end; ascending ? i2++ : i2--) { range.push(i2); } return range; } var Color$5 = Color_1; var scale$1 = scale$2; var binom_row = function(n) { var row = [1, 1]; for (var i2 = 1; i2 < n; i2++) { var newrow = [1]; for (var j = 1; j <= row.length; j++) { newrow[j] = (row[j] || 0) + row[j - 1]; } row = newrow; } return row; }; var bezier = function(colors) { var assign, assign$1, assign$2; var I, lab0, lab1, lab2; colors = colors.map(function(c) { return new Color$5(c); }); if (colors.length === 2) { assign = colors.map(function(c) { return c.lab(); }), lab0 = assign[0], lab1 = assign[1]; I = function(t) { var lab4 = [0, 1, 2].map(function(i2) { return lab0[i2] + t * (lab1[i2] - lab0[i2]); }); return new Color$5(lab4, "lab"); }; } else if (colors.length === 3) { assign$1 = colors.map(function(c) { return c.lab(); }), lab0 = assign$1[0], lab1 = assign$1[1], lab2 = assign$1[2]; I = function(t) { var lab4 = [0, 1, 2].map(function(i2) { return (1 - t) * (1 - t) * lab0[i2] + 2 * (1 - t) * t * lab1[i2] + t * t * lab2[i2]; }); return new Color$5(lab4, "lab"); }; } else if (colors.length === 4) { var lab3; assign$2 = colors.map(function(c) { return c.lab(); }), lab0 = assign$2[0], lab1 = assign$2[1], lab2 = assign$2[2], lab3 = assign$2[3]; I = function(t) { var lab4 = [0, 1, 2].map(function(i2) { return (1 - t) * (1 - t) * (1 - t) * lab0[i2] + 3 * (1 - t) * (1 - t) * t * lab1[i2] + 3 * (1 - t) * t * t * lab2[i2] + t * t * t * lab3[i2]; }); return new Color$5(lab4, "lab"); }; } else if (colors.length >= 5) { var labs, row, n; labs = colors.map(function(c) { return c.lab(); }); n = colors.length - 1; row = binom_row(n); I = function(t) { var u = 1 - t; var lab4 = [0, 1, 2].map(function(i2) { return labs.reduce(function(sum, el, j) { return sum + row[j] * Math.pow(u, n - j) * Math.pow(t, j) * el[i2]; }, 0); }); return new Color$5(lab4, "lab"); }; } else { throw new RangeError("No point in running bezier with only one color."); } return I; }; var bezier_1 = function(colors) { var f = bezier(colors); f.scale = function() { return scale$1(f); }; return f; }; var chroma$3 = chroma_1; var blend = function(bottom, top, mode) { if (!blend[mode]) { throw new Error("unknown blend mode " + mode); } return blend[mode](bottom, top); }; var blend_f = function(f) { return function(bottom, top) { var c0 = chroma$3(top).rgb(); var c1 = chroma$3(bottom).rgb(); return chroma$3.rgb(f(c0, c1)); }; }; var each = function(f) { return function(c0, c1) { var out = []; out[0] = f(c0[0], c1[0]); out[1] = f(c0[1], c1[1]); out[2] = f(c0[2], c1[2]); return out; }; }; var normal = function(a) { return a; }; var multiply = function(a, b) { return a * b / 255; }; var darken = function(a, b) { return a > b ? b : a; }; var lighten = function(a, b) { return a > b ? a : b; }; var screen = function(a, b) { return 255 * (1 - (1 - a / 255) * (1 - b / 255)); }; var overlay = function(a, b) { return b < 128 ? 2 * a * b / 255 : 255 * (1 - 2 * (1 - a / 255) * (1 - b / 255)); }; var burn = function(a, b) { return 255 * (1 - (1 - b / 255) / (a / 255)); }; var dodge = function(a, b) { if (a === 255) { return 255; } a = 255 * (b / 255) / (1 - a / 255); return a > 255 ? 255 : a; }; blend.normal = blend_f(each(normal)); blend.multiply = blend_f(each(multiply)); blend.screen = blend_f(each(screen)); blend.overlay = blend_f(each(overlay)); blend.darken = blend_f(each(darken)); blend.lighten = blend_f(each(lighten)); blend.dodge = blend_f(each(dodge)); blend.burn = blend_f(each(burn)); var blend_1 = blend; var type$1 = utils.type; var clip_rgb = utils.clip_rgb; var TWOPI = utils.TWOPI; var pow$2 = Math.pow; var sin$1 = Math.sin; var cos$1 = Math.cos; var chroma$2 = chroma_1; var cubehelix = function(start, rotations, hue, gamma, lightness) { if (start === void 0) start = 300; if (rotations === void 0) rotations = -1.5; if (hue === void 0) hue = 1; if (gamma === void 0) gamma = 1; if (lightness === void 0) lightness = [0, 1]; var dh = 0, dl; if (type$1(lightness) === "array") { dl = lightness[1] - lightness[0]; } else { dl = 0; lightness = [lightness, lightness]; } var f = function(fract) { var a = TWOPI * ((start + 120) / 360 + rotations * fract); var l = pow$2(lightness[0] + dl * fract, gamma); var h = dh !== 0 ? hue[0] + fract * dh : hue; var amp = h * l * (1 - l) / 2; var cos_a = cos$1(a); var sin_a = sin$1(a); var r = l + amp * (-0.14861 * cos_a + 1.78277 * sin_a); var g = l + amp * (-0.29227 * cos_a - 0.90649 * sin_a); var b = l + amp * (1.97294 * cos_a); return chroma$2(clip_rgb([r * 255, g * 255, b * 255, 1])); }; f.start = function(s) { if (s == null) { return start; } start = s; return f; }; f.rotations = function(r) { if (r == null) { return rotations; } rotations = r; return f; }; f.gamma = function(g) { if (g == null) { return gamma; } gamma = g; return f; }; f.hue = function(h) { if (h == null) { return hue; } hue = h; if (type$1(hue) === "array") { dh = hue[1] - hue[0]; if (dh === 0) { hue = hue[1]; } } else { dh = 0; } return f; }; f.lightness = function(h) { if (h == null) { return lightness; } if (type$1(h) === "array") { lightness = h; dl = h[1] - h[0]; } else { lightness = [h, h]; dl = 0; } return f; }; f.scale = function() { return chroma$2.scale(f); }; f.hue(hue); return f; }; var Color$4 = Color_1; var digits = "0123456789abcdef"; var floor$1 = Math.floor; var random = Math.random; var random_1 = function() { var code = "#"; for (var i2 = 0; i2 < 6; i2++) { code += digits.charAt(floor$1(random() * 16)); } return new Color$4(code, "hex"); }; var type = type$p; var log = Math.log; var pow$1 = Math.pow; var floor = Math.floor; var abs$1 = Math.abs; var analyze = function(data, key2) { if (key2 === void 0) key2 = null; var r = { min: Number.MAX_VALUE, max: Number.MAX_VALUE * -1, sum: 0, values: [], count: 0 }; if (type(data) === "object") { data = Object.values(data); } data.forEach(function(val) { if (key2 && type(val) === "object") { val = val[key2]; } if (val !== void 0 && val !== null && !isNaN(val)) { r.values.push(val); r.sum += val; if (val < r.min) { r.min = val; } if (val > r.max) { r.max = val; } r.count += 1; } }); r.domain = [r.min, r.max]; r.limits = function(mode, num2) { return limits(r, mode, num2); }; return r; }; var limits = function(data, mode, num2) { if (mode === void 0) mode = "equal"; if (num2 === void 0) num2 = 7; if (type(data) == "array") { data = analyze(data); } var min2 = data.min; var max2 = data.max; var values = data.values.sort(function(a, b) { return a - b; }); if (num2 === 1) { return [min2, max2]; } var limits2 = []; if (mode.substr(0, 1) === "c") { limits2.push(min2); limits2.push(max2); } if (mode.substr(0, 1) === "e") { limits2.push(min2); for (var i2 = 1; i2 < num2; i2++) { limits2.push(min2 + i2 / num2 * (max2 - min2)); } limits2.push(max2); } else if (mode.substr(0, 1) === "l") { if (min2 <= 0) { throw new Error("Logarithmic scales are only possible for values > 0"); } var min_log = Math.LOG10E * log(min2); var max_log = Math.LOG10E * log(max2); limits2.push(min2); for (var i$12 = 1; i$12 < num2; i$12++) { limits2.push(pow$1(10, min_log + i$12 / num2 * (max_log - min_log))); } limits2.push(max2); } else if (mode.substr(0, 1) === "q") { limits2.push(min2); for (var i$2 = 1; i$2 < num2; i$2++) { var p = (values.length - 1) * i$2 / num2; var pb = floor(p); if (pb === p) { limits2.push(values[pb]); } else { var pr = p - pb; limits2.push(values[pb] * (1 - pr) + values[pb + 1] * pr); } } limits2.push(max2); } else if (mode.substr(0, 1) === "k") { var cluster; var n = values.length; var assignments = new Array(n); var clusterSizes = new Array(num2); var repeat = true; var nb_iters = 0; var centroids = null; centroids = []; centroids.push(min2); for (var i$3 = 1; i$3 < num2; i$3++) { centroids.push(min2 + i$3 / num2 * (max2 - min2)); } centroids.push(max2); while (repeat) { for (var j = 0; j < num2; j++) { clusterSizes[j] = 0; } for (var i$4 = 0; i$4 < n; i$4++) { var value = values[i$4]; var mindist = Number.MAX_VALUE; var best = void 0; for (var j$1 = 0; j$1 < num2; j$1++) { var dist = abs$1(centroids[j$1] - value); if (dist < mindist) { mindist = dist; best = j$1; } clusterSizes[best]++; assignments[i$4] = best; } } var newCentroids = new Array(num2); for (var j$2 = 0; j$2 < num2; j$2++) { newCentroids[j$2] = null; } for (var i$5 = 0; i$5 < n; i$5++) { cluster = assignments[i$5]; if (newCentroids[cluster] === null) { newCentroids[cluster] = values[i$5]; } else { newCentroids[cluster] += values[i$5]; } } for (var j$3 = 0; j$3 < num2; j$3++) { newCentroids[j$3] *= 1 / clusterSizes[j$3]; } repeat = false; for (var j$4 = 0; j$4 < num2; j$4++) { if (newCentroids[j$4] !== centroids[j$4]) { repeat = true; break; } } centroids = newCentroids; nb_iters++; if (nb_iters > 200) { repeat = false; } } var kClusters = {}; for (var j$5 = 0; j$5 < num2; j$5++) { kClusters[j$5] = []; } for (var i$6 = 0; i$6 < n; i$6++) { cluster = assignments[i$6]; kClusters[cluster].push(values[i$6]); } var tmpKMeansBreaks = []; for (var j$6 = 0; j$6 < num2; j$6++) { tmpKMeansBreaks.push(kClusters[j$6][0]); tmpKMeansBreaks.push(kClusters[j$6][kClusters[j$6].length - 1]); } tmpKMeansBreaks = tmpKMeansBreaks.sort(function(a, b) { return a - b; }); limits2.push(tmpKMeansBreaks[0]); for (var i$7 = 1; i$7 < tmpKMeansBreaks.length; i$7 += 2) { var v = tmpKMeansBreaks[i$7]; if (!isNaN(v) && limits2.indexOf(v) === -1) { limits2.push(v); } } } return limits2; }; var analyze_1 = { analyze, limits }; var Color$3 = Color_1; var contrast = function(a, b) { a = new Color$3(a); b = new Color$3(b); var l1 = a.luminance(); var l2 = b.luminance(); return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05); }; var Color$2 = Color_1; var sqrt = Math.sqrt; var pow = Math.pow; var min = Math.min; var max = Math.max; var atan2 = Math.atan2; var abs = Math.abs; var cos = Math.cos; var sin = Math.sin; var exp = Math.exp; var PI = Math.PI; var deltaE = function(a, b, Kl, Kc, Kh) { if (Kl === void 0) Kl = 1; if (Kc === void 0) Kc = 1; if (Kh === void 0) Kh = 1; var rad2deg = function(rad) { return 360 * rad / (2 * PI); }; var deg2rad = function(deg) { return 2 * PI * deg / 360; }; a = new Color$2(a); b = new Color$2(b); var ref = Array.from(a.lab()); var L1 = ref[0]; var a1 = ref[1]; var b1 = ref[2]; var ref$1 = Array.from(b.lab()); var L2 = ref$1[0]; var a2 = ref$1[1]; var b2 = ref$1[2]; var avgL = (L1 + L2) / 2; var C1 = sqrt(pow(a1, 2) + pow(b1, 2)); var C2 = sqrt(pow(a2, 2) + pow(b2, 2)); var avgC = (C1 + C2) / 2; var G = 0.5 * (1 - sqrt(pow(avgC, 7) / (pow(avgC, 7) + pow(25, 7)))); var a1p = a1 * (1 + G); var a2p = a2 * (1 + G); var C1p = sqrt(pow(a1p, 2) + pow(b1, 2)); var C2p = sqrt(pow(a2p, 2) + pow(b2, 2)); var avgCp = (C1p + C2p) / 2; var arctan1 = rad2deg(atan2(b1, a1p)); var arctan2 = rad2deg(atan2(b2, a2p)); var h1p = arctan1 >= 0 ? arctan1 : arctan1 + 360; var h2p = arctan2 >= 0 ? arctan2 : arctan2 + 360; var avgHp = abs(h1p - h2p) > 180 ? (h1p + h2p + 360) / 2 : (h1p + h2p) / 2; var T = 1 - 0.17 * cos(deg2rad(avgHp - 30)) + 0.24 * cos(deg2rad(2 * avgHp)) + 0.32 * cos(deg2rad(3 * avgHp + 6)) - 0.2 * cos(deg2rad(4 * avgHp - 63)); var deltaHp = h2p - h1p; deltaHp = abs(deltaHp) <= 180 ? deltaHp : h2p <= h1p ? deltaHp + 360 : deltaHp - 360; deltaHp = 2 * sqrt(C1p * C2p) * sin(deg2rad(deltaHp) / 2); var deltaL = L2 - L1; var deltaCp = C2p - C1p; var sl = 1 + 0.015 * pow(avgL - 50, 2) / sqrt(20 + pow(avgL - 50, 2)); var sc = 1 + 0.045 * avgCp; var sh = 1 + 0.015 * avgCp * T; var deltaTheta = 30 * exp(-pow((avgHp - 275) / 25, 2)); var Rc = 2 * sqrt(pow(avgCp, 7) / (pow(avgCp, 7) + pow(25, 7))); var Rt = -Rc * sin(2 * deg2rad(deltaTheta)); var result = sqrt(pow(deltaL / (Kl * sl), 2) + pow(deltaCp / (Kc * sc), 2) + pow(deltaHp / (Kh * sh), 2) + Rt * (deltaCp / (Kc * sc)) * (deltaHp / (Kh * sh))); return max(0, min(100, result)); }; var Color$1 = Color_1; var distance = function(a, b, mode) { if (mode === void 0) mode = "lab"; a = new Color$1(a); b = new Color$1(b); var l1 = a.get(mode); var l2 = b.get(mode); var sum_sq = 0; for (var i2 in l1) { var d = (l1[i2] || 0) - (l2[i2] || 0); sum_sq += d * d; } return Math.sqrt(sum_sq); }; var Color = Color_1; var valid = function() { var args = [], len = arguments.length; while (len--) args[len] = arguments[len]; try { new (Function.prototype.bind.apply(Color, [null].concat(args)))(); return true; } catch (e) { return false; } }; var chroma$1 = chroma_1; var scale = scale$2; var scales = { cool: function cool() { return scale([chroma$1.hsl(180, 1, 0.9), chroma$1.hsl(250, 0.7, 0.4)]); }, hot: function hot() { return scale(["#000", "#f00", "#ff0", "#fff"]).mode("rgb"); } }; var colorbrewer = { OrRd: ["#fff7ec", "#fee8c8", "#fdd49e", "#fdbb84", "#fc8d59", "#ef6548", "#d7301f", "#b30000", "#7f0000"], PuBu: ["#fff7fb", "#ece7f2", "#d0d1e6", "#a6bddb", "#74a9cf", "#3690c0", "#0570b0", "#045a8d", "#023858"], BuPu: ["#f7fcfd", "#e0ecf4", "#bfd3e6", "#9ebcda", "#8c96c6", "#8c6bb1", "#88419d", "#810f7c", "#4d004b"], Oranges: ["#fff5eb", "#fee6ce", "#fdd0a2", "#fdae6b", "#fd8d3c", "#f16913", "#d94801", "#a63603", "#7f2704"], BuGn: ["#f7fcfd", "#e5f5f9", "#ccece6", "#99d8c9", "#66c2a4", "#41ae76", "#238b45", "#006d2c", "#00441b"], YlOrBr: ["#ffffe5", "#fff7bc", "#fee391", "#fec44f", "#fe9929", "#ec7014", "#cc4c02", "#993404", "#662506"], YlGn: ["#ffffe5", "#f7fcb9", "#d9f0a3", "#addd8e", "#78c679", "#41ab5d", "#238443", "#006837", "#004529"], Reds: ["#fff5f0", "#fee0d2", "#fcbba1", "#fc9272", "#fb6a4a", "#ef3b2c", "#cb181d", "#a50f15", "#67000d"], RdPu: ["#fff7f3", "#fde0dd", "#fcc5c0", "#fa9fb5", "#f768a1", "#dd3497", "#ae017e", "#7a0177", "#49006a"], Greens: ["#f7fcf5", "#e5f5e0", "#c7e9c0", "#a1d99b", "#74c476", "#41ab5d", "#238b45", "#006d2c", "#00441b"], YlGnBu: ["#ffffd9", "#edf8b1", "#c7e9b4", "#7fcdbb", "#41b6c4", "#1d91c0", "#225ea8", "#253494", "#081d58"], Purples: ["#fcfbfd", "#efedf5", "#dadaeb", "#bcbddc", "#9e9ac8", "#807dba", "#6a51a3", "#54278f", "#3f007d"], GnBu: ["#f7fcf0", "#e0f3db", "#ccebc5", "#a8ddb5", "#7bccc4", "#4eb3d3", "#2b8cbe", "#0868ac", "#084081"], Greys: ["#ffffff", "#f0f0f0", "#d9d9d9", "#bdbdbd", "#969696", "#737373", "#525252", "#252525", "#000000"], YlOrRd: ["#ffffcc", "#ffeda0", "#fed976", "#feb24c", "#fd8d3c", "#fc4e2a", "#e31a1c", "#bd0026", "#800026"], PuRd: ["#f7f4f9", "#e7e1ef", "#d4b9da", "#c994c7", "#df65b0", "#e7298a", "#ce1256", "#980043", "#67001f"], Blues: ["#f7fbff", "#deebf7", "#c6dbef", "#9ecae1", "#6baed6", "#4292c6", "#2171b5", "#08519c", "#08306b"], PuBuGn: ["#fff7fb", "#ece2f0", "#d0d1e6", "#a6bddb", "#67a9cf", "#3690c0", "#02818a", "#016c59", "#014636"], Viridis: ["#440154", "#482777", "#3f4a8a", "#31678e", "#26838f", "#1f9d8a", "#6cce5a", "#b6de2b", "#fee825"], Spectral: ["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#ffffbf", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2"], RdYlGn: ["#a50026", "#d73027", "#f46d43", "#fdae61", "#fee08b", "#ffffbf", "#d9ef8b", "#a6d96a", "#66bd63", "#1a9850", "#006837"], RdBu: ["#67001f", "#b2182b", "#d6604d", "#f4a582", "#fddbc7", "#f7f7f7", "#d1e5f0", "#92c5de", "#4393c3", "#2166ac", "#053061"], PiYG: ["#8e0152", "#c51b7d", "#de77ae", "#f1b6da", "#fde0ef", "#f7f7f7", "#e6f5d0", "#b8e186", "#7fbc41", "#4d9221", "#276419"], PRGn: ["#40004b", "#762a83", "#9970ab", "#c2a5cf", "#e7d4e8", "#f7f7f7", "#d9f0d3", "#a6dba0", "#5aae61", "#1b7837", "#00441b"], RdYlBu: ["#a50026", "#d73027", "#f46d43", "#fdae61", "#fee090", "#ffffbf", "#e0f3f8", "#abd9e9", "#74add1", "#4575b4", "#313695"], BrBG: ["#543005", "#8c510a", "#bf812d", "#dfc27d", "#f6e8c3", "#f5f5f5", "#c7eae5", "#80cdc1", "#35978f", "#01665e", "#003c30"], RdGy: ["#67001f", "#b2182b", "#d6604d", "#f4a582", "#fddbc7", "#ffffff", "#e0e0e0", "#bababa", "#878787", "#4d4d4d", "#1a1a1a"], PuOr: ["#7f3b08", "#b35806", "#e08214", "#fdb863", "#fee0b6", "#f7f7f7", "#d8daeb", "#b2abd2", "#8073ac", "#542788", "#2d004b"], Set2: ["#66c2a5", "#fc8d62", "#8da0cb", "#e78ac3", "#a6d854", "#ffd92f", "#e5c494", "#b3b3b3"], Accent: ["#7fc97f", "#beaed4", "#fdc086", "#ffff99", "#386cb0", "#f0027f", "#bf5b17", "#666666"], Set1: ["#e41a1c", "#377eb8", "#4daf4a", "#984ea3", "#ff7f00", "#ffff33", "#a65628", "#f781bf", "#999999"], Set3: ["#8dd3c7", "#ffffb3", "#bebada", "#fb8072", "#80b1d3", "#fdb462", "#b3de69", "#fccde5", "#d9d9d9", "#bc80bd", "#ccebc5", "#ffed6f"], Dark2: ["#1b9e77", "#d95f02", "#7570b3", "#e7298a", "#66a61e", "#e6ab02", "#a6761d", "#666666"], Paired: ["#a6cee3", "#1f78b4", "#b2df8a", "#33a02c", "#fb9a99", "#e31a1c", "#fdbf6f", "#ff7f00", "#cab2d6", "#6a3d9a", "#ffff99", "#b15928"], Pastel2: ["#b3e2cd", "#fdcdac", "#cbd5e8", "#f4cae4", "#e6f5c9", "#fff2ae", "#f1e2cc", "#cccccc"], Pastel1: ["#fbb4ae", "#b3cde3", "#ccebc5", "#decbe4", "#fed9a6", "#ffffcc", "#e5d8bd", "#fddaec", "#f2f2f2"] }; for (var i = 0, list = Object.keys(colorbrewer); i < list.length; i += 1) { var key = list[i]; colorbrewer[key.toLowerCase()] = colorbrewer[key]; } var colorbrewer_1 = colorbrewer; var chroma = chroma_1; chroma.average = average; chroma.bezier = bezier_1; chroma.blend = blend_1; chroma.cubehelix = cubehelix; chroma.mix = chroma.interpolate = mix$1; chroma.random = random_1; chroma.scale = scale$2; chroma.analyze = analyze_1.analyze; chroma.contrast = contrast; chroma.deltaE = deltaE; chroma.distance = distance; chroma.limits = analyze_1.limits; chroma.valid = valid; chroma.scales = scales; chroma.colors = w3cx11_1; chroma.brewer = colorbrewer_1; var chroma_js = chroma; return chroma_js; }); } }); // dep:chroma-js var chroma_js_default = require_chroma(); export { chroma_js_default as default }; /** * chroma.js - JavaScript library for color conversions * * Copyright (c) 2011-2019, Gregor Aisch * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. The name Gregor Aisch may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * ------------------------------------------------------- * * chroma.js includes colors from colorbrewer2.org, which are released under * the following license: * * Copyright (c) 2002 Cynthia Brewer, Mark Harrower, * and The Pennsylvania State University. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific * language governing permissions and limitations under the License. * * ------------------------------------------------------ * * Named colors are taken from X11 Color Names. * http://www.w3.org/TR/css3-color/#svg-color * * @preserve */ //# sourceMappingURL=chroma-js.js.map